# datapath management
- def add_br(self, br_name=_OVS_BRIDGE_NAME):
+ def add_br(self, br_name=_OVS_BRIDGE_NAME, params=None):
"""Add datapath.
:param br_name: Name of bridge
:return: Instance of :class OFBridge:
"""
+ if params is None:
+ params = []
+
self.logger.debug('add bridge')
- self.run_vsctl(['add-br', br_name])
+ self.run_vsctl(['add-br', br_name]+params)
return OFBridge(br_name, self.timeout)
return tasks.run_task(
cmd, self.logger, 'Running ovs-ofctl...', check_error)
- def create(self):
+ def create(self, params=None):
"""Create bridge.
"""
+ if params is None:
+ params = []
+
self.logger.debug('create bridge')
- self.add_br(self.br_name)
+ self.add_br(self.br_name, params=params)
def destroy(self):
"""Destroy bridge.
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'))
'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):
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
"""
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()