summaryrefslogtreecommitdiff
path: root/vswitchd
diff options
context:
space:
mode:
authorEthan Jackson <ethan@nicira.com>2011-08-30 17:37:06 -0700
committerEthan Jackson <ethan@nicira.com>2011-09-09 14:11:14 -0700
commitef9819b5f131ae3c727309a7f3758fa079679c85 (patch)
tree89af2bc6d1d8c831cddf4222192087a994cf3920 /vswitchd
parent144216a3358fc3ddc8a8253dd85978f112cb7bbc (diff)
downloadopenvswitch-ef9819b5f131ae3c727309a7f3758fa079679c85.tar.gz
cfm: New cfm extended mode.
The new extended mode introduced in this patch will be used for features which break wire compatibility with 802.1ag compliant implementations. Bug #7014.
Diffstat (limited to 'vswitchd')
-rw-r--r--vswitchd/bridge.c5
-rw-r--r--vswitchd/vswitch.xml5
2 files changed, 10 insertions, 0 deletions
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index e903a808c..44b5fbe94 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -2606,6 +2606,7 @@ static void
iface_configure_cfm(struct iface *iface)
{
const struct ovsrec_interface *cfg = iface->cfg;
+ const char *extended_str;
struct cfm_settings s;
if (!cfg->n_cfm_mpid) {
@@ -2620,6 +2621,10 @@ iface_configure_cfm(struct iface *iface)
s.interval = 1000;
}
+ extended_str = get_interface_other_config(iface->cfg, "cfm_extended",
+ "false");
+ s.extended = !strcasecmp("true", extended_str);
+
ofproto_port_set_cfm(iface->port->bridge->ofproto, iface->ofp_port, &s);
}
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index b974a3d02..5151fea21 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -1425,6 +1425,11 @@
<dd> The transmission interval of CFM heartbeats in milliseconds.
Three missed heartbeat receptions indicate a connectivity fault.
Defaults to 1000ms. </dd>
+ <dt><code>cfm_extended</code></dt>
+ <dd> When true, the CFM module operates in extended mode. This causes
+ it to use a nonstandard destination address to avoid conflicting
+ with compliant implementations which may be running concurrently on
+ the network. Defaults to false. </dd>
<dt><code>bond-stable-id</code></dt>
<dd> A positive integer using in <code>stable</code> bond mode to
make slave selection decisions. Allocating