From dcb66fe7b184080d521e341ac4f73c165abacc37 Mon Sep 17 00:00:00 2001 From: Dino Simeon Madarang Date: Wed, 26 Aug 2015 16:35:37 +0100 Subject: vswitches: Fix error in loading eventfd module Load eventfd only when vhost-cuse is specified as the guest access method. This commit also includes quickstart update for executing PVP tests. JIRA: VSPERF-59 Change-Id: I41f116ab1c42f704026567a269922c07994b15a5 Signed-off-by: Dino Simeon Madarang Reviewed-by: Maryam Tahhan Reviewed-by: Billy O Mahony Reviewed-by: Al Morton Reviewed-by: Gurpreet Singh Reviewed-by: Tv Rao Reviewed-by: Fatih Degirmenci --- conf/02_vswitch.conf | 4 +++- docs/quickstart.rst | 49 +++++++++++++++++++++++++++++++++++++++++++++ vswitches/ovs_dpdk_vhost.py | 9 +++++---- 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 + +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 + + 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'] -- cgit 1.2.3-korg