From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dts-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 2C38541CAE;
	Thu, 16 Feb 2023 09:41:50 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 21F9C410F1;
	Thu, 16 Feb 2023 09:41:50 +0100 (CET)
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by mails.dpdk.org (Postfix) with ESMTP id 3412640E0F
 for <dts@dpdk.org>; Thu, 16 Feb 2023 09:41:48 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1676536908; x=1708072908;
 h=from:to:cc:subject:date:message-id:mime-version:
 content-transfer-encoding;
 bh=4RKDpO+CWycMi75exnWa5ZHNrZjOXQFT/FBRb/5HjFA=;
 b=L2ZX4FEioNz2RKqXyrwuQLy6DccKiY6tfwUfq6xlsDpz6Nn06uT20kek
 0Fv13Kz2p+NhPa7Sk+wctXi0Pi6ETbp3S7LSBFF+yyRa/pFKIhmwjAAXs
 VQNMMpOMJvgUQkEbRN+Xw0h0emalUVdRxmNdzpH80NTLa0rC6juUnH9fT
 YTdyDV51/75vZcEMCFs5NHk0Ch9+iK//VC52OkQD1bpfM+XCmVs8f/Leq
 4mtjhl53TKtRQRWWb0FKLAcvJveG3hcldeUwEkHm6H9KRg3Ile1OosWeS
 fLQUqWZ7REGdzts2e2cPkyJRUw3nu1b5gELfqcgawfVnGTmrTFnp79v0W A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="329382350"
X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="329382350"
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 16 Feb 2023 00:41:26 -0800
X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="793948442"
X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="793948442"
Received: from unknown (HELO localhost.localdomain) ([10.239.252.222])
 by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 16 Feb 2023 00:41:24 -0800
From: Wei Ling <weix.ling@intel.com>
To: dts@dpdk.org
Cc: Wei Ling <weix.ling@intel.com>
Subject: [dts][PATCH V4 2/4]
 test_plans/pvp_vhost_async_multi_paths_performance_dsa: add new testplan
Date: Thu, 16 Feb 2023 16:27:59 +0800
Message-Id: <20230216082759.1026272-1-weix.ling@intel.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: dts@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: test suite reviews and discussions <dts.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dts>,
 <mailto:dts-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dts/>
List-Post: <mailto:dts@dpdk.org>
List-Help: <mailto:dts-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dts>,
 <mailto:dts-request@dpdk.org?subject=subscribe>
Errors-To: dts-bounces@dpdk.org

Add pvp_vhost_async_multi_paths_performance_dsa testplan to test 
pvp vhost/virtio multi-paths async data-path performance use DSA 
device with dpdk and kernel driver.

Signed-off-by: Wei Ling <weix.ling@intel.com>
---
 ..._multi_paths_performance_dsa_test_plan.rst | 586 ++++++++++++++++++
 1 file changed, 586 insertions(+)
 create mode 100644 test_plans/pvp_vhost_async_multi_paths_performance_dsa_test_plan.rst

diff --git a/test_plans/pvp_vhost_async_multi_paths_performance_dsa_test_plan.rst b/test_plans/pvp_vhost_async_multi_paths_performance_dsa_test_plan.rst
new file mode 100644
index 00000000..18535c4a
--- /dev/null
+++ b/test_plans/pvp_vhost_async_multi_paths_performance_dsa_test_plan.rst
@@ -0,0 +1,586 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright(c) 2023 Intel Corporation
+
+==================================================================
+PVP vhost/virtio multi-paths async data-path performance test plan
+==================================================================
+
+Benchmark PVP multi-paths performance with 10 tx/rx paths when vhost uses the asynchronous operation. Includes mergeable, 
+non-mergeable, vectorized_rx, inorder mergeable, inorder non-mergeable, packed ring mergeable, packed ring non-mergeable,
+packed ring inorder mergeable, packed ring inorder non-mergeable, virtio1.1 vectorized path. Give 1 core for vhost and virtio 
+respectively. Packed ring vectorized path need:
+
+    AVX512 and required extensions are supported by compiler and host
+    VERSION_1 and IN_ORDER features are negotiated
+    mergeable feature is not negotiated
+    LRO offloading is disabled
+
+Split ring vectorized rx path need:
+    mergeable and IN_ORDER features are not negotiated
+    LRO, chksum and vlan strip offloadings are disabled
+
+Test flow
+=========
+
+TG --> NIC --> Vhost --> Virtio--> Vhost --> NIC --> TG
+
+Test Case 1: pvp vhost async test with split ring inorder mergeable path using IDXD kernel driver
+-------------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,mrg_rxbuf=1,in_order=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 2: pvp vhost async test with split ring inorder non-mergeable path using IDXD kernel driver
+-----------------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-4 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=1,mrg_rxbuf=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 3: pvp vhost async test with split ring mergeable path using IDXD kernel driver
+-----------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    rm -rf vhost-net*
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-4 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 4: pvp vhost async test with split ring non-mergeable path using IDXD kernel driver
+---------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-4 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=0,vectorized=1 \
+    -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 5: pvp vhost async test with split ring vectorized path using IDXD kernel driver
+------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-4 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=0,vectorized=1 \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 6: pvp vhost async test with packed ring inorder mergeable path using IDXD kernel driver
+--------------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=1,in_order=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 7: pvp vhost async test with packed ring inorder non-mergeable path using IDXD kernel driver
+------------------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=1 \
+    -- -i --rx-offloads=0x10 --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 8: pvp vhost async test with packed ring mergeable path using IDXD kernel driver
+------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=1,in_order=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 9: pvp vhost async test with packed ring non-mergeable path using IDXD kernel driver
+----------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 10: pvp vhost async test with packed ring vectorized path using IDXD kernel driver
+--------------------------------------------------------------------------------------------
+
+1. Bind one nic port to vfio-pci and 1 dsa device to idxd, then generate 1wq by below command::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0
+    ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0
+    ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a wq0.0 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@wq0.0;rxq0@wq0.1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 11: pvp vhost async test with split ring inorder mergeable path using vfio-pci driver
+-----------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,mrg_rxbuf=1,in_order=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 12: pvp vhost async test with split ring inorder non-mergeable path using vfio-pci driver
+---------------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=1,mrg_rxbuf=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 13: pvp vhost async test with split ring mergeable path using vfio-pci driver
+---------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 14: pvp vhost async test with split ring non-mergeable path using vfio-pci driver
+-------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=0,vectorized=1 \
+    -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 15: pvp vhost async test with split ring vectorized_rx path using vfio-pci driver
+-------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,in_order=0,mrg_rxbuf=0,vectorized=1 \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 16: pvp vhost async test with packed ring inorder mergeable path using vfio-pci driver
+------------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=1,in_order=1 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 17: pvp vhost async test with packed ring inorder non-mergeable path using vfio-pci driver
+----------------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=1 \
+    -- -i --rx-offloads=0x10 --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 18: pvp vhost async test with packed ring mergeable path using vfio-pci driver
+----------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=1,in_order=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 19: pvp vhost async test with packed ring non-mergeable path using vfio-pci driver
+--------------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=0 \
+    -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
+
+Test Case 20: pvp vhost async test with packed ring vectorized path using vfio-pci driver
+-----------------------------------------------------------------------------------------
+
+1. Bind one nic port and 1 dsa device to vfio-pci::
+
+    ./usertools/dpdk-devbind.py -b vfio-pci 0000:27:00.0 0000:6f:01.0
+
+2. Launch vhost by below command::
+
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 2-3 -a 0000:27:00.0 -a 0000:6f:01.0,max_queues=2 \
+    --file-prefix=vhost --vdev 'net_vhost0,iface=vhost-net,queues=1,dmas=[txq0@0000:6f:01.0-q0;rxq0@0000:6f:01.0-q1]' \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+3. Launch virtio-user by below command::
+
+    ./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,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \
+    -- -i --nb-cores=1 --txd=1024 --rxd=1024
+    testpmd>set fwd mac
+    testpmd>start
+
+4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command::
+
+    testpmd>show port stats all
-- 
2.25.1