aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/02_vswitch.conf6
-rw-r--r--vswitches/ovs_dpdk_vhost.py11
2 files changed, 16 insertions, 1 deletions
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf
index 851b6d62..c7fe03f0 100644
--- a/conf/02_vswitch.conf
+++ b/conf/02_vswitch.conf
@@ -45,6 +45,12 @@ VSWITCH_VANILLA_KERNEL_MODULES = ['openvswitch']
# directory where hugepages will be mounted on system init
HUGEPAGE_DIR = '/dev/hugepages'
+# Sets OVS PMD core mask to 2 for CPU core 1 affinitization
+VSWITCH_PMD_CPU_MASK = '2'
+VSWITCH_AFFINITIZATION_ON = 1
+
+VSWITCH_FLOW_TIMEOUT = '30000'
+
# list of tuples of format (path, module_name), which will be inserted
# using 'insmod' on system init
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index ee0939a4..2e726a43 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -73,7 +73,16 @@ class OvsDpdkVhost(IVSwitch):
bridge = OFBridge(switch_name)
bridge.create()
bridge.set_db_attribute('Open_vSwitch', '.',
- 'other_config:max-idle', '60000')
+ 'other_config:max-idle',
+ settings.getValue('VSWITCH_FLOW_TIMEOUT'))
+
+ if settings.getValue('VSWITCH_AFFINITIZATION_ON') == 1:
+ # Sets the PMD core mask to VSWITCH_PMD_CPU_MASK
+ # for CPU core affinitization
+ bridge.set_db_attribute('Open_vSwitch', '.',
+ '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