X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=vswitchd%2Fbridge.c;h=96bd99749ab2820b6d4127e2a2ac89e472e58fc9;hb=6a3d683b9bb70636442588badb39486658fdeafa;hp=d161c4c14c6a5113d5a5f8f43406bb0c53b7c105;hpb=8cdec7256967ce4d9abd7aa55778181b6fa3bae8;p=cascardo%2Fovs.git diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c index d161c4c14..96bd99749 100644 --- a/vswitchd/bridge.c +++ b/vswitchd/bridge.c @@ -1417,7 +1417,7 @@ bridge_configure_flow_eviction_threshold(struct bridge *br) if (threshold_str) { threshold = strtoul(threshold_str, NULL, 10); } else { - threshold = OFPROTO_FLOW_EVICTON_THRESHOLD_DEFAULT; + threshold = OFPROTO_FLOW_EVICTION_THRESHOLD_DEFAULT; } ofproto_set_flow_eviction_threshold(br->ofproto, threshold); } @@ -3312,12 +3312,24 @@ iface_configure_cfm(struct iface *iface) const char *opstate_str; const char *cfm_ccm_vlan; struct cfm_settings s; + struct smap netdev_args; if (!cfg->n_cfm_mpid) { ofproto_port_clear_cfm(iface->port->bridge->ofproto, iface->ofp_port); return; } + s.check_tnl_key = false; + smap_init(&netdev_args); + if (!netdev_get_config(iface->netdev, &netdev_args)) { + const char *key = smap_get(&netdev_args, "key"); + const char *in_key = smap_get(&netdev_args, "in_key"); + + s.check_tnl_key = (key && !strcmp(key, "flow")) + || (in_key && !strcmp(in_key, "flow")); + } + smap_destroy(&netdev_args); + s.mpid = *cfg->cfm_mpid; s.interval = smap_get_int(&iface->cfg->other_config, "cfm_interval", 0); cfm_ccm_vlan = smap_get(&iface->cfg->other_config, "cfm_ccm_vlan"); @@ -3690,10 +3702,10 @@ collect_splinter_vlans(const struct ovsrec_open_vswitch *ovs_cfg) if (!netdev_open(vlan_dev->name, "system", &netdev)) { if (!netdev_get_in4(netdev, NULL, NULL) || !netdev_get_in6(netdev, NULL)) { - vlandev_del(vlan_dev->name); - } else { /* It has an IP address configured, so we don't own * it. Don't delete it. */ + } else { + vlandev_del(vlan_dev->name); } netdev_close(netdev); }