From 171e81512273573d01b95f2364ffa9ac2b8c372d Mon Sep 17 00:00:00 2001 From: Bob Lantz <rlantz@cs.stanford.edu> Date: Wed, 14 Jan 2015 14:15:14 -0800 Subject: [PATCH] Set OVSSwitch default protocols to OpenFlow10,OpenFlow13 For OVS versions 1.9 or earlier, this setting is ignored. --- mininet/node.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mininet/node.py b/mininet/node.py index 62af8bc7..a97ad3fc 100644 --- a/mininet/node.py +++ b/mininet/node.py @@ -1054,12 +1054,14 @@ class OVSSwitch( Switch ): "Open vSwitch switch. Depends on ovs-vsctl." def __init__( self, name, failMode='secure', datapath='kernel', - inband=False, protocols=None, **params ): + inband=False, protocols='OpenFlow10,OpenFlow13', **params ): """Init. name: name for switch failMode: controller loss behavior (secure|open) datapath: userspace or kernel mode (kernel|user) - inband: use in-band control (False)""" + inband: use in-band control (False) + protocols: use specific OpenFlow version(s) + Unspecified (or old OVS version) uses default (OpenFlow 1.0)""" Switch.__init__( self, name, **params ) self.failMode = failMode self.datapath = datapath @@ -1186,7 +1188,7 @@ 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: + if self.protocols and not self.isOldOVS(): cmd += '-- set bridge %s protocols=%s' % ( self, self.protocols ) # Do it!! self.cmd( cmd ) -- GitLab