X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=vswitchd%2Fbridge.c;h=9097e6b213c7e274a1a02e811c57ae4ffdec2ac1;hb=f19f25a44b30f090d5cad0c51414998c4ddbae6a;hp=feb1c5d83d70c65d210f4d760964de943dec8c9a;hpb=f4b6076acab233cfe02e7eaefdeafbb69dfae556;p=openvswitch diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index feb1c5d8..9097e6b2 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -158,19 +158,11 @@ struct bridge { struct list node; /* Node in global list of bridges. */ char *name; /* User-specified arbitrary name. */ struct mac_learning *ml; /* MAC learning table. */ - bool sent_config_request; /* Successfully sent config request? */ uint8_t default_ea[ETH_ADDR_LEN]; /* Default MAC. */ /* OpenFlow switch processing. */ struct ofproto *ofproto; /* OpenFlow switch. */ - /* Description strings. */ - char *mfr_desc; /* Manufacturer. */ - char *hw_desc; /* Hardware. */ - char *sw_desc; /* Software version. */ - char *serial_desc; /* Serial number. */ - char *dp_desc; /* Datapath description. */ - /* Kernel datapath information. */ struct dpif *dpif; /* Datapath. */ struct port_array ifaces; /* Indexed by kernel datapath port number. */ @@ -187,9 +179,6 @@ struct bridge { /* Flow tracking. */ bool flush; - /* Flow statistics gathering. */ - time_t next_stats_request; - /* Port mirroring. */ struct mirror *mirrors[MAX_MIRRORS]; @@ -1202,7 +1191,6 @@ bridge_create(const struct ovsrec_bridge *br_cfg) br->name = xstrdup(br_cfg->name); br->cfg = br_cfg; br->ml = mac_learning_create(); - br->sent_config_request = false; eth_addr_nicira_random(br->default_ea); port_array_init(&br->ifaces); @@ -1340,75 +1328,6 @@ bridge_get_controllers(const struct ovsrec_open_vswitch *ovs_cfg, return n_controllers; } -static void -bridge_update_desc(struct bridge *br OVS_UNUSED) -{ -#if 0 - bool changed = false; - const char *desc; - - desc = cfg_get_string(0, "bridge.%s.mfr-desc", br->name); - if (desc != br->mfr_desc) { - free(br->mfr_desc); - if (desc) { - br->mfr_desc = xstrdup(desc); - } else { - br->mfr_desc = xstrdup(DEFAULT_MFR_DESC); - } - changed = true; - } - - desc = cfg_get_string(0, "bridge.%s.hw-desc", br->name); - if (desc != br->hw_desc) { - free(br->hw_desc); - if (desc) { - br->hw_desc = xstrdup(desc); - } else { - br->hw_desc = xstrdup(DEFAULT_HW_DESC); - } - changed = true; - } - - desc = cfg_get_string(0, "bridge.%s.sw-desc", br->name); - if (desc != br->sw_desc) { - free(br->sw_desc); - if (desc) { - br->sw_desc = xstrdup(desc); - } else { - br->sw_desc = xstrdup(DEFAULT_SW_DESC); - } - changed = true; - } - - desc = cfg_get_string(0, "bridge.%s.serial-desc", br->name); - if (desc != br->serial_desc) { - free(br->serial_desc); - if (desc) { - br->serial_desc = xstrdup(desc); - } else { - br->serial_desc = xstrdup(DEFAULT_SERIAL_DESC); - } - changed = true; - } - - desc = cfg_get_string(0, "bridge.%s.dp-desc", br->name); - if (desc != br->dp_desc) { - free(br->dp_desc); - if (desc) { - br->dp_desc = xstrdup(desc); - } else { - br->dp_desc = xstrdup(DEFAULT_DP_DESC); - } - changed = true; - } - - if (changed) { - ofproto_set_desc(br->ofproto, br->mfr_desc, br->hw_desc, - br->sw_desc, br->serial_desc, br->dp_desc); - } -#endif -} - static void bridge_reconfigure_one(const struct ovsrec_open_vswitch *ovs_cfg, struct bridge *br) @@ -1489,50 +1408,7 @@ bridge_reconfigure_one(const struct ovsrec_open_vswitch *ovs_cfg, * versa. (XXX Should we delete all flows if we are switching from one * controller to another?) */ -#if 0 - /* Configure OpenFlow management listeners. */ - svec_init(&listeners); - cfg_get_all_strings(&listeners, "bridge.%s.openflow.listeners", br->name); - if (!listeners.n) { - svec_add_nocopy(&listeners, xasprintf("punix:%s/%s.mgmt", - ovs_rundir, br->name)); - } else if (listeners.n == 1 && !strcmp(listeners.names[0], "none")) { - svec_clear(&listeners); - } - svec_sort_unique(&listeners); - - svec_init(&old_listeners); - ofproto_get_listeners(br->ofproto, &old_listeners); - svec_sort_unique(&old_listeners); - - if (!svec_equal(&listeners, &old_listeners)) { - ofproto_set_listeners(br->ofproto, &listeners); - } - svec_destroy(&listeners); - svec_destroy(&old_listeners); - - /* Configure OpenFlow controller connection snooping. */ - svec_init(&snoops); - cfg_get_all_strings(&snoops, "bridge.%s.openflow.snoops", br->name); - if (!snoops.n) { - svec_add_nocopy(&snoops, xasprintf("punix:%s/%s.snoop", - ovs_rundir, br->name)); - } else if (snoops.n == 1 && !strcmp(snoops.names[0], "none")) { - svec_clear(&snoops); - } - svec_sort_unique(&snoops); - - svec_init(&old_snoops); - ofproto_get_snoops(br->ofproto, &old_snoops); - svec_sort_unique(&old_snoops); - - if (!svec_equal(&snoops, &old_snoops)) { - ofproto_set_snoops(br->ofproto, &snoops); - } - svec_destroy(&snoops); - svec_destroy(&old_snoops); -#else - /* Default listener. */ + /* Configure OpenFlow management listener. */ svec_init(&listeners); svec_add_nocopy(&listeners, xasprintf("punix:%s/%s.mgmt", ovs_rundir, br->name)); @@ -1544,7 +1420,7 @@ bridge_reconfigure_one(const struct ovsrec_open_vswitch *ovs_cfg, svec_destroy(&listeners); svec_destroy(&old_listeners); - /* Default snoop. */ + /* Configure OpenFlow controller connection snooping. */ svec_init(&snoops); svec_add_nocopy(&snoops, xasprintf("punix:%s/%s.snoop", ovs_rundir, br->name)); @@ -1555,11 +1431,8 @@ bridge_reconfigure_one(const struct ovsrec_open_vswitch *ovs_cfg, } svec_destroy(&snoops); svec_destroy(&old_snoops); -#endif mirror_reconfigure(br); - - bridge_update_desc(br); } static void