test suite reviews and discussions
 help / color / mirror / Atom feed
From: Wei Ling <weix.ling@intel.com>
To: dts@dpdk.org
Cc: Wei Ling <weix.ling@intel.com>
Subject: [dts][PATCH V1 1/2] test_plans/pvp_share_lib_test_plan: modify testplan with new format
Date: Mon, 18 Apr 2022 18:28:47 +0800	[thread overview]
Message-ID: <20220418102847.512586-1-weix.ling@intel.com> (raw)

Modify testplan with new format.

Signed-off-by: Wei Ling <weix.ling@intel.com>
---
 test_plans/pvp_share_lib_test_plan.rst | 89 +++++++++++++++++++++-----
 1 file changed, 73 insertions(+), 16 deletions(-)

diff --git a/test_plans/pvp_share_lib_test_plan.rst b/test_plans/pvp_share_lib_test_plan.rst
index c5a3c9b8..53d85c03 100644
--- a/test_plans/pvp_share_lib_test_plan.rst
+++ b/test_plans/pvp_share_lib_test_plan.rst
@@ -37,46 +37,103 @@ Vhost/virtio-user pvp share lib test plan
 Description
 ===========
 
-The feature need compile dpdk as shared libraries, then application should use option ``-d`` to load the dynamic pmd that are built as shared libraries.
+The feature need compile dpdk as shared libraries, then application should use option ``-d``
+to load the dynamic pmd that are built as shared libraries.
+
+For more about dpdk-testpmd sample, please refer to the DPDK docments:
+https://doc.dpdk.org/guides/testpmd_app_ug/run_app.html
+
+For virtio-user vdev parameter, you can refer to the DPDK docments:
+https://doc.dpdk.org/guides/nics/virtio.html#virtio-paths-selection-and-usage.
+
+Prerequisites
+=============
+
+Topology
+--------
+Test flow: TG-->Vhost-user-->Virtio-user-->Vhost-user-->TG
+
+Hardware
+--------
+Supportted NICs: ALL
+
+Software
+--------
+Trex:http://trex-tgn.cisco.com/trex/release/v2.26.tar.gz
+
+General set up
+--------------
+1. Compile DPDK::
+
+	# CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=<dpdk build dir>
+	# ninja -C <dpdk build dir> -j 110
+
+2. Get the PCI device ID and DMA device ID of DUT, for example, 0000:18:00.0 is PCI device ID, 0000:00:04.0, 0000:00:04.1 is DMA device ID::
+
+	<dpdk dir># ./usertools/dpdk-devbind.py -s
+
+	Network devices using kernel driver
+	===================================
+	0000:18:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci
+
+	DMA devices using kernel driver
+	===============================
+	0000:00:04.0 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=vfio-pci
+	0000:00:04.1 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=vfio-pci
+
+Test case
+=========
+
+Common steps
+------------
+1. Bind 1 NIC port and CBDMA channels to vfio-pci::
+
+	<dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port pci device id>
+	<dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port DMA device id>
+
+	For example, bind 1 NIC port to vfio-pci::
+	<dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 0000:00:04.0
 
 Test Case1: Vhost/virtio-user pvp share lib test with niantic
-=============================================================
+-------------------------------------------------------------
+This case use testpmd with ``-d librte_net_ixgbe.so`` option to load the dynamic pmd when launch vhost-user to test with niantic.
 
 1. Enable the shared lib in DPDK configure file::
 
-    CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dc_args='-DRTE_BUILD_SHARED_LIB=1' --default-library=shared x86_64-native-linuxapp-gcc
+	<dpdk dir># CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dc_args='-DRTE_BUILD_SHARED_LIB=1' --default-library=shared x86_64-native-linuxapp-gcc
 
 2. Recompile dpdk code::
 
-    ninja -C x86_64-native-linuxapp-gcc -j 55
+	<dpdk dir># ninja -C x86_64-native-linuxapp-gcc -j 55
 
 3. Export shared lib files into host environment::
 
-    export LD_LIBRARY_PATH=/root/dpdk/x86_64-native-linuxapp-gcc/drivers:$LD_LIBRARY_PATH
+	export LD_LIBRARY_PATH=/root/dpdk/x86_64-native-linuxapp-gcc/drivers:$LD_LIBRARY_PATH
 
 4. Bind niantic port with vfio-pci, use option ``-d`` to load the dynamic pmd when launch vhost::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd  -c 0x03 -n 4 -d librte_net_vhost.so.21.0 -d librte_net_i40e.so.21.0 -d librte_mempool_ring.so.21.0 \
-    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i
-    testpmd>start
+	<dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd  -c 0x03 -n 4 -d librte_net_vhost.so.21.0 -d librte_net_ixgbe.so.21.0 -d librte_mempool_ring.so.21.0 \
+	--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i
+	testpmd> start
 
 5. Launch virtio-user::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0c -n 4 -d librte_net_virtio.so.21.0 -d librte_mempool_ring.so.21.0 \
-    --no-pci --file-prefix=virtio  --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net -- -i
-    testpmd>start
+	<dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0c -n 4 -d librte_net_virtio.so.21.0 -d librte_mempool_ring.so.21.0 \
+	--no-pci --file-prefix=virtio  --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net -- -i
+	testpmd> start
 
 6. Send traffic by packet generator, check the throughput with below command::
 
-    testpmd>show port stats all
+	testpmd> show port stats all
 
 Test Case2: Vhost/virtio-user pvp share lib test with fortville
-===============================================================
+---------------------------------------------------------------
+This case use testpmd with ``-d librte_net_i40e.so`` option to load the dynamic pmd when launch vhost-user to test with fortville_eagle|fortville_spirit|fortville_25g.
 
 Similar as Test Case1, all steps are similar except step 4:
 
 4. Bind fortville port with vfio-pci, use option ``-d`` to load the dynamic pmd when launch vhost::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd  -c 0x03 -n 4 -d librte_net_vhost.so -d librte_net_i40e.so -d librte_mempool_ring.so \
-    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i
-    testpmd>start
+	<dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd  -c 0x03 -n 4 -d librte_net_vhost.so -d librte_net_i40e.so -d librte_mempool_ring.so \
+	--file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1' -- -i
+	testpmd> start
-- 
2.25.1


                 reply	other threads:[~2022-04-18 10:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220418102847.512586-1-weix.ling@intel.com \
    --to=weix.ling@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).