/* Bridge free. */ void bridge_free(struct bridge *bridge) { if (bridge->ports != NULL) { struct port *port; vindex_t i, max; max = bridge->ports->allocated; for (i = 0; i < max; i++) { port = vector_slot(bridge->ports, i); if (port == NULL) { continue; } port->bridge = NULL; } vector_free(bridge->ports); } if (bridge->flowdb != NULL) { #ifdef HAVE_DPDK clear_worker_flowcache(true); #endif /* HAVE_DPDK */ flowdb_free(bridge->flowdb); } if (bridge->group_table != NULL) { group_table_free(bridge->group_table); } if (bridge->meter_table != NULL) { meter_table_free(bridge->meter_table); } if (bridge->controller_address != NULL) { free(bridge->controller_address); } free(bridge); }
void tearDown(void) { TEST_ASSERT_NOT_NULL(bridge); TEST_ASSERT_NOT_NULL(flowdb); TEST_ASSERT_NOT_NULL(ports); TEST_ASSERT_NOT_NULL(group_table); TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == dp_bridge_destroy(bridge_name)); lagopus_hashmap_destroy(&ports, false); group_table_free(group_table); ports = NULL; group_table = NULL; flowdb = NULL; bridge = NULL; }
void tearDown(void) { TEST_ASSERT_NOT_NULL(dpmgr); TEST_ASSERT_NOT_NULL(bridge); TEST_ASSERT_NOT_NULL(flowdb); TEST_ASSERT_NOT_NULL(ports); TEST_ASSERT_NOT_NULL(group_table); TEST_ASSERT_TRUE(LAGOPUS_RESULT_OK == dpmgr_bridge_delete(dpmgr, bridge_name)); ports_free(ports); group_table_free(group_table); dpmgr_free(dpmgr); ports = NULL; group_table = NULL; flowdb = NULL; bridge = NULL; dpmgr = NULL; }