From 84ce84f5018403c037f3f1ccbc952c6088dfddb9 Mon Sep 17 00:00:00 2001
From: Gregory Gee <gee.developer@gmail.com>
Date: Fri, 18 Jul 2014 22:10:03 -0400
Subject: [PATCH] Add parameter to set protocol list in OVSSwitch.  Allows
 setting OpenFlow version.     s2 = net.addSwitch( 's2',
 protocols='OpenFlow13' )

---
 mininet/node.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/mininet/node.py b/mininet/node.py
index d9052fab..e5a448cc 100644
--- a/mininet/node.py
+++ b/mininet/node.py
@@ -993,7 +993,7 @@ class OVSSwitch( Switch ):
     "Open vSwitch switch. Depends on ovs-vsctl."
 
     def __init__( self, name, failMode='secure', datapath='kernel',
-                 inband=False, **params ):
+                 inband=False, protocols=None, **params ):
         """Init.
            name: name for switch
            failMode: controller loss behavior (secure|open)
@@ -1003,6 +1003,7 @@ def __init__( self, name, failMode='secure', datapath='kernel',
         self.failMode = failMode
         self.datapath = datapath
         self.inband = inband
+        self.protocols = protocols
 
     @classmethod
     def setup( cls ):
@@ -1120,6 +1121,8 @@ def start( self, controllers ):
                      'other-config:disable-in-band=true ' % self )
         if self.datapath == 'user':
             cmd += '-- set bridge %s datapath_type=netdev ' % self
+        if self.protocols:
+            cmd += '-- set bridge %s protocols=%s' % ( self, self.protocols )
         # Reconnect quickly to controllers (1s vs. 15s max_backoff)
         for uuid in self.controllerUUIDs():
             if uuid.count( '-' ) != 4:
-- 
GitLab