Set OVSSwitch default protocols to OpenFlow10,OpenFlow13
For OVS versions 1.9 or earlier, this setting is ignored.
This commit is contained in:
+5
-3
@@ -1054,12 +1054,14 @@ class OVSSwitch( Switch ):
|
|||||||
"Open vSwitch switch. Depends on ovs-vsctl."
|
"Open vSwitch switch. Depends on ovs-vsctl."
|
||||||
|
|
||||||
def __init__( self, name, failMode='secure', datapath='kernel',
|
def __init__( self, name, failMode='secure', datapath='kernel',
|
||||||
inband=False, protocols=None, **params ):
|
inband=False, protocols='OpenFlow10,OpenFlow13', **params ):
|
||||||
"""Init.
|
"""Init.
|
||||||
name: name for switch
|
name: name for switch
|
||||||
failMode: controller loss behavior (secure|open)
|
failMode: controller loss behavior (secure|open)
|
||||||
datapath: userspace or kernel mode (kernel|user)
|
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 )
|
Switch.__init__( self, name, **params )
|
||||||
self.failMode = failMode
|
self.failMode = failMode
|
||||||
self.datapath = datapath
|
self.datapath = datapath
|
||||||
@@ -1186,7 +1188,7 @@ class OVSSwitch( Switch ):
|
|||||||
'other-config:disable-in-band=true ' % self )
|
'other-config:disable-in-band=true ' % self )
|
||||||
if self.datapath == 'user':
|
if self.datapath == 'user':
|
||||||
cmd += '-- set bridge %s datapath_type=netdev ' % self
|
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 )
|
cmd += '-- set bridge %s protocols=%s' % ( self, self.protocols )
|
||||||
# Do it!!
|
# Do it!!
|
||||||
self.cmd( cmd )
|
self.cmd( cmd )
|
||||||
|
|||||||
Reference in New Issue
Block a user