diff --git a/test_plans/vm2vm_virtio_user_test_plan.rst b/test_plans/vm2vm_virtio_user_test_plan.rst
index c3aa328e..061594c4 100644
--- a/test_plans/vm2vm_virtio_user_test_plan.rst
+++ b/test_plans/vm2vm_virtio_user_test_plan.rst
@@ -41,39 +41,81 @@ This test plan test several features in VM2VM topo:
 1. Split virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vector_rx path test.
 2. Packed virtqueue vm2vm in-order mergeable, in-order non-mergeable, mergeable, non-mergeable, vectorized path (ringsize not powerof 2) test.
 3. Split ring and packed ring vm2vm test when vhost enqueue operation with multi-CBDMA channels.
-4. Test indirect descriptor feature. For example, the split ring mergeable inorder path use non-indirect descriptor, the 2000,2000,2000,2000 chain packets will need 4 consequent ring, still need one ring put header.
+4. Test indirect descriptor feature. For example, the split ring mergeable inorder path use non-indirect descriptor,
+the 2000,2000,2000,2000 chain packets will need 4 consequent ring, still need one ring put header.
 the split ring mergeable path use indirect descriptor, the 2000,2000,2000,2000 chain packets will only occupy one ring.
 
-Test flow
+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: Virtio-user-->Vhost-user-->Testpmd-->Vhost-user-->Virtio-user
+
+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::
+
+      <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
+
+Test case
 =========
-Virtio-user <-> Vhost-user <-> Testpmd <-> Vhost-user <-> Virtio-user
+
+Common steps
+------------
+1. Attach pdump secondary process to primary process by same file-prefix::
+
+      <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 \
+      -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
+
 
 Test Case 1: packed virtqueue vm2vm mergeable path test
-=======================================================
+-------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch vhost by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set burst 1
@@ -95,19 +137,19 @@ Test Case 1: packed virtqueue vm2vm mergeable path test
 
 7. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 8. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 9. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set burst 1
@@ -124,33 +166,33 @@ Test Case 1: packed virtqueue vm2vm mergeable path test
     testpmd>set txpkts 2000
     testpmd>start tx_first 1
 
-10. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+10. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in
+    pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 2: packed virtqueue vm2vm inorder mergeable path test
-===============================================================
+---------------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring inorder mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -168,19 +210,19 @@ Test Case 2: packed virtqueue vm2vm inorder mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -194,31 +236,32 @@ Test Case 2: packed virtqueue vm2vm inorder mergeable path test
     testpmd>set txpkts 2000,2000,2000,2000
     testpmd>start tx_first 1
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 3: packed virtqueue vm2vm non-mergeable path test
-===========================================================
+-----------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring non-mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -235,7 +278,7 @@ Test Case 3: packed virtqueue vm2vm non-mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
     --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
@@ -243,11 +286,12 @@ Test Case 3: packed virtqueue vm2vm non-mergeable path test
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -257,33 +301,34 @@ Test Case 3: packed virtqueue vm2vm non-mergeable path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test
-===================================================================
+-------------------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring inorder non-mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \
     -- -i --rx-offloads=0x10 --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \
     -- -i --rx-offloads=0x10 --nb-cores=1 --txd=256 --rxd=256
@@ -300,7 +345,7 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
     --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
@@ -308,11 +353,12 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,packed_vec=1 \
     -- -i --rx-offloads=0x10 --nb-cores=1 --txd=256 --rxd=256
@@ -322,33 +368,34 @@ Test Case 4: packed virtqueue vm2vm inorder non-mergeable path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 5: split virtqueue vm2vm mergeable path test
-======================================================
+------------------------------------------------------
+This case uses test of 2 virtio-user with split ring mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch vhost by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -371,7 +418,7 @@ Test Case 5: split virtqueue vm2vm mergeable path test
 
 7. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
     --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
@@ -379,11 +426,12 @@ Test Case 5: split virtqueue vm2vm mergeable path test
 
 8. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 9. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -401,33 +449,34 @@ Test Case 5: split virtqueue vm2vm mergeable path test
     testpmd>set txpkts 2000
     testpmd>start tx_first 1
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap, check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 6: split virtqueue vm2vm inorder mergeable path test
-==============================================================
+--------------------------------------------------------------
+This case uses test of 2 virtio-user with split ring inorder mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -444,7 +493,7 @@ Test Case 6: split virtqueue vm2vm inorder mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
     --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
@@ -452,11 +501,12 @@ Test Case 6: split virtqueue vm2vm inorder mergeable path test
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=1,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -470,31 +520,32 @@ Test Case 6: split virtqueue vm2vm inorder mergeable path test
     testpmd>set txpkts 2000,2000,2000,2000
     testpmd>start tx_first 1
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 7: split virtqueue vm2vm non-mergeable path test
-==========================================================
+----------------------------------------------------------
+This case uses test of 2 virtio-user with split ring non-mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256 --enable-hw-vlan-strip
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256 --enable-hw-vlan-strip
@@ -511,19 +562,19 @@ Test Case 7: split virtqueue vm2vm non-mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0 \
     -- -i --nb-cores=1 --txd=256 --rxd=256 --enable-hw-vlan-strip
@@ -533,33 +584,34 @@ Test Case 7: split virtqueue vm2vm non-mergeable path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 8: split virtqueue vm2vm inorder non-mergeable path test
-==================================================================
+------------------------------------------------------------------
+This case uses test of 2 virtio-user with split ring inorder non-mergeable path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -576,7 +628,7 @@ Test Case 8: split virtqueue vm2vm inorder non-mergeable path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
     --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
@@ -584,11 +636,12 @@ Test Case 8: split virtqueue vm2vm inorder non-mergeable path test
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=1 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -598,32 +651,31 @@ Test Case 8: split virtqueue vm2vm inorder non-mergeable path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 9: split virtqueue vm2vm vector_rx path test
-======================================================
+------------------------------------------------------
+This case uses test of 2 virtio-user with split ring vector_rx path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set burst 1
@@ -639,20 +691,19 @@ Test Case 9: split virtqueue vm2vm vector_rx path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=0,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set burst 1
@@ -661,33 +712,34 @@ Test Case 9: split virtqueue vm2vm vector_rx path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 10: packed virtqueue vm2vm vectorized path test
-=========================================================
+---------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring vectorized path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -704,19 +756,19 @@ Test Case 10: packed virtqueue vm2vm vectorized path test
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
@@ -726,33 +778,34 @@ Test Case 10: packed virtqueue vm2vm vectorized path test
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
 Test Case 11: packed virtqueue vm2vm vectorized path test with ring size is not power of 2
-==========================================================================================
+------------------------------------------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring vectorized path with ring size is not power of 2 and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user and vhost side receive packets.
 
 1. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci \
     --vdev 'eth_vhost0,iface=vhost-net,queues=1' --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
     -i --nb-cores=1 --no-flush-rx
 
 2. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
     --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=255 \
     -- -i --nb-cores=1 --txd=255 --rxd=255
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=/root/pdump-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
     --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=255 \
     -- -i --nb-cores=1 --txd=255 --rxd=255
@@ -769,20 +822,19 @@ Test Case 11: packed virtqueue vm2vm vectorized path test with ring size is not
 
 6. Launch testpmd by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
-    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- \
-    -i --nb-cores=1 --no-flush-rx
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=vhost  \
+    --vdev 'eth_vhost1,iface=vhost-net1,queues=1' -- -i --nb-cores=1 --no-flush-rx
     testpmd>set fwd rxonly
     testpmd>start
 
 7. Attach pdump secondary process to primary process by same file-prefix::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=vhost \
+    -- --pdump 'port=0,queue=*,rx-dev=/root/pdump-vhost-rx.pcap,mbuf-size=8000'
 
 8. Launch virtio-user1 by below command::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --force-max-simd-bitwidth=512 \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --force-max-simd-bitwidth=512 \
     --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=255 \
     -- -i --nb-cores=1 --txd=255 --rxd=255
     testpmd>set burst 1
@@ -791,811 +843,13 @@ Test Case 11: packed virtqueue vm2vm vectorized path test with ring size is not
     testpmd>set burst 32
     testpmd>start tx_first 7
 
-9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
-
-Test Case 12: split virtqueue vm2vm non-mergeable path multi-queues payload check with cbdma enabled
-====================================================================================================
-
-1. bind 4 cbdma port to vfio-pci and launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:80:04.2;txq1@0000:80:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,queue_size=4096 \
-    -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,queue_size=4096 \
-    -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 1
-    testpmd>set txpkts 64,128,256,512
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set txpkts 64
-    testpmd>start tx_first 1
-    testpmd>stop
-
-5. Start vhost testpmd, check virtio-user1 RX-packets is 566 and RX-bytes is 486016, 502 packets with 960 length and 64 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:80:04.2;txq1@0000:80:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 1
-    testpmd>set txpkts 64,128,256,512
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set txpkts 64
-    testpmd>start tx_first 1
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 13: split virtqueue vm2vm mergeable path multi-queues payload check with cbdma enabled
-================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-5. Start vhost testpmd, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 14: split virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enabled
-============================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-5. Start vhost testpmd, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 15: split virtqueue vm2vm vectorized path multi-queues payload check with cbdma enabled
-==================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-5. Start vhost testpmd, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 16: Split virtqueue vm2vm inorder mergeable path test non-indirect descriptor with cbdma enable
-=========================================================================================================
-
-1. Launch testpmd by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=1,queue_size=256 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets(include 251 small packets and 32 8K packets)::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=1,queue_size=256 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256
-    testpmd>set burst 1
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set txpkts 2000,2000,2000,2000
-    testpmd>start tx_first 1
-    testpmd>stop
-
-5. Start vhost, then quit pdump and three testpmd, about split virtqueue inorder mergeable path, it use the non-indirect descriptors, the 8k length pkt will occupies 5 ring:2000,2000,2000,2000 will need 4 consequent ring,
-still need one ring put header. So check 504 packets and 48128 bytes received by virtio-user1 and 502 packets with 64 length and 2 packets with 8K length in pdump-virtio-rx.pcap.
-
-6. Relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx
-    testpmd>vhost enable tx all
-
-7. Rerun step 2-5.
-
-Test Case 17: Split virtqueue vm2vm mergeable path test indirect descriptor with cbdma enable
-=============================================================================================
-
-1. Launch testpmd by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=256 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets(include 251 small packets and 32 8K packets)::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=256 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256
-    testpmd>set burst 1
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set txpkts 2000,2000,2000,2000
-    testpmd>start tx_first 1
-    testpmd>stop
-
-5. Start vhost, then quit pdump and three testpmd, about split virtqueue mergeable path, it use the indirect descriptors, the 8k length pkt will just occupies one ring.
-So check 512 packets and 112128 bytes received by virtio-user1 and 502 packets with 64 length and 10 packets with 8K length in pdump-virtio-rx.pcap.
-
-6. Relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx
-    testpmd>vhost enable tx all
-
-7. Rerun step 2-5.
-
-Test Case 18: packed virtqueue vm2vm non-mergeable path multi-queues payload check with cbdma enabled
-=====================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:80:04.2;txq1@0000:80:04.3]' \
-    --iova=va -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-5. Start vhost testpmd, check virtio-user1 RX-packets is 448 and RX-bytes is 28672, 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:80:04.2;txq1@0000:80:04.3]' \
-    --iova=pa -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 19: packed virtqueue vm2vm mergeable path multi-queues payload check with cbdma enabled
-=================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=0,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-5. Start vhost testpmd, then quit pdump, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-10. Rerun step 5.
+9. Quit pdump,vhost received packets in pdump-vhost-rx.pcap,check headers and payload of all packets in
+   pdump-virtio-rx.pcap and pdump-vhost-rx.pcap and ensure the content are same.
 
-Test Case 20: packed virtqueue vm2vm inorder mergeable path multi-queues payload check with cbdma enabled
-=========================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-5. Start vhost testpmd, then quit pdump, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 21: packed virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enabled
-=============================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \
-    --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send 8k length packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \
-    --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-5. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 22: packed virtqueue vm2vm vectorized path multi-queues payload check with cbdma enabled
-===================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send 8k length packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4096 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-5. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 23: packed virtqueue vm2vm vectorized path multi-queues payload check with ring size is not power of 2 and cbdma enabled
-==================================================================================================================================
-
-1. Launch vhost by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-2. Launch virtio-user1 by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --force-max-simd-bitwidth=512  --no-pci --file-prefix=virtio1 \
-    --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4097 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4097 --rxd=4097
-    testpmd>set fwd rxonly
-    testpmd>start
-
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-4. Launch virtio-user0 and send 8k length packets::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \
-    --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4097 \
-    -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4097 --rxd=4097
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-5. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.
-
-6. Clear virtio-user1 port stats::
-
-    testpmd>stop
-    testpmd>clear port stats all
-    testpmd>start
-
-7. Quit and relaunch vhost with iova=pa by below command::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 \
-    --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1]' --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@0000:00:04.2;txq1@0000:00:04.3]' \
-    --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx
-    testpmd>vhost enable tx all
-
-8. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
-
-9. Virtio-user0 send packets::
-
-    testpmd>set burst 32
-    testpmd>set txpkts 64
-    testpmd>start tx_first 7
-    testpmd>stop
-    testpmd>set burst 1
-    testpmd>set txpkts 64,256,2000,64,256,2000
-    testpmd>start tx_first 27
-    testpmd>stop
-
-10. Rerun step 5.
-
-Test Case 24: packed virtqueue vm2vm vectorized-tx path multi-queues test indirect descriptor
-=============================================================================================
+Test Case 12: packed virtqueue vm2vm vectorized-tx path multi-queues test indirect descriptor
+---------------------------------------------------------------------------------------------
+This case uses test of 2 virtio-user with packed ring vectorized-tx path and vhost with testpmd to forward packets,
+and uses pdump to capture virtio-user side receive packets.
 
 1. Launch vhost by below command::
 
@@ -1611,13 +865,11 @@ Test Case 24: packed virtqueue vm2vm vectorized-tx path multi-queues test indire
     testpmd>set fwd rxonly
     testpmd>start
 
-3. Attach pdump secondary process to primary process by same file-prefix::
-
-    ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'
+3. Start pdump to capture virtio-user1 packets, as common step 1.
 
 4. Launch virtio-user0 and send 8k length packets::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \
+    <dpdk dir># ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \
     --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1,queue_size=256 \
     -- -i --nb-cores=1 --txd=256 --rxd=256
 
@@ -1631,5 +883,6 @@ Test Case 24: packed virtqueue vm2vm vectorized-tx path multi-queues test indire
     testpmd>start tx_first 1
     testpmd>stop
 
-5. Start vhost, then quit pdump and three testpmd, about packed virtqueue vectorized-tx path, it use the indirect descriptors, the 8k length pkt will just occupies one ring.
-So check 256 packets and 56064 bytes received by virtio-user1 and 251 packets with 64 length and 5 packets with 8K length in pdump-virtio-rx.pcap.
+5. Start vhost, then quit pdump and three testpmd, about packed virtqueue vectorized-tx path, it use the indirect descriptors,
+    the 8k length pkt will just occupies one ring. So check 256 packets and 56064 bytes received by virtio-user1 and 251 packets
+    with 64 length and 5 packets with 8K length in pdump-virtio-rx.pcap.
