get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/109071/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 109071,
    "url": "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"
    ]
}