Exemple #1
0
void
test_flowdb_switch_mode(void) {
  size_t i;
  enum switch_mode mode, origmode;
  static const enum switch_mode modes[] = {
    SWITCH_MODE_OPENFLOW,
    SWITCH_MODE_SECURE,
    SWITCH_MODE_STANDALONE,
  };

  TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == flowdb_switch_mode_get(flowdb,
                   &origmode));

  for (i = 0; i < sizeof(modes) / sizeof(modes[0]); i++) {
    mode = modes[i];
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == flowdb_switch_mode_set(flowdb, mode));
    mode = 0;
    TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == flowdb_switch_mode_get(flowdb, &mode));
    TEST_ASSERT_TRUE(modes[i] == mode);
  }

  TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == flowdb_switch_mode_set(flowdb,
                   origmode));
}
Exemple #2
0
lagopus_result_t
dpmgr_switch_mode_get(uint64_t dpid, enum switch_mode *switch_mode) {
  lagopus_result_t ret = LAGOPUS_RESULT_ANY_FAILURES;
  struct dpmgr *dpmgr = NULL;
  struct bridge *bridge = NULL;

  dpmgr = dpmgr_get_instance();
  if (dpmgr != NULL) {
    bridge = bridge_lookup_by_dpid(&dpmgr->bridge_list, dpid);
    if (bridge != NULL) {
      ret = flowdb_switch_mode_get(bridge->flowdb, switch_mode);
    } else {
      lagopus_msg_warning("Not found bridge.\n");
      ret = LAGOPUS_RESULT_NOT_FOUND;
    }
  } else {
    lagopus_msg_warning("Not found dpmgr.\n");
    ret = LAGOPUS_RESULT_NOT_FOUND;
  }

  return ret;
}