Exemple #1
0
/* 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);
}
Exemple #2
0
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;
}
Exemple #3
0
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;
}