From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0403A41CAE; Thu, 16 Feb 2023 09:22:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EBB6E41141; Thu, 16 Feb 2023 09:22:54 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 33D4B40E0F for ; Thu, 16 Feb 2023 09:22:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676535773; x=1708071773; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=fHzJH2U8gA1q8ufaqrHH6MOJ8yT214gvIf6s7S3xzzI=; b=lWhBqAn7r2JSVaO1YRyoJjM3xOcNwo+mSrD8EDSFxUCkEqLciPFXDL+N 4GPvwwaPhcdzFH0xTLm+s868qqhA9Fr00pciLQZw3hrTtRo3QRwGU6zzV To6zM9WL4wLqI9wOV3kHgEpPtSw8s0mJP4Uuj5Rty3ZnWv7dg4j7J8ymO O7gDy+0z3hNEJ/bBFhP9MJD0kQa/Q+HWVgem2OoNms9s7D9I2rpTpfxrY HwDhigGp+lblrLVmRzYKr75qBWMrQ0EDOIzKEtCUh6H0aIbTTT63OZR6A 0Wj3S1girCWsEHbFMNsz4cOZEQNmXs7cA9mJDbol46i6WNIajJpaHBsII Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="311287356" X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="311287356" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Feb 2023 00:22:50 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10622"; a="670041530" X-IronPort-AV: E=Sophos;i="5.97,301,1669104000"; d="scan'208";a="670041530" Received: from unknown (HELO localhost.localdomain) ([10.239.252.222]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Feb 2023 00:22:48 -0800 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V2 2/4] test_plans/loopback_vhost_async_perf_dsa: add new testplan Date: Thu, 16 Feb 2023 16:09:24 +0800 Message-Id: <20230216080924.1025401-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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Add test_plans/loopback_vhost_async_perf_dsa_test_plan.rst to test loopback vhost/virtio multi-paths async data-path use DSA device with dpdk and kernel driver. Signed-off-by: Wei Ling --- ...oopback_vhost_async_perf_dsa_test_plan.rst | 626 ++++++++++++++++++ 1 file changed, 626 insertions(+) create mode 100644 test_plans/loopback_vhost_async_perf_dsa_test_plan.rst diff --git a/test_plans/loopback_vhost_async_perf_dsa_test_plan.rst b/test_plans/loopback_vhost_async_perf_dsa_test_plan.rst new file mode 100644 index 00000000..44d8e549 --- /dev/null +++ b/test_plans/loopback_vhost_async_perf_dsa_test_plan.rst @@ -0,0 +1,626 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright(c) 2023 Intel Corporation + +=========================================================== +Loopback vhost/virtio multi-paths async data-path test plan +=========================================================== + +Benchmark vhost/virtio-user loopback test with 10 tx/rx paths when vhost uses the asynchronous operation. +Includes split ring mergeable, non-mergeable, vector_rx, inorder mergeable, +inorder non-mergeable, packed ring mergeable, packed ring non-mergeableļ¼Œ +packed ring inorder mergeable, packed ring inorder non-mergeable path and vectorized path. + +Test case +========= + +Common steps +------------ + +1. Bind 1 dsa device to idxd, then generate 1wq by below command:: + + ./usertools/dpdk-devbind.py -b idxd 0000:6a:01.0 + ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0 + +2. Bind 1 dsa device to vfio-pci:: + + ./usertools/dpdk-devbind.py -b idxd 0000:6f:01.0 + +Test Case 1: loopback vhost async test with split ring inorder mergeable path using IDXD kernel driver +------------------------------------------------------------------------------------------------------ + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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=1 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different pac ket length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 2: loopback vhost async test with split ring inorder non-mergeable path using IDXD kernel driver +---------------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 3: loopback vhost async test with split ring mergeable path using IDXD kernel driver +---------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 4: loopback vhost async test with split ring non-mergeable path using IDXD kernel driver +-------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 5: loopback vhost async test with split ring vectorized path using IDXD kernel driver +----------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 6: loopback vhost async test with packed ring inorder mergeable path using IDXD kernel driver +------------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=1 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 7: loopback vhost async test with packed ring inorder non-mergeable path using IDXD kernel driver +----------------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=0 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 8: loopback vhost async test with packed ring mergeable path using IDXD kernel driver +----------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 9: loopback vhost async test with packed ring non-mergeable path using IDXD kernel driver +--------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 10: loopback vhost async test with packed ring vectorized path using IDXD kernel driver +------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 --no-pci --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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=0,vectorized=1 \ + -- -i --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 11: loopback vhost async test with split ring inorder mergeable path using vfio-pci driver +---------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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=1 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 12: loopback vhost async test with split ring inorder non-mergeable path using vfio-pci driver +-------------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 13: loopback vhost async test with split ring mergeable path using vfio-pci driver +-------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 14: loopback vhost async test with split ring non-mergeable path using vfio-pci driver +------------------------------------------------------------------------------------------------ + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 15: loopback vhost async test with split ring vectorized path using vfio-pci driver +--------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 \ + -- -i --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 16: loopback vhost async test with packed ring inorder mergeable path using vfio-pci driver +----------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=1 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 17: loopback vhost async test with packed ring inorder non-mergeable path using vfio-pci driver +--------------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=0 \ + -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 18: loopback vhost async test with packed ring mergeable path using vfio-pci driver +--------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 19: loopback vhost async test with packed ring non-mergeable path using vfio-pci driver +------------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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 --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. + +Test Case 20: loopback vhost async test with packed ring vectorized path using vfio-pci driver +---------------------------------------------------------------------------------------------- + +1. Launch vhost by below command:: + + rm -rf vhost-net* + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -l 2-4 -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 + +2. Launch virtio-user by below command:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 8 -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,in_order=1,mrg_rxbuf=0,vectorized=1 \ + -- -i --rss-ip --nb-cores=1 --txd=1024 --rxd=1024 + testpmd>set fwd mac + testpmd>start + +3. Send packets with vhost-testpmd:: + + testpmd>set txpkts + testpmd>start tx_first 32 + +4. Repeat below command to get throughput 10 times,then check the average throughput can get expected data with below command:: + + testpmd>show port stats all + +5. Quit virtio-user, rerun step 2-4 with different packet length, include [64, 128, 256, 512, 1024, 1518]. -- 2.25.1