get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 114499,
    "url": "https://patches.dpdk.org/api/patches/114499/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20220802025805.1094133-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": "<20220802025805.1094133-1-weix.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20220802025805.1094133-1-weix.ling@intel.com",
    "date": "2022-08-02T02:58:05",
    "name": "[V1,2/2] tests/loopback_virtio_user_server_mode_cbdma: modify testsuite to test virito dequeue",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "c7d7a45ea6f0ddc9ce0c8637c3a0b9d702df220b",
    "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/20220802025805.1094133-1-weix.ling@intel.com/mbox/",
    "series": [
        {
            "id": 24156,
            "url": "https://patches.dpdk.org/api/series/24156/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=24156",
            "date": "2022-08-02T02:57:21",
            "name": "modify loopback_virtio_user_server_mode_cbdma to test virito dequeue",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/24156/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/114499/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/114499/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 82CD3A00C3;\n\tTue,  2 Aug 2022 05:03:39 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7799D40141;\n\tTue,  2 Aug 2022 05:03:39 +0200 (CEST)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n by mails.dpdk.org (Postfix) with ESMTP id AA036400D7\n for <dts@dpdk.org>; Tue,  2 Aug 2022 05:03:36 +0200 (CEST)",
            "from orsmga007.jf.intel.com ([10.7.209.58])\n by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Aug 2022 20:03:35 -0700",
            "from unknown (HELO localhost.localdomain) ([10.239.252.222])\n by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Aug 2022 20:03:33 -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=1659409416; x=1690945416;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=1gXAp+WldDWgbrKePEetA6jPRR8Gv4y2ynTY2BQ0OmQ=;\n b=ZbbrjWkTm8Xmut5FEro3jQQUWmnRjpcOlIZW43o6MU8jECNKwfqz88kH\n K9JoeedePiNDYAV6dWW5C6ssBrRi5J+ne6Q03qzi1w9aUdRGNY5Xw/YkN\n MXYM8ZjRTimRd/f/IK+/EernZLoCzYUfWmgdJMjnmJIO8Gs8akndoBzaZ\n XAH5qeI11PRFpAVYM+6ODrrGOyYJEFWKopuGgeQaMWABCX+uMfHmPWPhr\n XdVM8kYsYvX6RYF+zEBWRkhfk2sr+VMNHHnjWlmoOoTWJMDOlVrNzyJXH\n 1b+FvROqNqKBe7loatQZvdO1Xl5CHOolTgJ8qXhAP1HlW+ZXzkZcuukr3 Q==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6400,9594,10426\"; a=\"286866762\"",
            "E=Sophos;i=\"5.93,209,1654585200\";\n d=\"scan'208,223\";a=\"286866762\"",
            "E=Sophos;i=\"5.93,209,1654585200\";\n d=\"scan'208,223\";a=\"599155648\""
        ],
        "From": "Wei Ling <weix.ling@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Wei Ling <weix.ling@intel.com>",
        "Subject": "[dts][PATCH V1 2/2] tests/loopback_virtio_user_server_mode_cbdma:\n modify testsuite to test virito dequeue",
        "Date": "Mon,  1 Aug 2022 22:58:05 -0400",
        "Message-Id": "<20220802025805.1094133-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": "From DPDK-22.07, virtio support async dequeue for split and packed ring\npath, so modify loopback_virtio_user_server_mode_cbdma testsuite to test \nthe split and packed ring async dequeue feature.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n ..._loopback_virtio_user_server_mode_cbdma.py | 543 ++++++------------\n 1 file changed, 170 insertions(+), 373 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_loopback_virtio_user_server_mode_cbdma.py b/tests/TestSuite_loopback_virtio_user_server_mode_cbdma.py\nindex 5b49eaf9..7482f9a4 100644\n--- a/tests/TestSuite_loopback_virtio_user_server_mode_cbdma.py\n+++ b/tests/TestSuite_loopback_virtio_user_server_mode_cbdma.py\n@@ -1,6 +1,32 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2022 Intel Corporation\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+#   * 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+#   * 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 FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n \n \"\"\"\n DPDK Test suite.\n@@ -23,7 +49,7 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])\n         self.core_list = self.dut.get_core_list(config=\"all\", socket=self.ports_socket)\n         self.vhost_core_list = self.core_list[0:9]\n-        self.virtio0_core_list = self.core_list[10:12]\n+        self.virtio0_core_list = self.core_list[10:15]\n         self.path = self.dut.apps_name[\"test-pmd\"]\n         self.testpmd_name = self.path.split(\"/\")[-1]\n         self.app_pdump = self.dut.apps_name[\"pdump\"]\n@@ -41,8 +67,8 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         \"\"\"\n         Run before each test case.\n         \"\"\"\n-        self.dut.send_expect(\"rm -rf ./vhost-net*\", \"#\")\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n+        self.dut.send_expect(\"rm -rf ./vhost-net*\", \"#\")\n         self.table_header = [\n             \"Mode\",\n             \"Pkt_size\",\n@@ -84,13 +110,19 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n     def send_chain_packets_from_vhost(self):\n         time.sleep(3)\n         self.vhost_user_pmd.execute_cmd(\"set txpkts 65535,65535,65535,65535,65535\")\n-        self.vhost_user_pmd.execute_cmd(\"start tx_first 32\")\n+        self.vhost_user_pmd.execute_cmd(\"start tx_first 32\", timeout=30)\n \n     def verify_virtio_user_receive_packets(self):\n-        out = self.virtio_user_pmd.execute_cmd(\"show port stats all\")\n-        self.logger.info(out)\n-        rx_pkts = int(re.search(\"RX-packets: (\\d+)\", out).group(1))\n-        self.verify(rx_pkts > 0, \"virtio-user can not received packets\")\n+        results = 0.0\n+        time.sleep(3)\n+        for _ in range(10):\n+            out = self.virtio_user_pmd.execute_cmd(\"show port stats all\")\n+            lines = re.search(\"Rx-pps:\\s*(\\d*)\", out)\n+            result = lines.group(1)\n+            results += float(result)\n+        Mpps = results / (1000000 * 10)\n+        self.logger.info(Mpps)\n+        self.verify(Mpps > 0, \"virtio-user can not receive packets\")\n \n     def launch_pdump_to_capture_pkt(self, capture_all_queue=True):\n         command = (\n@@ -134,7 +166,9 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             fixed_prefix=True,\n         )\n \n-    def start_virtio_testpmd_with_vhost_net0(self, cores, eal_param, param):\n+    def start_virtio_testpmd_with_vhost_net0(\n+        self, cores, eal_param, param, set_fwd_csum=True\n+    ):\n         \"\"\"\n         launch the testpmd as virtio with vhost_net0\n         \"\"\"\n@@ -148,8 +182,9 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             prefix=\"virtio-user0\",\n             fixed_prefix=True,\n         )\n-        self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n-        self.virtio_user_pmd.execute_cmd(\"start\")\n+        if set_fwd_csum:\n+            self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n+            self.virtio_user_pmd.execute_cmd(\"start\")\n \n     @staticmethod\n     def generate_dms_param(queues):\n@@ -215,38 +250,47 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.dut.close_session(self.vhost_user)\n         self.dut.close_session(self.virtio_user)\n \n-    def test_server_mode_packed_ring_all_path_multi_queues_payload_check_with_cbdma(\n+    def test_loopback_packed_ring_all_path_multi_queues_payload_check_with_server_mode_and_cbdma_enable(\n         self,\n     ):\n         \"\"\"\n-        Test Case 1: loopback packed ring all path cbdma test payload check with server mode and multi-queues\n+        Test Case 1: Loopback packed ring all path multi-queues payload check with server mode and cbdma enable\n         \"\"\"\n-        self.get_cbdma_ports_info_and_bind_to_dpdk(8)\n-        vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq6;txq7]'\"\n-        core1 = self.vhost_core_list[1]\n-        core2 = self.vhost_core_list[2]\n-        core3 = self.vhost_core_list[3]\n-        core4 = self.vhost_core_list[4]\n-        core5 = self.vhost_core_list[5]\n-        cbdma1 = self.cbdma_list[0]\n-        cbdma2 = self.cbdma_list[1]\n-        cbdma3 = self.cbdma_list[2]\n-        cbdma4 = self.cbdma_list[3]\n-        cbdma5 = self.cbdma_list[4]\n-        cbdma6 = self.cbdma_list[5]\n-        cbdma7 = self.cbdma_list[6]\n-        cbdma8 = self.cbdma_list[7]\n+        self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=8)\n+        vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7]'\"\n         lcore_dma = (\n-            f\"[lcore{core1}@{cbdma1},lcore{core1}@{cbdma8},\"\n-            f\"lcore{core2}@{cbdma2},lcore{core2}@{cbdma3},lcore{core2}@{cbdma4},\"\n-            f\"lcore{core3}@{cbdma3},lcore{core3}@{cbdma4},lcore{core3}@{cbdma5},\"\n-            f\"lcore{core4}@{cbdma3},lcore{core4}@{cbdma4},lcore{core4}@{cbdma5},lcore{core4}@{cbdma6},\"\n-            f\"lcore{core5}@{cbdma1},lcore{core5}@{cbdma2},lcore{core5}@{cbdma3},lcore{core5}@{cbdma4},lcore{core5}@{cbdma5},lcore{core5}@{cbdma6},lcore{core5}@{cbdma7},lcore{core5}@{cbdma8}]\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s\"\n+            % (\n+                self.vhost_core_list[1],\n+                self.cbdma_list[0],\n+                self.vhost_core_list[1],\n+                self.cbdma_list[1],\n+                self.vhost_core_list[2],\n+                self.cbdma_list[2],\n+                self.vhost_core_list[2],\n+                self.cbdma_list[3],\n+                self.vhost_core_list[3],\n+                self.cbdma_list[4],\n+                self.vhost_core_list[3],\n+                self.cbdma_list[5],\n+                self.vhost_core_list[4],\n+                self.cbdma_list[6],\n+                self.vhost_core_list[4],\n+                self.cbdma_list[7],\n+            )\n         )\n         vhost_param = (\n-            \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            + \" --lcore-dma={}\".format(lcore_dma)\n+            \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 --lcore-dma=[%s]\"\n+            % lcore_dma\n         )\n+\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n             eal_param=vhost_eal_param,\n@@ -256,8 +300,7 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         )\n \n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,packed_vq=1,server=1\"\n-        virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-        self.logger.info(\"Launch virtio with packed ring mergeable inorder path\")\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n@@ -266,7 +309,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -279,10 +321,9 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch virtio with packed ring mergeable path\")\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,packed_vq=1,server=1\"\n-        virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n@@ -290,7 +331,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -303,10 +343,9 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch virtio with packed ring non-mergeable path\")\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,packed_vq=1,server=1\"\n-        virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n@@ -314,7 +353,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -327,12 +365,9 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\n-            \"Quit and relaunch virtio with packed ring inorder non-mergeable path\"\n-        )\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,server=1\"\n-        virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n@@ -340,7 +375,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -353,12 +387,31 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\n-            \"Quit and relaunch virtio with packed ring vectorized path and ring size is not power of 2 \"\n+        self.virtio_user_pmd.quit()\n+        virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,server=1\"\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+        self.start_virtio_testpmd_with_vhost_net0(\n+            cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n+        )\n+        self.launch_pdump_to_capture_pkt()\n+        self.send_960_packets_from_vhost()\n+        self.check_packet_payload_valid(pkt_len=960)\n+\n+        self.vhost_user_pmd.quit()\n+        self.start_vhost_testpmd(\n+            cores=self.vhost_core_list,\n+            eal_param=vhost_eal_param,\n+            param=vhost_param,\n+            ports=self.cbdma_list,\n+            iova_mode=\"va\",\n         )\n+        self.launch_pdump_to_capture_pkt()\n+        self.send_960_packets_from_vhost()\n+        self.check_packet_payload_valid(pkt_len=960)\n+\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,queue_size=1025,server=1\"\n-        virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1025 --rxd=1025\"\n+        virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1025 --rxd=1025\"\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n@@ -366,7 +419,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -379,14 +431,13 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost w/ iova=pa, Rerun steps 2-19\")\n         if not self.check_2M_env:\n             self.virtio_user_pmd.quit()\n             self.vhost_user_pmd.quit()\n-            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq6;txq7]'\"\n+            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq6;txq7;rxq0;rxq1;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7]'\"\n             vhost_param = (\n-                \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-                + \" --lcore-dma={}\".format(lcore_dma)\n+                \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024 --lcore-dma=[%s]\"\n+                % lcore_dma\n             )\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n@@ -397,7 +448,7 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             )\n \n             virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,packed_vq=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+            virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n             self.logger.info(\"Launch virtio with packed ring mergeable inorder path\")\n             self.start_virtio_testpmd_with_vhost_net0(\n                 cores=self.virtio0_core_list,\n@@ -409,156 +460,47 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             self.send_6192_packets_from_vhost()\n             self.check_packet_payload_valid(pkt_len=6192)\n \n-            self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n-\n-            self.logger.info(\"Quit and relaunch virtio with packed ring mergeable path\")\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,packed_vq=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n-\n-            self.logger.info(\n-                \"Quit and relaunch virtio with packed ring non-mergeable path\"\n-            )\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,packed_vq=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\n-                \"Quit and relaunch virtio with packed ring inorder non-mergeable path\"\n-            )\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\n-                \"Quit and relaunch virtio with packed ring vectorized path and ring size is not power of 2 \"\n-            )\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,queue_size=1025,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1025 --rxd=1025\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 10-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-    def test_server_mode_split_ring_all_path_multi_queues_payload_check_with_cbdma(\n+    def test_loopback_split_ring_all_path_multi_queues_payload_check_with_server_mode_and_cbdma_enable(\n         self,\n     ):\n         \"\"\"\n-        Test Case 2: loopback split ring all path cbdma test payload check with server mode and multi-queues\n+        Test Case 2: Loopback split ring all path multi-queues payload check with server mode and cbdma enable\n         \"\"\"\n-        self.get_cbdma_ports_info_and_bind_to_dpdk(3)\n-        vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6]'\"\n-        core1 = self.vhost_core_list[1]\n-        core2 = self.vhost_core_list[2]\n-        core3 = self.vhost_core_list[3]\n-        core4 = self.vhost_core_list[4]\n-        core5 = self.vhost_core_list[5]\n-        cbdma1 = self.cbdma_list[0]\n-        cbdma2 = self.cbdma_list[1]\n-        cbdma3 = self.cbdma_list[2]\n+        self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=3)\n+        vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7]'\"\n         lcore_dma = (\n-            f\"[lcore{core1}@{cbdma1},\"\n-            f\"lcore{core2}@{cbdma1},\"\n-            f\"lcore{core3}@{cbdma2},lcore{core3}@{cbdma3},\"\n-            f\"lcore{core4}@{cbdma2},lcore{core4}@{cbdma3},\"\n-            f\"lcore{core5}@{cbdma2},lcore{core5}@{cbdma3}]\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s,\"\n+            \"lcore%s@%s\"\n+            % (\n+                self.vhost_core_list[1],\n+                self.cbdma_list[0],\n+                self.vhost_core_list[2],\n+                self.cbdma_list[0],\n+                self.vhost_core_list[3],\n+                self.cbdma_list[1],\n+                self.vhost_core_list[3],\n+                self.cbdma_list[2],\n+                self.vhost_core_list[4],\n+                self.cbdma_list[1],\n+                self.vhost_core_list[4],\n+                self.cbdma_list[2],\n+                self.vhost_core_list[5],\n+                self.cbdma_list[1],\n+                self.vhost_core_list[5],\n+                self.cbdma_list[2],\n+            )\n         )\n         vhost_param = (\n-            \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            + \" --lcore-dma={}\".format(lcore_dma)\n+            \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024 --lcore-dma=[%s]\"\n+            % lcore_dma\n         )\n+\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n             eal_param=vhost_eal_param,\n@@ -569,15 +511,14 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n \n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,server=1\"\n         virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-        self.logger.info(\"Launch virtio with split ring mergeable inorder path\")\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n         )\n+\n         self.launch_pdump_to_capture_pkt()\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -590,7 +531,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch virtio with split ring mergeable path\")\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,server=1\"\n         virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n@@ -601,7 +541,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -614,11 +553,10 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_6192_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=6192)\n \n-        self.logger.info(\"Quit and relaunch virtio with split ring non-mergeable path\")\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,server=1\"\n         virtio_param = (\n-            \" --enable-hw-vlan-strip --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+            \"--enable-hw-vlan-strip --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n         )\n         self.start_virtio_testpmd_with_vhost_net0(\n             cores=self.virtio0_core_list, eal_param=virtio_eal_param, param=virtio_param\n@@ -627,7 +565,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -640,9 +577,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\n-            \"Quit and relaunch virtio with split ring inorder non-mergeable path\"\n-        )\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,server=1\"\n         virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n@@ -653,7 +587,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -666,7 +599,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch virtio with split ring vectorized path\")\n         self.virtio_user_pmd.quit()\n         virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,vectorized=1,server=1\"\n         virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n@@ -677,7 +609,6 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n         self.vhost_user_pmd.quit()\n         self.start_vhost_testpmd(\n             cores=self.vhost_core_list,\n@@ -690,14 +621,13 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         self.send_960_packets_from_vhost()\n         self.check_packet_payload_valid(pkt_len=960)\n \n-        self.logger.info(\"Quit and relaunch vhost w/ iova=pa, Rerun steps 2-19\")\n         if not self.check_2M_env:\n             self.virtio_user_pmd.quit()\n             self.vhost_user_pmd.quit()\n-            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;txq6]'\"\n+            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=8,client=1,dmas=[txq0;txq1;txq2;txq3;txq4;txq5;rxq2;rxq3;rxq4;rxq5;rxq6;rxq7]'\"\n             vhost_param = (\n-                \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-                + \" --lcore-dma={}\".format(lcore_dma)\n+                \" --nb-cores=5 --rxq=8 --txq=8 --txd=1024 --rxd=1024 --lcore-dma=[%s]\"\n+                % lcore_dma\n             )\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n@@ -708,153 +638,30 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             )\n \n             virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.logger.info(\"Launch virtio with split ring mergeable inorder path\")\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n-\n-            self.logger.info(\"Quit and relaunch virtio with split ring mergeable path\")\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=1,in_order=0,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+            virtio_param = \" --nb-cores=4 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n+            self.logger.info(\"Launch virtio with packed ring mergeable inorder path\")\n             self.start_virtio_testpmd_with_vhost_net0(\n                 cores=self.virtio0_core_list,\n                 eal_param=virtio_eal_param,\n                 param=virtio_param,\n             )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_6192_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=6192)\n \n-            self.logger.info(\"Quit and relaunch vhost and rerun step 4-6\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n             self.launch_pdump_to_capture_pkt()\n             self.send_6192_packets_from_vhost()\n             self.check_packet_payload_valid(pkt_len=6192)\n \n-            self.logger.info(\n-                \"Quit and relaunch virtio with split ring non-mergeable path\"\n-            )\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,server=1\"\n-            virtio_param = \" --enable-hw-vlan-strip --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\n-                \"Quit and relaunch virtio with split ring inorder non-mergeable path\"\n-            )\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch virtio with split ring vectorized path\")\n-            self.virtio_user_pmd.quit()\n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=8,mrg_rxbuf=0,in_order=0,vectorized=1,server=1\"\n-            virtio_param = \" --nb-cores=1 --rxq=8 --txq=8 --txd=1024 --rxd=1024\"\n-            self.start_virtio_testpmd_with_vhost_net0(\n-                cores=self.virtio0_core_list,\n-                eal_param=virtio_eal_param,\n-                param=virtio_param,\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-            self.logger.info(\"Quit and relaunch vhost and rerun step 11-12\")\n-            self.vhost_user_pmd.quit()\n-            self.start_vhost_testpmd(\n-                cores=self.vhost_core_list,\n-                eal_param=vhost_eal_param,\n-                param=vhost_param,\n-                ports=self.cbdma_list,\n-                iova_mode=\"pa\",\n-            )\n-            self.launch_pdump_to_capture_pkt()\n-            self.send_960_packets_from_vhost()\n-            self.check_packet_payload_valid(pkt_len=960)\n-\n-    def test_server_mode_split_ring_large_chain_packets_stress_test_with_cbdma(self):\n+    def test_loopback_split_ring_large_chain_packets_stress_test_with_server_mode_and_cbdma_enable(\n+        self,\n+    ):\n         \"\"\"\n-        Test Case 3: loopback split ring large chain packets stress test with server mode and cbdma enqueue\n+        Test Case 3: Loopback split ring large chain packets stress test with server mode and cbdma enable\n         \"\"\"\n         if not self.check_2M_env:\n-            self.get_cbdma_ports_info_and_bind_to_dpdk(1)\n-            vhost_eal_param = (\n-                \"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,client=1,dmas=[txq0]'\"\n-            )\n-            core1 = self.vhost_core_list[1]\n-            cbdma1 = self.cbdma_list[0]\n-            lcore_dma = f\"[lcore{core1}@{cbdma1}]\"\n-            vhost_param = \" --nb-cores=1 --mbuf-size=65535\" + \" --lcore-dma={}\".format(\n-                lcore_dma\n-            )\n+            self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=1)\n+            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,client=1,dmas=[txq0;rxq0]'\"\n+            lcore_dma = \"lcore%s@%s\" % (self.vhost_core_list[1], self.cbdma_list[0])\n+\n+            vhost_param = \" --nb-cores=1 --mbuf-size=65535 --lcore-dma=[%s]\" % lcore_dma\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n                 eal_param=vhost_eal_param,\n@@ -865,19 +672,16 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n \n             virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=1,server=1,mrg_rxbuf=1,in_order=0,vectorized=1,queue_size=2048\"\n             virtio_param = \" --nb-cores=1 --rxq=1 --txq=1 --txd=2048 --rxd=2048\"\n-            self.logger.info(\"Launch virtio with split ring vectorized path\")\n             self.start_virtio_testpmd_with_vhost_net0(\n                 cores=self.virtio0_core_list,\n                 eal_param=virtio_eal_param,\n                 param=virtio_param,\n+                set_fwd_csum=False,\n             )\n \n             self.send_chain_packets_from_vhost()\n             self.verify_virtio_user_receive_packets()\n \n-            self.logger.info(\n-                \"Stop and quit vhost testpmd and relaunch vhost with iova=pa\"\n-            )\n             self.vhost_user_pmd.quit()\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n@@ -889,21 +693,18 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n             self.send_chain_packets_from_vhost()\n             self.verify_virtio_user_receive_packets()\n \n-    def test_server_mode_packed_ring_large_chain_packets_stress_test_with_cbdma(self):\n+    def test_loopback_packed_ring_large_chain_packets_stress_test_with_server_mode_and_cbdma_enable(\n+        self,\n+    ):\n         \"\"\"\n-        Test Case 4: loopback split packed large chain packets stress test with server mode and cbdma enqueue\n+        Test Case 4: Loopback packed ring large chain packets stress test with server mode and cbdma enable\n         \"\"\"\n         if not self.check_2M_env:\n-            self.get_cbdma_ports_info_and_bind_to_dpdk(1)\n-            vhost_eal_param = (\n-                \"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,client=1,dmas=[txq0]'\"\n-            )\n-            core1 = self.vhost_core_list[1]\n-            cbdma1 = self.cbdma_list[0]\n-            lcore_dma = f\"[lcore{core1}@{cbdma1}]\"\n-            vhost_param = \" --nb-cores=1 --mbuf-size=65535\" + \" --lcore-dma={}\".format(\n-                lcore_dma\n-            )\n+            self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=1)\n+            vhost_eal_param = \"--vdev 'eth_vhost0,iface=vhost-net0,queues=1,client=1,dmas=[txq0;rxq0]'\"\n+            lcore_dma = \"lcore%s@%s\" % (self.vhost_core_list[1], self.cbdma_list[0])\n+\n+            vhost_param = \" --nb-cores=1 --mbuf-size=65535 --lcore-dma=[%s]\" % lcore_dma\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n                 eal_param=vhost_eal_param,\n@@ -912,21 +713,18 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n                 iova_mode=\"va\",\n             )\n \n-            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=1,mrg_rxbuf=1,in_order=0,vectorized=1,packed_vq=1,queue_size=2048,server=1\"\n+            virtio_eal_param = \"--vdev=net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net0,queues=1,server=1,mrg_rxbuf=1,in_order=0,vectorized=1,packed_vq=1,queue_size=2048\"\n             virtio_param = \" --nb-cores=1 --rxq=1 --txq=1 --txd=2048 --rxd=2048\"\n-            self.logger.info(\"Launch virtio with split ring vectorized path\")\n             self.start_virtio_testpmd_with_vhost_net0(\n                 cores=self.virtio0_core_list,\n                 eal_param=virtio_eal_param,\n                 param=virtio_param,\n+                set_fwd_csum=False,\n             )\n \n             self.send_chain_packets_from_vhost()\n             self.verify_virtio_user_receive_packets()\n \n-            self.logger.info(\n-                \"Stop and quit vhost testpmd and relaunch vhost with iova=pa\"\n-            )\n             self.vhost_user_pmd.quit()\n             self.start_vhost_testpmd(\n                 cores=self.vhost_core_list,\n@@ -942,9 +740,8 @@ class TestLoopbackVirtioUserServerModeCbama(TestCase):\n         \"\"\"\n         Run after each test case.\n         \"\"\"\n-        self.virtio_user_pmd.quit()\n-        self.vhost_user_pmd.quit()\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n+        self.dut.kill_all()\n         self.bind_cbdma_device_to_kernel()\n \n     def tear_down_all(self):\n",
    "prefixes": [
        "V1",
        "2/2"
    ]
}