aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/02_vswitch.conf4
-rw-r--r--docs/quickstart.rst49
-rw-r--r--vswitches/ovs_dpdk_vhost.py9
3 files changed, 57 insertions, 5 deletions
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf
index c7fe03f0..e69511b2 100644
--- a/conf/02_vswitch.conf
+++ b/conf/02_vswitch.conf
@@ -86,4 +86,6 @@ LOG_FILE_OVS = 'ovs.log'
VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches')
VSWITCH = "OvsDpdkVhost"
-VHOST_METHOD = 'cuse'
+# Use vhost user or vhost cuse
+# Set to cuse if you want to test vhostcuse
+VHOST_METHOD = 'user'
diff --git a/docs/quickstart.rst b/docs/quickstart.rst
index 5c5b7625..e5b433fa 100644
--- a/docs/quickstart.rst
+++ b/docs/quickstart.rst
@@ -155,6 +155,55 @@ For all available options, check out the help dialog:
./vsperf --help
+Executing PVP tests
+-------------------
+To run tests using vhost-user as guest access method:
+
+1. Set VHOST_METHOD and VNF of your settings file to:
+
+ .. code-block:: console
+
+ VHOST_METHOD='user'
+ VNF = 'QemuDpdkVhost'
+
+2. Recompile src for VHOST USER testing
+
+ .. code-block:: console
+
+ cd src
+ make cleanse
+ make VHOST_USER=y
+
+3. Run test:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file <path_to_settings_py>
+
+To run tests using vhost-cuse as guest access method:
+
+1. Set VHOST_METHOD and VNF of your settings file to:
+
+ .. code-block:: console
+
+ VHOST_METHOD='cuse'
+ VNF = 'QemuDpdkVhostCuse'
+
+2. Recompile src for VHOST USER testing
+
+ .. code-block:: console
+
+ cd src
+ make cleanse
+ make VHOST_USER=n
+
+3. Run test:
+
+ .. code-block:: console
+
+ ./vsperf --conf-file <path_to_settings_py>
+
+
GOTCHAs:
--------
diff --git a/vswitches/ovs_dpdk_vhost.py b/vswitches/ovs_dpdk_vhost.py
index 2e726a43..b1fd08bf 100644
--- a/vswitches/ovs_dpdk_vhost.py
+++ b/vswitches/ovs_dpdk_vhost.py
@@ -22,6 +22,7 @@ from src.ovs import VSwitchd, OFBridge
from src.dpdk import dpdk
_VSWITCHD_CONST_ARGS = ['--', '--log-file']
+_VHOST_METHOD = settings.getValue('VHOST_METHOD')
class OvsDpdkVhost(IVSwitch):
"""VSwitch implementation using DPDK and vhost ports
@@ -42,8 +43,9 @@ class OvsDpdkVhost(IVSwitch):
vswitchd_args += settings.getValue('VSWITCHD_DPDK_ARGS')
vswitchd_args += _VSWITCHD_CONST_ARGS
- self._logger.info("Inserting VHOST modules into kernel...")
- dpdk.insert_vhost_modules()
+ if _VHOST_METHOD == "cuse":
+ self._logger.info("Inserting VHOST modules into kernel...")
+ dpdk.insert_vhost_modules()
self._vswitchd = VSwitchd(vswitchd_args=vswitchd_args,
expected_cmd=
@@ -117,8 +119,7 @@ class OvsDpdkVhost(IVSwitch):
"""
bridge = self._bridges[switch_name]
# Changed dpdkvhost to dpdkvhostuser to be able to run in Qemu 2.2
- vhost_method = settings.getValue('VHOST_METHOD')
- if vhost_method == "cuse":
+ if _VHOST_METHOD == "cuse":
vhost_count = self._get_port_count(bridge, 'type=dpdkvhostcuse')
port_name = 'dpdkvhostcuse' + str(vhost_count)
params = ['--', 'set', 'Interface', port_name, 'type=dpdkvhostcuse']