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 CC728A050B; Fri, 15 Apr 2022 05:25:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C52944067C; Fri, 15 Apr 2022 05:25:40 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id E755F4003C for ; Fri, 15 Apr 2022 05:25:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649993139; x=1681529139; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=zC+O457rAZLCjcRc4tn4M9Qp1DpvkU/e0oBNJghJ5Ug=; b=W2H/0IKnT4QQgTalRQTCJbfjmYZjogRUKbu/Vr3Eu49060oyZpzxQb5Q /EeDmogeiZniEDMQEiB4klNtXghm1oXWVjlOmEPWqNNmziH0kI3qAEgxo Qz+V+7Q4fzGasPVeOsEBkp2tb4cxzCs9mWxaTJd2wXU9s1ChD02oWd1mg kQnQJGzVk2F9edAHYTVITBNiUAhqAN79GanoyPgWWWTjylXDhnIl0POms l2t4IesyDTo6ShVMKWvyn7A4Qgga/M7voayqWEzf4rVI1EMdFYQ9FfcWH 8mdKIiSsbnuzZEaNLR2PByPUR/X3HySu85+rqxmki+A3CcFp7gUUy/xF8 Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10317"; a="262528638" X-IronPort-AV: E=Sophos;i="5.90,261,1643702400"; d="scan'208";a="262528638" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2022 20:25:38 -0700 X-IronPort-AV: E=Sophos;i="5.90,261,1643702400"; d="scan'208";a="574133552" Received: from unknown (HELO localhost.localdomain) ([10.239.251.222]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2022 20:25:36 -0700 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V1 1/5] test_plans/loopback_virtio_user_server_mode_test_plan: delte CBDMA test case Date: Fri, 15 Apr 2022 11:25:16 +0800 Message-Id: <20220415032516.251365-1-weix.ling@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 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 As commit 53d3f4778c(vhost: integrate dmadev in asynchronous data-path), delete cbdma related case form test_plans/loopback_virtio_user_server_mode_test_plan. Signed-off-by: Wei Ling --- ...back_virtio_user_server_mode_test_plan.rst | 922 ++++++++---------- 1 file changed, 387 insertions(+), 535 deletions(-) diff --git a/test_plans/loopback_virtio_user_server_mode_test_plan.rst b/test_plans/loopback_virtio_user_server_mode_test_plan.rst index 092eb5e8..b372f885 100644 --- a/test_plans/loopback_virtio_user_server_mode_test_plan.rst +++ b/test_plans/loopback_virtio_user_server_mode_test_plan.rst @@ -34,75 +34,113 @@ vhost/virtio-user loopback server mode test plan ================================================ -Virtio-user server mode is a feature to enable virtio-user as the server, vhost as the client, thus after vhost-user is killed then relaunched, -virtio-user can reconnect back to vhost-user again; at another hand, virtio-user also can reconnect back to vhost-user after virtio-user is killed. -This feature test need cover different rx/tx paths with virtio 1.0 and virtio 1.1, includes split ring mergeable, non-mergeable, inorder mergeable, -inorder non-mergeable, vector_rx path and packed ring mergeable, non-mergeable, inorder non-mergeable, inorder mergeable, vectorized path. -Split ring and packed ring test when vhost enqueue operation with multi-CBDMA channels. When DMA devices are bound to vfio driver, -VA mode is the default and recommended. For PA mode, page by page mapping may exceed IOMMU's max capability, better to use 1G guest hugepage. +Virtio-user server mode is a feature to enable virtio-user as the server, +vhost as the client, thus after vhost-user is killed then relaunched, +virtio-user can reconnect back to vhost-user again; at another hand, +virtio-user also can reconnect back to vhost-user after virtio-user is killed. +This feature test need cover different rx/tx paths with virtio 1.0 and virtio 1.1, +includes split ring mergeable, non-mergeable, inorder mergeable, +inorder non-mergeable, vector_rx path and packed ring mergeable, non-mergeable, +inorder non-mergeable, inorder mergeable, vectorized path. + +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= + # ninja -C -j 110 + +Test case +========= + +Common steps +------------ Test Case 1: Basic test for packed ring server mode -=================================================== +--------------------------------------------------- +This case uses testpmd to test packed ring with loopback virtio-user server mode. 1. Launch virtio-user as server mode:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=/tmp/sock0,server=1,queues=1,packed_vq=1 -- -i --rxq=1 --txq=1 --no-numa - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch vhost as client mode:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=/tmp/sock0,client=1,queues=1' -- -i --rxq=1 --txq=1 --nb-cores=1 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 3. Run below command to get throughput,verify the loopback throughput is not zero:: - testpmd>show port stats all + testpmd> show port stats all Test Case 2: Basic test for split ring server mode -=================================================== +--------------------------------------------------- +This case uses testpmd to test split ring with loopback virtio-user server mode. 1. Launch virtio-user as server mode:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=/tmp/sock0,server=1,queues=1 -- -i --rxq=1 --txq=1 --no-numa >set fwd mac >start 2. Launch vhost as client mode:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 3-4 -n 4 --no-pci --file-prefix=vhost \ --vdev 'net_vhost0,iface=/tmp/sock0,client=1,queues=1' -- -i --rxq=1 --txq=1 --nb-cores=1 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 3. Run below command to get throughput,verify the loopback throughput is not zero:: - testpmd>show port stats all + testpmd> show port stats all Test Case 3: loopback reconnect test with split ring mergeable path and server mode -=================================================================================== +----------------------------------------------------------------------------------- +This case uses testpmd to test split ring mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 8 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=8' -- -i --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 8 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=8,mrg_rxbuf=1,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -111,21 +149,21 @@ Test Case 3: loopback reconnect test with split ring mergeable path and server m 4. Relaunch vhost and send chain packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=8' -- -i --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -134,52 +172,52 @@ Test Case 3: loopback reconnect test with split ring mergeable path and server m 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=8,mrg_rxbuf=1,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>set txpkts 2000,2000,2000,2000 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 4: loopback reconnect test with split ring inorder mergeable path and server mode -=========================================================================================== +------------------------------------------------------------------------------------------- +This case uses testpmd to test split ring inorder mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues, check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=1,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -188,21 +226,21 @@ Test Case 4: loopback reconnect test with split ring inorder mergeable path and 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -211,51 +249,51 @@ Test Case 4: loopback reconnect test with split ring inorder mergeable path and 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=1,in_order=1\ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>set txpkts 2000,2000,2000,2000 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 5: loopback reconnect test with split ring inorder non-mergeable path and server mode -=============================================================================================== +----------------------------------------------------------------------------------------------- +This case uses testpmd to test split ring inorder non-mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -264,20 +302,20 @@ Test Case 5: loopback reconnect test with split ring inorder non-mergeable path 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -286,49 +324,49 @@ Test Case 5: loopback reconnect test with split ring inorder non-mergeable path 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 6: loopback reconnect test with split ring non-mergeable path and server mode -======================================================================================= +--------------------------------------------------------------------------------------- +This case uses testpmd to test split ring non-mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=0,vectorized=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -337,20 +375,20 @@ Test Case 6: loopback reconnect test with split ring non-mergeable path and serv 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -359,49 +397,49 @@ Test Case 6: loopback reconnect test with split ring non-mergeable path and serv 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=0,vectorized=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 7: loopback reconnect test with split ring vector_rx path and server mode -=================================================================================== +----------------------------------------------------------------------------------- +This case uses testpmd to test split ring vector_rx path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=0,vectorized=1 \ -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -410,20 +448,20 @@ Test Case 7: loopback reconnect test with split ring vector_rx path and server m 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -432,50 +470,50 @@ Test Case 7: loopback reconnect test with split ring vector_rx path and server m 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,mrg_rxbuf=0,in_order=0,vectorized=1 \ -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 8: loopback reconnect test with packed ring mergeable path and server mode -==================================================================================== +------------------------------------------------------------------------------------ +This case uses testpmd to test packed ring mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=1,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -484,21 +522,21 @@ Test Case 8: loopback reconnect test with packed ring mergeable path and server 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -507,51 +545,51 @@ Test Case 8: loopback reconnect test with packed ring mergeable path and server 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=1,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>set txpkts 2000,2000,2000,2000 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 9: loopback reconnect test with packed ring non-mergeable path and server mode -======================================================================================== +---------------------------------------------------------------------------------------- +This case uses testpmd to test packed ring non-mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -560,16 +598,16 @@ Test Case 9: loopback reconnect test with packed ring non-mergeable path and ser 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: @@ -582,50 +620,50 @@ Test Case 9: loopback reconnect test with packed ring non-mergeable path and ser 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=0 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 10: loopback reconnect test with packed ring inorder mergeable path and server mode -============================================================================================= +--------------------------------------------------------------------------------------------- +This case uses testpmd to test packed ring inorder mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 8 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=8' -- -i --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 8 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=8,packed_vq=1,mrg_rxbuf=1,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -634,21 +672,21 @@ Test Case 10: loopback reconnect test with packed ring inorder mergeable path an 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=8' -- -i --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -657,51 +695,51 @@ Test Case 10: loopback reconnect test with packed ring inorder mergeable path an 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=8,packed_vq=1,mrg_rxbuf=1,in_order=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=8 --txq=8 - >set fwd mac - >set txpkts 2000,2000,2000,2000 - >start tx_first 32 + testpmd> set fwd mac + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>set txpkts 2000,2000,2000,2000 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> set txpkts 2000,2000,2000,2000 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 11: loopback reconnect test with packed ring inorder non-mergeable path and server mode -================================================================================================= +------------------------------------------------------------------------------------------------- +This case uses testpmd to test packed ring inorder non-mergeable path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \ -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -710,20 +748,20 @@ Test Case 11: loopback reconnect test with packed ring inorder non-mergeable pat 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -732,49 +770,49 @@ Test Case 11: loopback reconnect test with packed ring inorder non-mergeable pat 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \ -- -i --rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop Test Case 12: loopback reconnect test with packed ring vectorized path and server mode -======================================================================================= +-------------------------------------------------------------------------------------- +This case uses testpmd to test packed ring vectorized path with loopback virtio-user server mode and reconnect vhost-user and virtio-user. 1. launch vhost as client mode with 2 queues:: - rm -rf vhost-net* - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --log-level=pmd.net.vhost.driver,8 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --log-level=pmd.net.vhost.driver,8 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start + testpmd> set fwd mac + testpmd> start 2. Launch virtio-user as server mode with 2 queues and check throughput can get expected:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --log-level=pmd.net.virtio.driver,8 --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --log-level=pmd.net.virtio.driver,8 --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 - >show port stats all + testpmd> set fwd mac + testpmd> start tx_first 32 + testpmd> show port stats all 3. Quit vhost side testpmd, check the virtio-user side link status:: @@ -783,20 +821,20 @@ Test Case 12: loopback reconnect test with packed ring vectorized path and serve 4. Relaunch vhost and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xe -n 4 --no-pci --file-prefix=vhost \ --vdev 'eth_vhost0,iface=vhost-net,client=1,queues=2' -- -i --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 5. Check the virtio-user side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 6. Check each RX/TX queue has packets:: - testpmd>stop + testpmd> stop 7. Quit virtio-user side testpmd, check the vhost side link status:: @@ -805,46 +843,52 @@ Test Case 12: loopback reconnect test with packed ring vectorized path and serve 8. Relaunch virtio-user and send packets:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-7 --no-pci --file-prefix=virtio --force-max-simd-bitwidth=512 \ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,server=1,queues=2,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1 \ -- -i --tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip --nb-cores=2 --rxq=2 --txq=2 - >set fwd mac - >start tx_first 32 + testpmd> set fwd mac + testpmd> start tx_first 32 9. Check the vhost side link status and run below command to get throughput, check throughput can get expected:: testpmd> show port info 0 #it should show up" - testpmd>show port stats all + testpmd> show port stats all 10. Port restart at vhost side by below command and check throughput can get expected:: - testpmd>stop - testpmd>port stop 0 - testpmd>port start 0 - testpmd>start tx_first 32 - testpmd>show port stats all + testpmd> stop + testpmd> port stop 0 + testpmd> port start 0 + testpmd> start tx_first 32 + testpmd> show port stats all 11. Check each RX/TX queue has packets:: - testpmd>stop + testpmd>stop Test Case 13: loopback packed ring all path payload check test using server mode and multi-queues -================================================================================================= +------------------------------------------------------------------------------------------------- +This case uses testpmd to test packed ring all path with loopback virtio-user server mode and multi-queues to check payload. 1. launch vhost:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 --no-pci --file-prefix=vhost -n 4 --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1' -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 --no-pci --file-prefix=vhost -n 4 \ + --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1' -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 2. Launch virtio-user with packed ring mergeable inorder path:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio --no-pci --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,packed_vq=1,server=1 -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,packed_vq=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd> set fwd csum + 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=virtio -- --pdump 'device_id=net_virtio_user0,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000' + ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio -- \ + --pdump 'device_id=net_virtio_user0,queue=0,rx-dev=./pdump-virtio-rx-q0.pcap,mbuf-size=8000' + --pdump 'device_id=net_virtio_user0,queue=1,rx-dev=./pdump-virtio-rx-q1.pcap,mbuf-size=8000' 4. Send large pkts from vhost:: @@ -860,29 +904,31 @@ Test Case 13: loopback packed ring all path payload check test using server mode 7. Quit and relaunch virtio with packed ring mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,packed_vq=1,server=1 -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,packed_vq=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd> set fwd csum + testpmd> start 8. Rerun step 3-6. 9. Quit and relaunch virtio with packed ring non-mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,packed_vq=1,server=1 -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,packed_vq=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd> set fwd csum + testpmd> start 10. Rerun step 3. 11. Send pkts from vhost:: - testpmd> set fwd csum - testpmd> set txpkts 64,128,256,512 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop + testpmd> set fwd csum + testpmd> set txpkts 64,128,256,512 + testpmd> set burst 1 + testpmd> start tx_first 1 + testpmd> stop 12. Quit pdump, check all the packets length are 960 Byte in the pcap file and the payload in receive packets are same. @@ -890,50 +936,56 @@ Test Case 13: loopback packed ring all path payload check test using server mode 14. Quit and relaunch virtio with packed ring inorder non-mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,server=1 -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd> set fwd csum + testpmd> start 15. Rerun step 10-13. 16. Quit and relaunch virtio with packed ring vectorized path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,vectorized=1,packed_vq=1,server=1 -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,vectorized=1,packed_vq=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd> set fwd csum + testpmd> start 17 Rerun step 10-13. 18. Quit and relaunch virtio with packed ring vectorized path and ring size is not power of 2 as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,vectorized=1,packed_vq=1,queue_size=1025,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1025 --rxd=1025 - testpmd> set fwd csum - testpmd> start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,vectorized=1,packed_vq=1,queue_size=1025,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1025 --rxd=1025 + testpmd> set fwd csum + testpmd> start 19. Rerun step 10-13. Test Case 14: loopback split ring all path payload check test using server mode and multi-queues -================================================================================================ +------------------------------------------------------------------------------------------------ +This case uses testpmd to test split ring all path with loopback virtio-user server mode and multi-queues to check payload. 1. Launch vhost:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 --no-pci --file-prefix=vhost -n 4 --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1' -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 --no-pci --file-prefix=vhost -n 4 \ + --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1' -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 2. Launch virtio-user with split ring mergeable inorder path:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,server=1 \ -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start + testpmd>set fwd csum + 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=virtio-user0 -- --pdump 'device_id=net_virtio_user0,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000' + ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio -- \ + --pdump 'device_id=net_virtio_user0,queue=0,rx-dev=./pdump-virtio-rx-q0.pcap,mbuf-size=8000' + --pdump 'device_id=net_virtio_user0,queue=1,rx-dev=./pdump-virtio-rx-q1.pcap,mbuf-size=8000' 4. Send large pkts from vhost:: @@ -949,31 +1001,31 @@ Test Case 14: loopback split ring all path payload check test using server mode 7. Quit and relaunch virtio with split ring mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,server=1 \ -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start + testpmd>set fwd csum + testpmd>start 8. Rerun steps 3-6. 9. Quit and relaunch virtio with split ring non-mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,server=1 \ -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start + testpmd>set fwd csum + testpmd>start 10. Rerun step 3. 11. Send pkts from vhost:: - testpmd> set fwd csum - testpmd> set txpkts 64,128,256,512 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop + testpmd> set fwd csum + testpmd> set txpkts 64,128,256,512 + testpmd> set burst 1 + testpmd> start tx_first 1 + testpmd> stop 12. Quit pdump, check all the packets length are 960 Byte in the pcap file and the payload in receive packets are same. @@ -981,220 +1033,20 @@ Test Case 14: loopback split ring all path payload check test using server mode 14. Quit and relaunch virtio with split ring inorder non-mergeable path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd csum + testpmd>start 15. Rerun step 10-13. 16. Quit and relaunch virtio with split ring vectorized path as below:: - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,vectorized=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -17. Rerun step 10-13. - -Test Case 15: loopback packed ring all path cbdma test payload check with server mode and multi-queues -====================================================================================================== - -1. bind 8 cbdma port to vfio-pci and launch vhost:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 -n 4 \ - --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1;txq2@0000:80:04.2;txq3@0000:80:04.3;txq4@0000:80:04.4;txq5@0000:80:04.5;txq6@0000:80:04.6;txq7@0000:80:04.7]' \ - --iova=va -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - -2. Launch virtio-user with packed ring mergeable inorder path:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,packed_vq=1,server=1 - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - 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=virtio-user0 -- --pdump 'device_id=net_virtio_user0,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000' - -4. Send large pkts from vhost, check loopback performance can get expected and each queue can receive packets:: - - testpmd> vhost enable tx all - testpmd> set fwd csum - testpmd> set txpkts 64,64,64,2000,2000,2000 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop - -5. Quit pdump, check all the packets length are 6192 Byte in the pcap file, and the payload in receive packets are same. - -6. Quit and relaunch vhost and rerun step3-5. - -7. Quit and relaunch virtio with packed ring mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,packed_vq=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -8. Rerun steps 3-6. - -9. Quit and relaunch virtio with packed ring non-mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,packed_vq=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -10. Rerun step 3. - -11. Send pkts from vhost:: - - testpmd> vhost enable tx all - testpmd> set fwd csum - testpmd> set txpkts 64,128,256,512 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop - -12. Quit pdump, check all the packets length are 960 Byte in the pcap file and the payload in receive packets are same. - -13. Quit and relaunch vhost and rerun step 10-12. - -14. Quit and relaunch virtio with packed ring inorder non-mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -15. Rerun step 10-13. - -16. Quit and relaunch virtio with packed ring vectorized path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -17. Rerun step 10-13. - -18. Quit and relaunch virtio with packed ring vectorized path and ring size is not power of 2 as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci --force-max-simd-bitwidth=512 \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,queue_size=1025,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1025 --rxd=1025 - testpmd>set fwd csum - testpmd>start - -19. Rerun step 10-13. - -20. Quit and relaunch vhost w/ iova=pa:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 --file-prefix=vhost -n 4 \ - --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1;txq2@0000:00:04.2;txq3@0000:00:04.3;txq4@0000:00:04.4;txq5@0000:00:04.5;txq6@0000:00:04.6;txq7@0000:00:04.7]' \ - --iova=pa -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - -21. Quit virtio and rerun steps 2-19. - -Test Case 16: loopback split ring all path cbdma test payload check with server mode and multi-queues -===================================================================================================== - -1. bind 8 cbdma port to vfio-pci and launch vhost:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 32-33 -n 4 \ - --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0@0000:80:04.0;txq1@0000:80:04.1;txq2@0000:80:04.2;txq3@0000:80:04.3;txq4@0000:80:04.4;txq5@0000:80:04.5;txq6@0000:80:04.6;txq7@0000:80:04.7]' \ - --iova=va -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - -2. Launch virtio-user with split ring mergeable inorder path:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - 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=virtio-user0 -- --pdump 'device_id=net_virtio_user0,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000' - -4. Send large pkts from vhost:: - - testpmd> vhost enable tx all - testpmd> set fwd csum - testpmd> set txpkts 64,64,64,2000,2000,2000 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop - -5. Quit pdump, check all the packets length are 6192 Byte in the pcap file and the payload in receive packets are same. - -6. Quit and relaunch vhost and rerun step3-5. - -7. Quit and relaunch virtio with split ring mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -8. Rerun steps 3-6. - -9. Quit and relaunch virtio with split ring non-mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,server=1 \ - -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -10. Rerun step 3. - -11. Send pkts from vhost:: - - testpmd> vhost enable tx all - testpmd> set fwd csum - testpmd> set txpkts 64,128,256,512 - testpmd> set burst 1 - testpmd> start tx_first 1 - testpmd> stop - -12. Quit pdump, check all the packets length are 960 Byte in the pcap file and the payload in receive packets are same. - -13. Quit and relaunch vhost and rerun step 10-12. - -14. Quit and relaunch virtio with split ring inorder non-mergeable path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -15. Rerun step 10-13. - -16. Quit and relaunch virtio with split ring vectorized path as below:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ - --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,vectorized=1,server=1 \ - -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 - testpmd>set fwd csum - testpmd>start - -17. Rerun step 10-13. - -18. Quit and relaunch vhost w/ iova=pa:: - - ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-3 --file-prefix=vhost -n 4 \ - --vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0@0000:00:04.0;txq1@0000:00:04.1;txq2@0000:00:04.2;txq3@0000:00:04.3;txq4@0000:00:04.4;txq5@0000:00:04.5;txq6@0000:00:04.6;txq7@0000:00:04.7]' \ - --iova=pa -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 30,31 -n 4 --file-prefix=virtio-user0 --no-pci \ + --vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,vectorized=1,server=1 \ + -- -i --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024 + testpmd>set fwd csum + testpmd>start -19. Quit virtio and rerun steps 2-17. +17. Rerun step 10-13. \ No newline at end of file -- 2.25.1