Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/109071/?format=api
https://patches.dpdk.org/api/patches/109071/?format=api", "web_url": "https://patches.dpdk.org/project/dts/patch/20220401101120.50119-1-weix.ling@intel.com/", "project": { "id": 3, "url": "https://patches.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20220401101120.50119-1-weix.ling@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220401101120.50119-1-weix.ling@intel.com", "date": "2022-04-01T10:11:20", "name": "[V1,3/5] test_plans/vm2vm_virtio_user_cbdma_test_plan: add DPDK22.03 new feature", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "927c8fc315a6d867cc5b874290910a6c278bde39", "submitter": { "id": 1828, "url": "https://patches.dpdk.org/api/people/1828/?format=api", "name": "Ling, WeiX", "email": "weix.ling@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dts/patch/20220401101120.50119-1-weix.ling@intel.com/mbox/", "series": [ { "id": 22315, "url": "https://patches.dpdk.org/api/series/22315/?format=api", "web_url": "https://patches.dpdk.org/project/dts/list/?series=22315", "date": "2022-04-01T10:10:17", "name": "update testplan and testsuite by DPDK", "version": 1, "mbox": "https://patches.dpdk.org/series/22315/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/109071/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/109071/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 44B92A0507;\n\tFri, 1 Apr 2022 12:11:30 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3C61D42911;\n\tFri, 1 Apr 2022 12:11:30 +0200 (CEST)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by mails.dpdk.org (Postfix) with ESMTP id 6F8FB4067E\n for <dts@dpdk.org>; Fri, 1 Apr 2022 12:11:27 +0200 (CEST)", "from orsmga008.jf.intel.com ([10.7.209.65])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Apr 2022 03:11:26 -0700", "from unknown (HELO localhost.localdomain) ([10.239.251.222])\n by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Apr 2022 03:11:24 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1648807887; x=1680343887;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=F71shNnXhdoBVOWRrLCl+uJ0cWTWNumJaq7i71JdatA=;\n b=RrJS2edPesX/cpH+BZpzrV84t9RIu9REo3ca3SBzBhHKlmMthYc4H787\n sRYBv4r2MA6XKOUGATvbkwc04F2H6cUCTxQj3fVajXs42LPkX/CrWbjln\n yhRMtJVMsMnR6DC0CamTa2NMV/Fsw4ktunq9bBXNlSxVqxwkz7Pw9fBMu\n rjEAS6wfn98hKjobsjh60HuvXKYAscffFZF7OOOrC/A2jdht3NcQxjU6i\n 6WL3qjscJetSsDcBhXWI5Syfl9JH6twYnvEYXNNWQuH0l2J/WjaQxo/Nh\n U9Gfbt+AOoaUuzpazAuQTckQ4rIGxa22pcL4NP0IhZulfjDlQnnYECVTi w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6200,9189,10303\"; a=\"260084258\"", "E=Sophos;i=\"5.90,227,1643702400\"; d=\"scan'208\";a=\"260084258\"", "E=Sophos;i=\"5.90,227,1643702400\"; d=\"scan'208\";a=\"567360376\"" ], "From": "Wei Ling <weix.ling@intel.com>", "To": "dts@dpdk.org", "Cc": "Wei Ling <weix.ling@intel.com>", "Subject": "[PATCH V1 3/5] test_plans/vm2vm_virtio_user_cbdma_test_plan: add\n DPDK22.03 new feature", "Date": "Fri, 1 Apr 2022 18:11:20 +0800", "Message-Id": "<20220401101120.50119-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 <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org" }, "content": "As commit 53d3f4778c(vhost: integrate dmadev in asynchronous data-path),\nadd new testplan/vm2vm_virtio_user_cbdma_test_plan.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n .../vm2vm_virtio_user_cbdma_test_plan.rst | 1087 +++++++++++++++++\n 1 file changed, 1087 insertions(+)\n create mode 100644 test_plans/vm2vm_virtio_user_cbdma_test_plan.rst", "diff": "diff --git a/test_plans/vm2vm_virtio_user_cbdma_test_plan.rst b/test_plans/vm2vm_virtio_user_cbdma_test_plan.rst\nnew file mode 100644\nindex 00000000..835b2be3\n--- /dev/null\n+++ b/test_plans/vm2vm_virtio_user_cbdma_test_plan.rst\n@@ -0,0 +1,1087 @@\n+.. Copyright (c) <2022>, Intel Corporation\n+ All rights reserved.\n+\n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions\n+ are met:\n+\n+ - Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+\n+ - Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in\n+ the documentation and/or other materials provided with the\n+ distribution.\n+\n+ - Neither the name of Intel Corporation nor the names of its\n+ contributors may be used to endorse or promote products derived\n+ from this software without specific prior written permission.\n+\n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n+ OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+=================================================\n+vm2vm vhost-user/virtio-user test plan\n+=================================================\n+\n+Description\n+===========\n+Test indirect descriptor feature.\n+For example, the split ring mergeable inorder path use non-indirect descriptor,\n+the 2000,2000,2000,2000 chain packets will need 4 consequent ring, still need one ring put header.\n+the split ring mergeable path use indirect descriptor,\n+the 2000,2000,2000,2000 chain packets will only occupy one ring.\n+\n+This test plan test several features in VM2VM topo:\n+1. Split ring and packed ring vm2vm test when vhost enqueue operation with multi-CBDMA channels.\n+2. payload check\n+3. iova=pa mode (When DMA devices are bound to vfio driver, VA mode is the default and recommended.\n+For PA mode, page by page mapping may exceed IOMMU's max capability, better to use 1G guest hugepage.)\n+\n+For more about dpdk-testpmd sample, please refer to the DPDK docments:\n+https://doc.dpdk.org/guides/testpmd_app_ug/run_app.html\n+\n+For virtio-user vdev parameter, you can refer to the DPDK docments:\n+https://doc.dpdk.org/guides/nics/virtio.html#virtio-paths-selection-and-usage.\n+\n+Prerequisites\n+=============\n+\n+Topology\n+--------\n+Test flow: Virtio-user-->Vhost-user-->Testpmd-->Vhost-user-->Virtio-user\n+\n+Hardware\n+--------\n+Supportted NICs: ALL\n+\n+Software\n+--------\n+Trex:http://trex-tgn.cisco.com/trex/release/v2.26.tar.gz\n+\n+General set up\n+--------------\n+1. Compile DPDK::\n+\n+ # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=<dpdk build dir>\n+ # ninja -C <dpdk build dir> -j 110\n+\n+2. Get the PCI device ID and DMA device ID of DUT, for example, 0000:18:00.0 is PCI device ID, 0000:00:04.0, 0000:00:04.1 is DMA device ID::\n+\n+ <dpdk dir># ./usertools/dpdk-devbind.py -s\n+\n+ Network devices using kernel driver\n+ ===================================\n+ 0000:18:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci\n+\n+ DMA devices using kernel driver\n+ ===============================\n+ 0000:00:04.0 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=vfio-pci\n+ 0000:00:04.1 'Sky Lake-E CBDMA Registers 2021' drv=ioatdma unused=vfio-pci\n+\n+Test case\n+=========\n+\n+Common steps\n+------------\n+1. Bind 1 NIC port and CBDMA channels to vfio-pci::\n+\n+ <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port pci device id>\n+ <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port DMA device id>\n+\n+ For example, 2 CBDMA channels::\n+ ./usertools/dpdk-devbind.py -b vfio-pci 0000:00:04.0,0000:00:04.1\n+\n+Test Case 1: split virtqueue vm2vm non-mergeable path multi-queues payload check with cbdma enable\n+--------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring multi-queues payload check with cbdma enable.\n+\n+1. Bind 2 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 -a 0000:00:04.1 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \\\n+ --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,queue_size=4096 \\\n+ -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \\\n+ --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,queue_size=4096 \\\n+ -- -i --enable-hw-vlan-strip --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,128,256,512\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 1\n+ testpmd>stop\n+\n+6. Start vhost testpmd, check virtio-user1 RX-packets is 566 and RX-bytes is 486016, 54 packets with 960 length and 512 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 -a 0000:00:04.1 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,128,256,512\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\ttestpmd>set burst 32\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 1\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 2: split virtqueue vm2vm mergeable path multi-queues payload check with cbdma enable\n+----------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 1 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+\n+6. Start vhost testpmd, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 3: split virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enable\n+----------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring non-mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 5 CBDMA channel to vfio-pci, as common step 1.\n+\n+1. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4]\n+\n+2. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+3. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+4. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=0,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+\n+5. Start vhost testpmd, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+6. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+7. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+8. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048'\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4]\n+\n+9. Rerun step 3.\n+\n+10. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\n+11. Rerun step 5.\n+\n+Test Case 4: split virtqueue vm2vm vectorized path multi-queues payload check with cbdma enable\n+-----------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring vectorized path multi-queues payload check with cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,mrg_rxbuf=0,in_order=0,vectorized=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+\n+6. Start vhost testpmd, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 5: Split virtqueue vm2vm inorder mergeable path test non-indirect descriptor with cbdma enable\n+--------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring inorder mergeable path test non-indirect descriptor with cbdma enable.\n+\n+1. Bind 4 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch testpmd by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \\\n+ --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets(include 251 small packets and 32 8K packets)::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \\\n+ --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+ testpmd>set burst 1\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set txpkts 2000,2000,2000,2000\n+ testpmd>start tx_first 1\n+ testpmd>stop\n+\n+6. Start vhost, then quit pdump and three testpmd, about split virtqueue inorder mergeable path, it use the non-indirect descriptors,\n+the 8k length pkt will occupies 5 ring:2000,2000,2000,2000 will need 4 consequent ring,\n+still need one ring put header. So check 504 packets and 48128 bytes received by virtio-user1 and 502 packets with 64 length and 2 packets with 8K length in pdump-virtio-rx.pcap.\n+\n+7. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3]\n+\n+8. Rerun step 3-6.\n+\n+Test Case 6: Split virtqueue vm2vm mergeable path test indirect descriptor with cbdma enable\n+--------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of split ring mergeable path test indirect descriptor with cbdma enable.\n+\n+1. Bind 4 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch testpmd by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \\\n+ --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets(include 251 small packets and 32 8K packets)::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \\\n+ --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=0,mrg_rxbuf=1,in_order=0,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+ testpmd>set burst 1\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set txpkts 2000,2000,2000,2000\n+ testpmd>start tx_first 1\n+ testpmd>stop\n+\n+6. Start vhost, then quit pdump and three testpmd, about split virtqueue mergeable path, it use the indirect descriptors, the 8k length pkt will just occupies one ring.\n+So check 512 packets and 112128 bytes received by virtio-user1 and 502 packets with 64 length and 10 packets with 8K length in pdump-virtio-rx.pcap.\n+\n+7. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3]\n+\n+8. Rerun step 3-6.\n+\n+Test Case 7: packed virtqueue vm2vm non-mergeable path multi-queues payload check with cbdma enable\n+---------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring non-mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 2 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 -a 0000:00:04.1 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 \\\n+ --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 \\\n+ --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+\n+6. Start vhost testpmd, check virtio-user1 RX-packets is 448 and RX-bytes is 28672, 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 -a 0000:00:04.1 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 8: packed virtqueue vm2vm mergeable path multi-queues payload check with cbdma enable\n+-----------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 1 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=0,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+\n+6. Start vhost testpmd, then quit pdump, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 -a 0000:00:04.0 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 9: packed virtqueue vm2vm inorder mergeable path multi-queues payload check with cbdma enable\n+-------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring inorder mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 5 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 8k length packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+\n+6. Start vhost testpmd, then quit pdump, check 502 packets and 279232 bytes received by virtio-user1 and 54 packets with 4640 length and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\n+12. Rerun step 5.\n+\n+Test Case 10: packed virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enable\n+------------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring inorder non-mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 8k length packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+\n+6. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\n+12. Rerun step 6.\n+\n+Test Case 11: packed virtqueue vm2vm vectorized-rx path multi-queues payload check with cbdma enable\n+----------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring non-mergeable path multi-queues payload check with cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=2 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore12@0000:00:04.4,lcore12@0000:00:04.5,lcore12@0000:00:04.6,lcore12@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 8k length packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4096 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096\n+\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+\n+6. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=2 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore12@0000:00:04.3,lcore12@0000:00:04.4,lcore12@0000:00:04.5,lcore12@0000:00:04.6,lcore12@0000:00:04.7]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\n+12. Rerun step 5.\n+\n+Test Case 12: packed virtqueue vm2vm vectorized path multi-queues payload check with ring size is not power of 2 and cbdma enable\n+---------------------------------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring vectorized path multi-queues payload check with ring size is not power of 2 and cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio1 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4097 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4097 --rxd=4097\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 8k length packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1,queue_size=4097 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4097 --rxd=4097\n+\n+ testpmd>set burst 32\n+ testpmd>set txpkts 64\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set burst 1\n+ testpmd>set txpkts 64,256,2000,64,256,2000\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+\n+6. Start vhost testpmd, then quit pdump, check 448 packets and 28672 bytes received by virtio-user1 and 448 packets with 64 length in pdump-virtio-rx.pcap.\n+\n+7. Quit vhost testpmd::\n+\n+ testpmd>quit\n+\n+8. Clear virtio-user1 port stats, execute below command::\n+\n+ testpmd>stop\n+ testpmd>clear port stats all\n+ testpmd>start\n+\n+9. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=4096 --rxd=4096 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore12@0000:00:04.3,lcore12@0000:00:04.4,lcore12@0000:00:04.5,lcore12@0000:00:04.6,lcore12@0000:00:04.7]\n+\n+10. Rerun step 3.\n+\n+11. Virtio-user0 send packets::\n+\n+\ttestpmd>set burst 32\n+\ttestpmd>set txpkts 64\n+\ttestpmd>start tx_first 7\n+\ttestpmd>stop\n+\ttestpmd>set burst 1\n+\ttestpmd>set txpkts 64,256,2000,64,256,2000\n+\ttestpmd>start tx_first 27\n+\ttestpmd>stop\n+\n+12. Rerun step 5.\n+\n+Test Case 13: packed virtqueue vm2vm vectorized-tx path multi-queues test indirect descriptor with cbdma enable\n+---------------------------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring vectorized-tx path multi-queues test indirect descriptor with cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 8k length packets::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256\n+\n+ testpmd>set burst 1\n+ testpmd>start tx_first 27\n+ testpmd>stop\n+ testpmd>set burst 32\n+ testpmd>start tx_first 7\n+ testpmd>stop\n+ testpmd>set txpkts 2000,2000,2000,2000\n+ testpmd>start tx_first 1\n+ testpmd>stop\n+\n+6. Start vhost, then quit pdump and three testpmd, about packed virtqueue vectorized-tx path, it use the indirect descriptors, the 8k length pkt will just occupies one ring.\n+So check 512 packets and 112128 bytes received by virtio-user1 and 502 packets with 64 length and 10 packets with 8K length in pdump-virtio-rx.pcap.\n+\n+7. Relaunch vhost with iova=pa by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0;txq1],dma_ring_size=2048' \\\n+ --iova=pa -- -i --nb-cores=1 --rxq=2 --txq=2 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+8. Rerun step 3-6.\n+\n+Test Case 14: packed virtqueue vm2vm vectorized-tx path test batch processing with cbdma enable\n+-----------------------------------------------------------------------------------------------\n+This case uses testpmd and 2 VMs to test of packed ring vectorized-tx path test batch processing with cbdma enable.\n+\n+1. Bind 8 CBDMA channel to vfio-pci, as common step 1.\n+\n+2. Launch vhost by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 10-18 -n 4 \\\n+ -a 0000:00:04.0 -a 0000:00:04.1 -a 0000:00:04.2 -a 0000:00:04.3 -a 0000:00:04.4 -a 0000:00:04.5 -a 0000:00:04.6 -a 0000:00:04.7 \\\n+ --vdev 'eth_vhost0,iface=vhost-net,queues=1,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --vdev 'eth_vhost1,iface=vhost-net1,queues=1,client=1,dmas=[txq0],dma_ring_size=2048' \\\n+ --iova=va -- -i --nb-cores=1 --rxq=1 --txq=1 --txd=256 --rxd=256 --no-flush-rx \\\n+ --lcore-dma=[lcore11@0000:00:04.0,lcore11@0000:00:04.1,lcore11@0000:00:04.2,lcore11@0000:00:04.3,lcore11@0000:00:04.4,lcore11@0000:00:04.5,lcore11@0000:00:04.6,lcore11@0000:00:04.7]\n+\n+3. Launch virtio-user1 by below command::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 7-8 --no-pci --file-prefix=virtio1 --force-max-simd-bitwidth=512 \\\n+ --vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=1 --txq=1 --txd=256 --rxd=256\n+ testpmd>set fwd rxonly\n+ testpmd>start\n+\n+4. Attach pdump secondary process to primary process by same file-prefix::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-pdump -v --file-prefix=virtio1 -- --pdump 'device_id=net_virtio_user1,queue=*,rx-dev=./pdump-virtio-rx.pcap,mbuf-size=8000'\n+\n+5. Launch virtio-user0 and send 1 packet::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -n 4 -l 5-6 --force-max-simd-bitwidth=512 --no-pci --file-prefix=virtio \\\n+ --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=1,server=1,packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1,queue_size=256 \\\n+ -- -i --nb-cores=1 --rxq=1 --txq=1 --txd=256 --rxd=256\n+ testpmd>set burst 1\n+ testpmd>start tx_first 1\n+ testpmd>stop\n+\n+6. Start vhost, then quit pdump and three testpmd, check 1 packet and 64 bytes received by virtio-user1 and 1 packet with 64 length in pdump-virtio-rx.pcap.\n", "prefixes": [ "V1", "3/5" ] }{ "id": 109071, "url": "