From 3ea19952db315e88263437ed41b0c31bd3bdbdf4 Mon Sep 17 00:00:00 2001 From: Christian Trautman Date: Wed, 11 Jan 2017 15:00:52 -0500 Subject: testpmd_pvp: Adds pkt_fwd to allow pvp topology testing Requires DPDK 16.11 or greater to support vdev flags. Initial support for TestPMD to support guests. Allows vsperf to execute TestPMD as a switch for pvp test scenarios. Can be increased in functionality later to support multiple guest configs. JIRA: VSPERF-406 Change-Id: I67a5a355c990ca6cfcbb5845a2beaf1c1f21f5f0 Signed-off-by: Christian Trautman --- docs/release/NEWS.rst | 1 + docs/userguide/testusage.rst | 54 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/release/NEWS.rst b/docs/release/NEWS.rst index e1a9fa3b..02e03f79 100644 --- a/docs/release/NEWS.rst +++ b/docs/release/NEWS.rst @@ -7,6 +7,7 @@ OPNFV D Release * Remove support for vhost cuse * Add Vanilla OVS Multi-queue with non testpmd options * Add support for Multi-queue with OVS 2.5.0 or less +* Add TestPMD as a switch option for pvp topology testing with vhostuser OPNFV Colorado Release ====================== diff --git a/docs/userguide/testusage.rst b/docs/userguide/testusage.rst index 46413f03..379618d2 100755 --- a/docs/userguide/testusage.rst +++ b/docs/userguide/testusage.rst @@ -613,7 +613,7 @@ or use ``--vswitch`` and ``--fwdapp`` CLI arguments: .. code-block:: console - $ ./vsperf --conf-file user_settings.py \ + $ ./vsperf phy2phy_cont --conf-file user_settings.py \ --vswitch none \ --fwdapp TestPMD @@ -647,7 +647,57 @@ Supported Packet Forwarding applications are: .. code-block:: console - $ ./vsperf --conf-file + $ ./vsperf phy2phy_tput --conf-file + +Executing Packet Forwarding tests with one guest +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +TestPMD with DPDK 16.11 or greater can be used to forward packets as a switch to a single guest using TestPMD vdev +option. To set this configuration the following parameters should be used. + + .. code-block:: python + + VSWITCH = 'none' + PKTFWD = 'TestPMD' + +or use ``--vswitch`` and ``--fwdapp`` CLI arguments: + + .. code-block:: console + + $ ./vsperf pvp_tput --conf-file user_settings.py \ + --vswitch none \ + --fwdapp TestPMD + +Guest forwarding application only supports TestPMD in this configuration. + + .. code-block:: python + + GUEST_LOOPBACK = ['testpmd'] + +For optimal performance one cpu per port +1 should be used for TestPMD. Also set additional params for packet forwarding +application to use the correct number of nb-cores. + + .. code-block:: python + + VSWITCHD_DPDK_ARGS = ['-l', '46,44,42,40,38', '-n', '4', '--socket-mem 1024,0'] + TESTPMD_ARGS = ['--nb-cores=4', '--txq=1', '--rxq=1'] + +For guest TestPMD 3 VCpus should be assigned with the following TestPMD params. + + .. code-block:: python + + GUEST_TESTPMD_PARAMS = ['-l 0,1,2 -n 4 --socket-mem 1024 -- ' + '--burst=64 -i --txqflags=0xf00 ' + '--disable-hw-vlan --nb-cores=2 --txq=1 --rxq=1'] + +Execution of TestPMD can be run with the following command line + + .. code-block:: console + + ./vsperf pvp_tput --vswitch=none --fwdapp=TestPMD --conf-file + +**NOTE:** To achieve the best 0% loss numbers with rfc2544 throughput testing, other tunings should be applied to host +and guest such as tuned profiles and CPU tunings to prevent possible interrupts to worker threads. VSPERF modes of operation ^^^^^^^^^^^^^^^^^^^^^^^^^ -- cgit 1.2.3-korg