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)); }
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; }