get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125544,
    "url": "https://patches.dpdk.org/api/patches/125544/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20230328072043.3795609-3-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": "<20230328072043.3795609-3-weix.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230328072043.3795609-3-weix.ling@intel.com",
    "date": "2023-03-28T07:20:43",
    "name": "[V1,2/2] tests/pvp_qemu_multi_paths_port_restart: optimize testsuite script",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "e50306a434405f795e7ec8fb0ab362e9f7b6e2cc",
    "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/20230328072043.3795609-3-weix.ling@intel.com/mbox/",
    "series": [
        {
            "id": 27557,
            "url": "https://patches.dpdk.org/api/series/27557/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=27557",
            "date": "2023-03-28T07:20:41",
            "name": "completion testplan and optimize testsuite script",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/27557/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/125544/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/125544/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 59B8B42854;\n\tTue, 28 Mar 2023 09:24:35 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 55F7D40EDF;\n\tTue, 28 Mar 2023 09:24:35 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 14CAB40156\n for <dts@dpdk.org>; Tue, 28 Mar 2023 09:24:33 +0200 (CEST)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Mar 2023 00:24:33 -0700",
            "from unknown (HELO localhost.localdomain) ([10.239.252.222])\n by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Mar 2023 00:24:32 -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=1679988274; x=1711524274;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=A65ByRNIvj6lRim6k9IYcx2xGg2MwGZsSsP7aZi2Psc=;\n b=Bleygev2E73LEWIseB9XYIxjIpbxIdEclwZvSBz+zx1egeiqB/KN3WV5\n sXZllh3M0XiGvoYYYQOolkEvc1S9Q5PxbWLf6Axuhhy/byqYO8IqqaC0J\n H8Vi3rz9ZYkpIz+rWCExwnUELGqPz0IV5ZH/CUQLHAPTK0SvOKIlBlvIK\n /ZqwPWHlm9qaJb8xQhZ5QtSmZL3QN/MQaVdWTpORVVYu3pVHv+nzSLdFE\n I22SlLUDoXDeo6IhmY22YIJiPXsv03xU+v7NpoOoKxeF3zR02ZmcptZcE\n Rsl5CDOwfsS0+oBkcqE5iUUsI4jHHrhXf0raHQtgmfYKB612eqApj9S6/ A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10662\"; a=\"324389277\"",
            "E=Sophos;i=\"5.98,296,1673942400\"; d=\"scan'208\";a=\"324389277\"",
            "E=McAfee;i=\"6600,9927,10662\"; a=\"794675236\"",
            "E=Sophos;i=\"5.98,296,1673942400\"; d=\"scan'208\";a=\"794675236\""
        ],
        "X-ExtLoop1": "1",
        "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/pvp_qemu_multi_paths_port_restart: optimize\n testsuite script",
        "Date": "Tue, 28 Mar 2023 15:20:43 +0800",
        "Message-Id": "<20230328072043.3795609-3-weix.ling@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230328072043.3795609-1-weix.ling@intel.com>",
        "References": "<20230328072043.3795609-1-weix.ling@intel.com>",
        "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": "Replace pmd_out API to replace send_expect() to start testpmd.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n ...Suite_pvp_qemu_multi_paths_port_restart.py | 161 ++++++++----------\n 1 file changed, 70 insertions(+), 91 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py\nindex 64bb4436..64661a1e 100644\n--- a/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py\n+++ b/tests/TestSuite_pvp_qemu_multi_paths_port_restart.py\n@@ -2,19 +2,12 @@\n # Copyright(c) 2010-2019 Intel Corporation\n #\n \n-\"\"\"\n-DPDK Test suite.\n-Benchmark pvp qemu test with 3 RX/TX PATHs,\n-includes Mergeable, Normal, Vector_RX.\n-Cover virtio 1.1 1.0 and virtio 0.95.Also cover\n-port restart test with each path\n-\"\"\"\n import re\n import time\n \n-import framework.utils as utils\n from framework.packet import Packet\n from framework.pktgen import PacketGeneratorHelper\n+from framework.pmd_output import PmdOutput\n from framework.test_case import TestCase\n from framework.virt_common import VM\n \n@@ -28,7 +21,6 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         self.core_config = \"1S/3C/1T\"\n         self.dut_ports = self.dut.get_ports()\n         self.verify(len(self.dut_ports) >= 1, \"Insufficient ports for testing\")\n-        # get core mask\n         self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])\n         self.core_list = self.dut.get_core_list(\n             self.core_config, socket=self.ports_socket\n@@ -41,21 +33,24 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         out = self.tester.send_expect(\"ls -d %s\" % self.out_path, \"# \")\n         if \"No such file or directory\" in out:\n             self.tester.send_expect(\"mkdir -p %s\" % self.out_path, \"# \")\n+        self.base_dir = self.dut.base_dir.replace(\"~\", \"/root\")\n         # create an instance to set stream field setting\n         self.pktgen_helper = PacketGeneratorHelper()\n         self.pci_info = self.dut.ports_info[0][\"pci\"]\n         self.number_of_ports = 1\n         self.path = self.dut.apps_name[\"test-pmd\"]\n         self.testpmd_name = self.path.split(\"/\")[-1]\n+        self.vhost_user = self.dut.new_session(suite=\"vhost-user\")\n+        self.vhost_user_pmd = PmdOutput(self.dut, self.vhost_user)\n \n     def set_up(self):\n         \"\"\"\n         Run before each test case.\n         \"\"\"\n         # Clean the execution ENV\n-        self.dut.send_expect(\"rm -rf ./vhost.out\", \"#\")\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n         self.dut.send_expect(\"killall -s INT qemu-system-x86_64\", \"#\")\n+        self.dut.send_expect(\"rm -rf %s/vhost-net*\" % self.base_dir, \"#\")\n         # Prepare the result table\n         self.table_header = [\n             \"FrameSize(B)\",\n@@ -66,82 +61,67 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         ]\n         self.result_table_create(self.table_header)\n \n-        self.vhost = self.dut.new_session(suite=\"vhost-user\")\n-\n     def start_vhost_testpmd(self):\n         \"\"\"\n         start testpmd on vhost\n         \"\"\"\n-        self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n-        self.dut.send_expect(\"rm -rf ./vhost-net*\", \"#\")\n-        vdev = [r\"'net_vhost0,iface=vhost-net,queues=1'\"]\n-        eal_params = self.dut.create_eal_parameters(\n-            cores=self.core_list, prefix=\"vhost\", ports=[self.pci_info], vdevs=vdev\n+        eal_param = \"--vdev 'eth_vhost0,iface=vhost-net,queues=1'\"\n+        param = \"--nb-cores=1 --txd=1024 --rxd=1024\"\n+        self.vhost_user_pmd.start_testpmd(\n+            cores=self.core_list,\n+            eal_param=eal_param,\n+            param=param,\n+            prefix=\"vhost-user\",\n+            fixed_prefix=True,\n+            ports=[self.pci_info],\n         )\n-        para = \" -- -i --nb-cores=1 --txd=1024 --rxd=1024\"\n-        command_line_client = self.path + eal_params + para\n-        self.vhost.send_expect(command_line_client, \"testpmd> \", 120)\n-        self.vhost.send_expect(\"set fwd mac\", \"testpmd> \", 120)\n-        self.vhost.send_expect(\"start\", \"testpmd> \", 120)\n+        self.vhost_user_pmd.execute_cmd(\"set fwd mac\")\n+        self.vhost_user_pmd.execute_cmd(\"start\")\n \n     def start_vm_testpmd(self, path):\n         \"\"\"\n         start testpmd in vm depend on different path\n         \"\"\"\n+        self.vm0_pmd = PmdOutput(self.vm_dut)\n+        self.vm0_pci = self.vm_dut.get_port_pci(0)\n+        self.vm_core_config = \"1S/2C/1T\"\n+        self.vm_core_list = self.vm_dut.get_core_list(config=self.vm_core_config)\n+        eal_param = \"-a %s\" % (self.vm0_pci)\n+        param = \"--nb-cores=1 --txd=1024 --rxd=1024\"\n         if path == \"mergeable\":\n-            command = (\n-                self.path + \"-c 0x3 -n 3 -- -i \" + \"--nb-cores=1 --txd=1024 --rxd=1024\"\n-            )\n+            eal_param = eal_param\n+            param = param\n         elif path == \"normal\":\n-            command = (\n-                self.path\n-                + \"-c 0x3 -n 3 -- -i \"\n-                + \"--tx-offloads=0x0 --enable-hw-vlan-strip \"\n-                + \"--nb-cores=1 --txd=1024 --rxd=1024\"\n-            )\n+            eal_param = eal_param\n+            param = \"--tx-offloads=0x0 --enable-hw-vlan-strip \" + param\n         elif path == \"vector_rx\":\n-            command = (\n-                self.path\n-                + \"-c 0x3 -n 3 -a %s,vectorized=1 -- -i \"\n-                + \"--nb-cores=1 --txd=1024 --rxd=1024\"\n-            ) % self.vm_dut.get_port_pci(0)\n-        self.vm_dut.send_expect(command, \"testpmd> \", 30)\n-        self.vm_dut.send_expect(\"set fwd mac\", \"testpmd> \", 30)\n-        self.vm_dut.send_expect(\"start\", \"testpmd> \", 30)\n+            eal_param = eal_param + \",vectorized=1\"\n+            param = param\n+        self.vm0_pmd.start_testpmd(\n+            cores=self.vm_core_list, eal_param=eal_param, param=param, fixed_prefix=True\n+        )\n+        self.vm0_pmd.execute_cmd(\"set fwd mac\")\n+        self.vm0_pmd.execute_cmd(\"start\")\n \n-    def start_one_vm(self, modem=0, mergeable=0, packed=0):\n+    def start_one_vm(self, disable_modern=False, mrg_rxbuf=False, packed=False):\n         \"\"\"\n         start qemu\n         \"\"\"\n         self.vm = VM(self.dut, \"vm0\", \"vhost_sample\")\n         vm_params = {}\n         vm_params[\"driver\"] = \"vhost-user\"\n-        vm_params[\"opt_path\"] = \"./vhost-net\"\n+        vm_params[\"opt_path\"] = \"%s/vhost-net\" % self.base_dir\n         vm_params[\"opt_mac\"] = self.virtio1_mac\n-        if modem == 1 and mergeable == 0 and packed == 0:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=false,mrg_rxbuf=off,rx_queue_size=1024,tx_queue_size=1024\"\n-        elif modem == 1 and mergeable == 1 and packed == 0:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=false,mrg_rxbuf=on,rx_queue_size=1024,tx_queue_size=1024\"\n-        elif modem == 0 and mergeable == 0 and packed == 0:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=true,mrg_rxbuf=off,rx_queue_size=1024,tx_queue_size=1024\"\n-        elif modem == 0 and mergeable == 1 and packed == 0:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=true,mrg_rxbuf=on,rx_queue_size=1024,tx_queue_size=1024\"\n-        elif modem == 1 and mergeable == 0 and packed == 1:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=false,mrg_rxbuf=off,packed=on,rx_queue_size=1024,tx_queue_size=1024\"\n-        elif modem == 1 and mergeable == 1 and packed == 1:\n-            vm_params[\n-                \"opt_settings\"\n-            ] = \"disable-modern=false,mrg_rxbuf=on,packed=on,rx_queue_size=1024,tx_queue_size=1024\"\n+        disable_modern_param = \"true\" if disable_modern else \"false\"\n+        mrg_rxbuf_param = \"on\" if mrg_rxbuf else \"off\"\n+        packed_param = \",packed=on\" if packed else \"\"\n+        vm_params[\n+            \"opt_settings\"\n+        ] = \"disable-modern=%s,mrg_rxbuf=%s,rx_queue_size=1024,tx_queue_size=1024%s\" % (\n+            disable_modern_param,\n+            mrg_rxbuf_param,\n+            packed_param,\n+        )\n         self.vm.set_vm_device(**vm_params)\n \n         try:\n@@ -157,7 +137,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         \"\"\"\n         loop = 1\n         while loop <= 5:\n-            out = self.vhost.send_expect(\"show port stats 0\", \"testpmd>\", 60)\n+            out = self.vhost_user_pmd.execute_cmd(\"show port stats 0\")\n             lines = re.search(\"Rx-pps:\\s*(\\d*)\", out)\n             result = lines.group(1)\n             if result == \"0\":\n@@ -174,7 +154,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         \"\"\"\n         loop = 1\n         while loop <= 5:\n-            out = self.vhost.send_expect(\"show port info all\", \"testpmd> \", 120)\n+            out = self.vhost_user_pmd.execute_cmd(\"show port info all\")\n             port_status = re.findall(\"Link\\s*status:\\s*([a-z]*)\", out)\n             if \"down\" not in port_status:\n                 break\n@@ -184,13 +164,13 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         self.verify(\"down\" not in port_status, \"port can not up after restart\")\n \n     def port_restart(self):\n-        self.vhost.send_expect(\"stop\", \"testpmd> \", 120)\n-        self.vhost.send_expect(\"port stop 0\", \"testpmd> \", 120)\n+        self.vhost_user_pmd.execute_cmd(\"stop\")\n+        self.vhost_user_pmd.execute_cmd(\"port stop 0\")\n         self.check_port_throughput_after_port_stop()\n-        self.vhost.send_expect(\"clear port stats all\", \"testpmd> \", 120)\n-        self.vhost.send_expect(\"port start all\", \"testpmd> \", 120)\n+        self.vhost_user_pmd.execute_cmd(\"clear port stats all\")\n+        self.vhost_user_pmd.execute_cmd(\"port start all\")\n         self.check_port_link_status_after_port_restart()\n-        self.vhost.send_expect(\"start\", \"testpmd> \", 120)\n+        self.vhost_user_pmd.execute_cmd(\"start\")\n \n     def update_table_info(self, case_info, frame_size, Mpps, throughtput, Cycle):\n         results_row = [frame_size]\n@@ -272,21 +252,21 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         \"\"\"\n         close testpmd about vhost-user and vm_testpmd\n         \"\"\"\n-        self.vhost.send_expect(\"quit\", \"#\", 60)\n-        self.vm_dut.send_expect(\"quit\", \"#\", 60)\n+        self.vhost_user_pmd.quit()\n+        self.vm0_pmd.quit()\n \n     def close_session(self):\n         \"\"\"\n         close session of vhost-user\n         \"\"\"\n-        self.dut.close_session(self.vhost)\n+        self.dut.close_session(self.vhost_user)\n \n     def test_perf_pvp_qemu_mergeable_mac(self):\n         \"\"\"\n         Test Case 1: pvp test with virtio 0.95 mergeable path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=0, mergeable=1)\n+        self.start_one_vm(disable_modern=True, mrg_rxbuf=True, packed=False)\n         self.start_vm_testpmd(path=\"mergeable\")\n         self.send_and_verify(\"virtio0.95 mergeable\")\n         self.close_all_testpmd()\n@@ -298,7 +278,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 2: pvp test with virtio 0.95 normal path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=0, mergeable=0)\n+        self.start_one_vm(disable_modern=True, mrg_rxbuf=False, packed=False)\n         self.start_vm_testpmd(path=\"normal\")\n         self.send_and_verify(\"virtio0.95 normal\")\n         self.close_all_testpmd()\n@@ -310,7 +290,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 3: pvp test with virtio 0.95 vrctor_rx path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=0, mergeable=0)\n+        self.start_one_vm(disable_modern=True, mrg_rxbuf=False, packed=False)\n         self.start_vm_testpmd(path=\"vector_rx\")\n         self.send_and_verify(\"virtio0.95 vector_rx\")\n         self.close_all_testpmd()\n@@ -322,7 +302,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 4: pvp test with virtio 1.0 mergeable path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=1)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=True, packed=False)\n         self.start_vm_testpmd(path=\"mergeable\")\n         self.send_and_verify(\"virtio1.0 mergeable\")\n         self.close_all_testpmd()\n@@ -334,7 +314,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 5: pvp test with virtio 1.0 normal path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=0)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=False, packed=False)\n         self.start_vm_testpmd(path=\"normal\")\n         self.send_and_verify(\"virtio1.0 normal\")\n         self.close_all_testpmd()\n@@ -346,7 +326,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 6: pvp test with virtio 1.0 vrctor_rx path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=0)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=False, packed=False)\n         self.start_vm_testpmd(path=\"vector_rx\")\n         self.send_and_verify(\"virtio1.0 vector_rx\")\n         self.close_all_testpmd()\n@@ -358,7 +338,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 7: pvp test with virtio 1.1 mergeable path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=1, packed=1)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=True, packed=True)\n         self.start_vm_testpmd(path=\"mergeable\")\n         self.send_and_verify(\"virtio1.1 mergeable\")\n         self.close_all_testpmd()\n@@ -370,7 +350,7 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 8: pvp test with virtio 1.1 normal path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=0, packed=1)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=False, packed=True)\n         self.start_vm_testpmd(path=\"normal\")\n         self.send_and_verify(\"virtio1.1 normal\")\n         self.close_all_testpmd()\n@@ -382,26 +362,26 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         Test Case 9: pvp test with virtio 1.1 vrctor_rx path\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=0, packed=1)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=False, packed=True)\n         self.start_vm_testpmd(path=\"vector_rx\")\n         self.send_and_verify(\"virtio1.1 vector_rx\")\n         self.close_all_testpmd()\n         self.result_table_print()\n         self.vm.stop()\n \n-    def test_perf_pvp_qemu_modern_mergeable_mac_restart_100_times(self):\n+    def test_perf_pvp_qemu_modern_mergeable_mac_restart_10_times(self):\n         \"\"\"\n-        Test Case 10: pvp test with virtio 1.0 mergeable path restart 100 times\n+        Test Case 10: pvp test with virtio 1.0 mergeable path restart 10 times\n         \"\"\"\n         self.start_vhost_testpmd()\n-        self.start_one_vm(modem=1, mergeable=1)\n+        self.start_one_vm(disable_modern=False, mrg_rxbuf=True, packed=False)\n         self.start_vm_testpmd(path=\"mergeable\")\n \n         case_info = \"virtio1.0 mergeable\"\n         Mpps, throughput = self.calculate_avg_throughput(64)\n         self.update_table_info(case_info, 64, Mpps, throughput, \"Before Restart\")\n-        for cycle in range(100):\n-            self.logger.info(\"now port restart  %d times\" % (cycle + 1))\n+        for cycle in range(10):\n+            self.logger.info(\"now port restart %d times\" % (cycle + 1))\n             self.port_restart()\n             Mpps, throughput = self.calculate_avg_throughput(64)\n             self.update_table_info(\n@@ -418,10 +398,9 @@ class TestPVPQemuMultiPathPortRestart(TestCase):\n         \"\"\"\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n         self.dut.send_expect(\"killall -s INT qemu-system-x86_64\", \"#\")\n-        self.close_session()\n-        time.sleep(2)\n \n     def tear_down_all(self):\n         \"\"\"\n         Run after each test suite.\n         \"\"\"\n+        self.close_session()\n",
    "prefixes": [
        "V1",
        "2/2"
    ]
}