Versions may be configured using a comma delimited list as
the value for 'openflow-versions' the 'other-config' column
of the Bridge table.

Currently list elements other than 'OpenFlow10' and 'OpenFlow12' will
be ignored.

If the list is empty, then OpenFlow10 is used.
This default is consistent with the behaviour of ovs-vswtichd
prior to this patch.

Signed-off-by: Simon Horman <ho...@verge.net.au>
---
 vswitchd/bridge.c |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index f405872..3899f47 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -768,6 +768,22 @@ bridge_configure_datapath_id(struct bridge *br)
     free(dpid_string);
 }
 
+/* Pick local port hardware address and datapath ID for 'br'. */
+static void
+bridge_get_allowed_versions(struct bridge *br,
+                            struct ofputil_version_bitmap *allowed_versions)
+{
+    const char *config_str = smap_get(&br->cfg->other_config, 
"openflow-versions");
+    if (config_str) {
+        ofputil_versions_from_string(config_str, allowed_versions);
+        ofputil_version_bitmap_and(ofputil_get_supported_versions(),
+                                   allowed_versions);
+    } else {
+        
ofputil_version_bitmap_clone_data(ofputil_get_allowed_versions_default(),
+                                          allowed_versions);
+    }
+}
+
 /* Set NetFlow configuration on 'br'. */
 static void
 bridge_configure_netflow(struct bridge *br)
@@ -2665,7 +2681,7 @@ bridge_configure_remotes(struct bridge *br,
     struct ofputil_version_bitmap allowed_versions =
         OFPUTIL_VERSION_BITMAP_INITIALIZER;
 
-    ofputil_version_bitmap_set1(&allowed_versions, OFP10_VERSION);
+    bridge_get_allowed_versions(br, &allowed_versions);
 
     /* Check if we should disable in-band control on this bridge. */
     disable_in_band = smap_get_bool(&br->cfg->other_config, "disable-in-band",
-- 
1.7.10.4

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to