summaryrefslogtreecommitdiffstats
path: root/vswitches
diff options
context:
space:
mode:
Diffstat (limited to 'vswitches')
-rw-r--r--vswitches/ovs_dpdk_vhost.py12
-rw-r--r--vswitches/ovs_vanilla.py4
-rw-r--r--vswitches/vswitch.py4
3 files changed, 13 insertions, 7 deletions
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index 874cc97b..553915bc 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -69,11 +69,17 @@ class OvsDpdkVhost(IVSwitch):
dpdk.cleanup()
dpdk.remove_vhost_modules()
- def add_switch(self, switch_name):
+ def add_switch(self, switch_name, params=None):
"""See IVswitch for general description
"""
bridge = OFBridge(switch_name)
- bridge.create()
+ if params is None:
+ bridge.create(['--', 'set', 'bridge', switch_name,
+ 'datapath_type=netdev'])
+ else:
+ bridge.create(['--', 'set', 'bridge', switch_name,
+ 'datapath_type=netdev'] + params)
+
bridge.set_db_attribute('Open_vSwitch', '.',
'other_config:max-idle',
settings.getValue('VSWITCH_FLOW_TIMEOUT'))
@@ -85,8 +91,6 @@ class OvsDpdkVhost(IVSwitch):
'other_config:pmd-cpu-mask',
settings.getValue('VSWITCH_PMD_CPU_MASK'))
- bridge.set_db_attribute('Bridge', bridge.br_name,
- 'datapath_type', 'netdev')
self._bridges[switch_name] = bridge
def del_switch(self, switch_name):
diff --git a/vswitches/ovs_vanilla.py b/vswitches/ovs_vanilla.py
index acea4ecb..04058d97 100644
--- a/vswitches/ovs_vanilla.py
+++ b/vswitches/ovs_vanilla.py
@@ -77,11 +77,11 @@ class OvsVanilla(IVSwitch):
self._module_manager.remove_modules()
- def add_switch(self, switch_name):
+ def add_switch(self, switch_name, params=None):
"""See IVswitch for general description
"""
bridge = OFBridge(switch_name)
- bridge.create()
+ bridge.create(params)
bridge.set_db_attribute('Open_vSwitch', '.',
'other_config:max-idle', '60000')
self._bridges[switch_name] = bridge
diff --git a/vswitches/vswitch.py b/vswitches/vswitch.py
index dbf3e7d5..fbec861a 100644
--- a/vswitches/vswitch.py
+++ b/vswitches/vswitch.py
@@ -36,10 +36,12 @@ class IVSwitch(object):
"""
raise NotImplementedError()
- def add_switch(self, switch_name):
+ def add_switch(self, switch_name, params):
"""Create a new logical switch with no ports
:param switch_name: The name of the new logical switch
+ :param params: Optional parameters to configure switch
+
:returns: None
"""
raise NotImplementedError()