Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/111373/?format=api
https://patches.dpdk.org/api/patches/111373/?format=api", "web_url": "https://patches.dpdk.org/project/dts/patch/20220519074337.2815352-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": "<20220519074337.2815352-1-weix.ling@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220519074337.2815352-1-weix.ling@intel.com", "date": "2022-05-19T07:43:37", "name": "[V2,2/2] tests/loopback_virtio_user_server_mode: delete CBDMA related testcases and code", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "f875448df442a72e7f5041c84a1fee61d6b42249", "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/20220519074337.2815352-1-weix.ling@intel.com/mbox/", "series": [ { "id": 23024, "url": "https://patches.dpdk.org/api/series/23024/?format=api", "web_url": "https://patches.dpdk.org/project/dts/list/?series=23024", "date": "2022-05-19T07:43:13", "name": "delete CBDMA related testcases and code", "version": 2, "mbox": "https://patches.dpdk.org/series/23024/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/111373/comments/", "check": "warning", "checks": "https://patches.dpdk.org/api/patches/111373/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 F22D8A0503;\n\tThu, 19 May 2022 09:45:18 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E992840150;\n\tThu, 19 May 2022 09:45:18 +0200 (CEST)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 967F14161A\n for <dts@dpdk.org>; Thu, 19 May 2022 09:45:14 +0200 (CEST)", "from fmsmga001.fm.intel.com ([10.253.24.23])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 May 2022 00:45:01 -0700", "from unknown (HELO localhost.localdomain) ([10.239.251.222])\n by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 May 2022 00:44:58 -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=1652946315; x=1684482315;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=gxy+FbDY1taoYzNLl5GD2QMqbT1lH8vHKvRDiwIj7ig=;\n b=l8S9ApzvNijszCWVrU6OKYt1IN1CnXamkH2n84n93cQQZwuHEAx7l93p\n /Lsgv/V4QjHiFxS1mLgEsJLF+N5ujUB0J2yCqgZJVBBlyhgHIqeRot/zO\n LN1Dgfm5Aj4r+cjCg6NHUz6esXwz2tlPM9CzpTKfHjASLBpWan6c0HAhZ\n khTWeUPdJvv8Ry9zHZ40KGCpdq731aJs86kMq4Pcca7JlQVdqTLwePKO5\n MTrbuSqmQ7IWDojq1gAa5oMlTHM3i/Y+oi8b7JCG8rm72llzwNweHVro2\n urzamDpjHD8IT0d6XhzFZqZ6py4paUvr8GCx4Trk0SvviA5Fxl70SbBtg w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6400,9594,10351\"; a=\"254123149\"", "E=Sophos;i=\"5.91,237,1647327600\"; d=\"scan'208\";a=\"254123149\"", "E=Sophos;i=\"5.91,237,1647327600\"; d=\"scan'208\";a=\"714861248\"" ], "From": "Wei Ling <weix.ling@intel.com>", "To": "dts@dpdk.org", "Cc": "Wei Ling <weix.ling@intel.com>", "Subject": "[dts][PATCH V2 2/2] tests/loopback_virtio_user_server_mode: delete\n CBDMA related testcases and code", "Date": "Thu, 19 May 2022 03:43:37 -0400", "Message-Id": "<20220519074337.2815352-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": "Delete CBDMA related testcases and code.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n ...tSuite_loopback_virtio_user_server_mode.py | 784 ++++++------------\n 1 file changed, 254 insertions(+), 530 deletions(-)", "diff": "diff --git a/tests/TestSuite_loopback_virtio_user_server_mode.py b/tests/TestSuite_loopback_virtio_user_server_mode.py\nindex a59d34b1..870c7258 100644\n--- a/tests/TestSuite_loopback_virtio_user_server_mode.py\n+++ b/tests/TestSuite_loopback_virtio_user_server_mode.py\n@@ -39,7 +39,6 @@ import copy\n import re\n import time\n \n-import framework.utils as utils\n from framework.packet import Packet\n from framework.pmd_output import PmdOutput\n from framework.test_case import TestCase\n@@ -70,8 +69,13 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.testpmd_name = self.path.split(\"/\")[-1]\n self.app_pdump = self.dut.apps_name[\"pdump\"]\n self.dump_pcap = \"/root/pdump-rx.pcap\"\n- self.device_str = \"\"\n- self.cbdma_dev_infos = []\n+ self.dump_pcap_q0 = \"/root/pdump-rx-q0.pcap\"\n+ self.dump_pcap_q1 = \"/root/pdump-rx-q1.pcap\"\n+\n+ self.vhost_user = self.dut.new_session(suite=\"vhost_user\")\n+ self.virtio_user = self.dut.new_session(suite=\"virtio-user\")\n+ self.vhost_user_pmd = PmdOutput(self.dut, self.vhost_user)\n+ self.virtio_user_pmd = PmdOutput(self.dut, self.virtio_user)\n \n def set_up(self):\n \"\"\"\n@@ -90,11 +94,6 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n ]\n self.result_table_create(self.table_header)\n \n- self.vhost = self.dut.new_session(suite=\"vhost\")\n- self.virtio_user = self.dut.new_session(suite=\"virtio-user\")\n- self.vhost_pmd = PmdOutput(self.dut, self.vhost)\n- self.virtio_user_pmd = PmdOutput(self.dut, self.virtio_user)\n-\n def lanuch_vhost_testpmd(self, queue_number=1, nb_cores=1, extern_params=\"\"):\n \"\"\"\n start testpmd on vhost\n@@ -105,7 +104,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n param = \"--rxq={} --txq={} --nb-cores={} {}\".format(\n queue_number, queue_number, nb_cores, extern_params\n )\n- self.vhost_pmd.start_testpmd(\n+ self.vhost_user_pmd.start_testpmd(\n self.core_list_host,\n param=param,\n no_pci=True,\n@@ -114,7 +113,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n prefix=\"vhost\",\n fixed_prefix=True,\n )\n- self.vhost_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n \n @property\n def check_2M_env(self):\n@@ -158,7 +157,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n param = \"--rxq={} --txq={} --nb-cores={} {}\".format(\n self.queue_number, self.queue_number, self.nb_cores, extern_params\n )\n- self.vhost_pmd.start_testpmd(\n+ self.vhost_user_pmd.start_testpmd(\n self.core_list_host,\n param=param,\n no_pci=True,\n@@ -168,7 +167,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n fixed_prefix=True,\n )\n if set_fwd_mac:\n- self.vhost_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n \n def lanuch_virtio_user_testpmd_with_multi_queue(\n self, mode, extern_params=\"\", set_fwd_mac=True, vectorized_path=False\n@@ -227,36 +226,23 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n session_tx.send_expect(\"start tx_first 1\", \"testpmd> \", 10)\n session_tx.send_expect(\"stop\", \"testpmd> \", 10)\n \n- def start_to_send_960_packets_csum(self, session_tx, cbdma=False):\n+ def start_to_send_960_packets_csum(self, session_tx):\n \"\"\"\n start the testpmd of vhost-user, start to send 8k packets\n \"\"\"\n- if cbdma:\n- session_tx.send_expect(\"vhost enable tx all\", \"testpmd> \", 10)\n session_tx.send_expect(\"set fwd csum\", \"testpmd> \", 10)\n session_tx.send_expect(\"set txpkts 64,128,256,512\", \"testpmd> \", 10)\n session_tx.send_expect(\"set burst 1\", \"testpmd> \", 10)\n session_tx.send_expect(\"start tx_first 1\", \"testpmd> \", 3)\n session_tx.send_expect(\"stop\", \"testpmd> \", 10)\n \n- def start_to_send_6192_packets_csum_cbdma(self, session_tx):\n- \"\"\"\n- start the testpmd of vhost-user, start to send 8k packets\n- \"\"\"\n- session_tx.send_expect(\"vhost enable tx all\", \"testpmd> \", 30)\n- session_tx.send_expect(\"set fwd csum\", \"testpmd> \", 30)\n- session_tx.send_expect(\"set txpkts 64,64,64,2000,2000,2000\", \"testpmd> \", 30)\n- session_tx.send_expect(\"set burst 1\", \"testpmd> \", 30)\n- session_tx.send_expect(\"start tx_first 1\", \"testpmd> \", 5)\n- session_tx.send_expect(\"stop\", \"testpmd> \", 30)\n-\n def check_port_throughput_after_port_stop(self):\n \"\"\"\n check the throughput after port stop\n \"\"\"\n loop = 1\n while loop <= 5:\n- out = self.vhost_pmd.execute_cmd(\"show port stats 0\", \"testpmd>\", 60)\n+ out = self.vhost_user_pmd.execute_cmd(\"show port stats 0\", \"testpmd>\", 60)\n lines = re.search(\"Rx-pps:\\s*(\\d*)\", out)\n result = lines.group(1)\n if result == \"0\":\n@@ -273,7 +259,9 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n \"\"\"\n loop = 1\n while loop <= 5:\n- out = self.vhost_pmd.execute_cmd(\"show port info all\", \"testpmd> \", 120)\n+ out = self.vhost_user_pmd.execute_cmd(\n+ \"show port info all\", \"testpmd> \", 120\n+ )\n port_status = re.findall(\"Link\\s*status:\\s*([a-z]*)\", out)\n if \"down\" not in port_status:\n break\n@@ -292,101 +280,122 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n \n def port_restart(self):\n- self.vhost_pmd.execute_cmd(\"stop\", \"testpmd> \", 120)\n- self.vhost_pmd.execute_cmd(\"port stop 0\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"stop\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"port stop 0\", \"testpmd> \", 120)\n self.check_port_throughput_after_port_stop()\n- self.vhost_pmd.execute_cmd(\"clear port stats all\", \"testpmd> \", 120)\n- self.vhost_pmd.execute_cmd(\"port start 0\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"clear port stats all\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"port start 0\", \"testpmd> \", 120)\n self.check_port_link_status_after_port_restart()\n- self.vhost_pmd.execute_cmd(\"start tx_first 32\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"start tx_first 32\", \"testpmd> \", 120)\n \n def port_restart_send_8k_packets(self):\n- self.vhost_pmd.execute_cmd(\"stop\", \"testpmd> \", 120)\n- self.vhost_pmd.execute_cmd(\"port stop 0\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"stop\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"port stop 0\", \"testpmd> \", 120)\n self.check_port_throughput_after_port_stop()\n- self.vhost_pmd.execute_cmd(\"clear port stats all\", \"testpmd> \", 120)\n- self.vhost_pmd.execute_cmd(\"port start 0\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"clear port stats all\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\"port start 0\", \"testpmd> \", 120)\n self.check_port_link_status_after_port_restart()\n- self.vhost_pmd.execute_cmd(\"set txpkts 2000,2000,2000,2000\", \"testpmd> \", 120)\n- self.vhost_pmd.execute_cmd(\"start tx_first 32\", \"testpmd> \", 120)\n+ self.vhost_user_pmd.execute_cmd(\n+ \"set txpkts 2000,2000,2000,2000\", \"testpmd> \", 120\n+ )\n+ self.vhost_user_pmd.execute_cmd(\"start tx_first 32\", \"testpmd> \", 120)\n \n- def launch_pdump_to_capture_pkt(self, dump_port):\n+ def launch_pdump_to_capture_pkt(self, multi_queue=False):\n \"\"\"\n bootup pdump in dut\n \"\"\"\n self.pdump_session = self.dut.new_session(suite=\"pdump\")\n- cmd = (\n- self.app_pdump\n- + \" \"\n- + \"-v --file-prefix=virtio -- \"\n- + \"--pdump 'device_id=%s,queue=*,rx-dev=%s,mbuf-size=8000'\"\n- )\n- self.pdump_session.send_expect(cmd % (dump_port, self.dump_pcap), \"Port\")\n+ if not multi_queue:\n+ cmd = (\n+ self.app_pdump\n+ + \" \"\n+ + \"-v --file-prefix=virtio -- \"\n+ + \"--pdump 'device_id=net_virtio_user0,queue=*,rx-dev=%s,mbuf-size=8000'\"\n+ )\n+ self.pdump_session.send_expect(cmd % (self.dump_pcap), \"Port\")\n+ else:\n+ cmd = (\n+ self.app_pdump\n+ + \" \"\n+ + \"-v --file-prefix=virtio -- \"\n+ + \"--pdump 'device_id=net_virtio_user0,queue=0,rx-dev=%s,mbuf-size=8000' \"\n+ + \"--pdump 'device_id=net_virtio_user0,queue=1,rx-dev=%s,mbuf-size=8000'\"\n+ )\n+ self.pdump_session.send_expect(\n+ cmd % (self.dump_pcap_q0, self.dump_pcap_q1), \"Port\"\n+ )\n \n- def check_packet_payload_valid(self, pkt_len):\n+ def check_packet_payload_valid(self, pkt_len, multi_queue=False):\n \"\"\"\n check the payload is valid\n \"\"\"\n self.pdump_session.send_expect(\"^c\", \"# \", 60)\n time.sleep(3)\n- self.dut.session.copy_file_from(\n- src=\"%s\" % self.dump_pcap, dst=\"%s\" % self.dump_pcap\n- )\n- pkt = Packet()\n- pkts = pkt.read_pcapfile(self.dump_pcap)\n- expect_data = str(pkts[0][\"Raw\"])\n-\n- for i in range(len(pkts)):\n- self.verify(\n- len(pkts[i]) == pkt_len,\n- \"virtio-user0 receive packet's length not equal %s Byte\" % pkt_len,\n+ if not multi_queue:\n+ self.dut.session.copy_file_from(\n+ src=\"%s\" % self.dump_pcap, dst=\"%s\" % self.dump_pcap\n )\n- check_data = str(pkts[i][\"Raw\"])\n- self.verify(\n- check_data == expect_data,\n- \"the payload in receive packets has been changed from %s\" % i,\n- )\n- self.dut.send_expect(\"rm -rf %s\" % self.dump_pcap, \"#\")\n-\n- def relanuch_vhost_testpmd_send_packets(\n- self, extern_params, cbdma=False, iova=\"va\"\n- ):\n+ pkt = Packet()\n+ pkts = pkt.read_pcapfile(self.dump_pcap)\n+ expect_data = str(pkts[0][\"Raw\"])\n+\n+ for i in range(len(pkts)):\n+ self.verify(\n+ len(pkts[i]) == pkt_len,\n+ \"virtio-user0 receive packet's length not equal %s Byte\" % pkt_len,\n+ )\n+ check_data = str(pkts[i][\"Raw\"])\n+ self.verify(\n+ check_data == expect_data,\n+ \"the payload in receive packets has been changed from %s\" % i,\n+ )\n \n- self.vhost_pmd.execute_cmd(\"quit\", \"#\", 60)\n- self.logger.info(\"now reconnet from vhost\")\n- if cbdma:\n- self.lanuch_vhost_testpmd_with_cbdma(extern_params=extern_params, iova=iova)\n else:\n- self.lanuch_vhost_testpmd_with_multi_queue(\n- extern_params=extern_params, set_fwd_mac=False\n- )\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- if cbdma:\n- self.start_to_send_6192_packets_csum_cbdma(self.vhost)\n- else:\n- self.start_to_send_8k_packets_csum(self.vhost)\n- self.check_packet_payload_valid(self.pkt_len)\n+ for pacp in [self.dump_pcap_q0, self.dump_pcap_q1]:\n+ self.dut.session.copy_file_from(src=\"%s\" % pacp, dst=\"%s\" % pacp)\n+ pkt = Packet()\n+ pkts = pkt.read_pcapfile(pacp)\n+ expect_data = str(pkts[0][\"Raw\"])\n+\n+ for i in range(len(pkts)):\n+ self.verify(\n+ len(pkts[i]) == pkt_len,\n+ \"virtio-user0 receive packet's length not equal %s Byte\"\n+ % pkt_len,\n+ )\n+ check_data = str(pkts[i][\"Raw\"])\n+ self.verify(\n+ check_data == expect_data,\n+ \"the payload in receive packets has been changed from %s\" % i,\n+ )\n+\n+ def relanuch_vhost_testpmd_send_packets(self, extern_params):\n+\n+ self.vhost_user_pmd.execute_cmd(\"stop\")\n+ self.vhost_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n+ self.logger.info(\"now reconnet from vhost\")\n+ self.lanuch_vhost_testpmd_with_multi_queue(\n+ extern_params=extern_params, set_fwd_mac=False\n+ )\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n+ self.start_to_send_8k_packets_csum(self.vhost_user)\n+ self.check_packet_payload_valid(self.pkt_len, multi_queue=True)\n \n- def relanuch_vhost_testpmd_send_960_packets(\n- self, extern_params, cbdma=False, iova=\"va\"\n- ):\n+ def relanuch_vhost_testpmd_send_960_packets(self, extern_params):\n \n- self.vhost_pmd.execute_cmd(\"quit\", \"#\", 60)\n+ self.vhost_user_pmd.execute_cmd(\"stop\")\n+ self.vhost_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n self.logger.info(\"now reconnet from vhost\")\n- if cbdma:\n- self.lanuch_vhost_testpmd_with_cbdma(extern_params=extern_params, iova=iova)\n- else:\n- self.lanuch_vhost_testpmd_with_multi_queue(\n- extern_params=extern_params, set_fwd_mac=False\n- )\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- self.start_to_send_960_packets_csum(self.vhost, cbdma=cbdma)\n- self.check_packet_payload_valid(pkt_len=960)\n+ self.lanuch_vhost_testpmd_with_multi_queue(\n+ extern_params=extern_params, set_fwd_mac=False\n+ )\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n+ self.start_to_send_960_packets_csum(self.vhost_user)\n+ self.check_packet_payload_valid(pkt_len=960, multi_queue=True)\n \n- def relanuch_virtio_testpmd_with_multi_path(\n- self, mode, case_info, extern_params, cbdma=False, iova=\"va\"\n- ):\n+ def relanuch_virtio_testpmd_with_multi_path(self, mode, case_info, extern_params):\n \n+ self.virtio_user_pmd.execute_cmd(\"stop\")\n self.virtio_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n self.logger.info(case_info)\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n@@ -394,25 +403,20 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n self.virtio_user_pmd.execute_cmd(\"start\")\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- if cbdma:\n- self.start_to_send_6192_packets_csum_cbdma(self.vhost)\n- else:\n- self.start_to_send_8k_packets_csum(self.vhost)\n- self.check_packet_payload_valid(self.pkt_len)\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n+ self.start_to_send_8k_packets_csum(self.vhost_user)\n+ self.check_packet_payload_valid(self.pkt_len, multi_queue=True)\n \n- self.relanuch_vhost_testpmd_send_packets(extern_params, cbdma, iova=iova)\n+ self.relanuch_vhost_testpmd_send_packets(extern_params)\n \n def relanuch_virtio_testpmd_with_non_mergeable_path(\n self,\n mode,\n case_info,\n extern_params,\n- cbdma=False,\n- iova=\"va\",\n vectorized_path=False,\n ):\n-\n+ self.virtio_user_pmd.execute_cmd(\"stop\")\n self.virtio_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n self.logger.info(case_info)\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n@@ -423,21 +427,29 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n self.virtio_user_pmd.execute_cmd(\"start\")\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n \n- self.start_to_send_960_packets_csum(self.vhost, cbdma=cbdma)\n- self.check_packet_payload_valid(pkt_len=960)\n+ self.start_to_send_960_packets_csum(\n+ self.vhost_user,\n+ )\n+ self.check_packet_payload_valid(pkt_len=960, multi_queue=True)\n \n- self.relanuch_vhost_testpmd_send_960_packets(extern_params, cbdma, iova=iova)\n+ self.relanuch_vhost_testpmd_send_960_packets(extern_params)\n \n def relanuch_vhost_testpmd_with_multi_queue(self):\n- self.vhost_pmd.execute_cmd(\"quit\", \"#\", 60)\n+ self.vhost_user_pmd.execute_cmd(\n+ \"stop\",\n+ )\n+ self.vhost_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n self.check_link_status(self.virtio_user, \"down\")\n self.lanuch_vhost_testpmd_with_multi_queue()\n \n def relanuch_virtio_testpmd_with_multi_queue(self, mode, extern_params=\"\"):\n+ self.virtio_user_pmd.execute_cmd(\n+ \"stop\",\n+ )\n self.virtio_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n- self.check_link_status(self.vhost, \"down\")\n+ self.check_link_status(self.vhost_user, \"down\")\n self.lanuch_virtio_user_testpmd_with_multi_queue(mode, extern_params)\n \n def calculate_avg_throughput(self, case_info, cycle, Pkt_size=True):\n@@ -446,9 +458,9 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n \"\"\"\n results = 0.0\n results_row = []\n- self.vhost_pmd.execute_cmd(\"show port stats all\", \"testpmd>\", 60)\n+ self.vhost_user_pmd.execute_cmd(\"show port stats all\", \"testpmd>\", 60)\n for i in range(10):\n- out = self.vhost_pmd.execute_cmd(\"show port stats all\", \"testpmd>\", 60)\n+ out = self.vhost_user_pmd.execute_cmd(\"show port stats all\", \"testpmd>\", 60)\n time.sleep(1)\n lines = re.search(\"Rx-pps:\\s*(\\d*)\", out)\n result = lines.group(1)\n@@ -472,7 +484,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n \"\"\"\n check all the queue has receive packets\n \"\"\"\n- out = self.vhost_pmd.execute_cmd(\"stop\", \"testpmd> \", 60)\n+ out = self.vhost_user_pmd.execute_cmd(\"stop\", \"testpmd> \", 60)\n for queue_index in range(0, self.queue_number):\n queue = \"Queue= %d\" % queue_index\n index = out.find(queue)\n@@ -490,24 +502,24 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n \"\"\"\n close testpmd about vhost-user and virtio-user\n \"\"\"\n- self.vhost_pmd.execute_cmd(\"quit\", \"#\", 60)\n self.virtio_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n+ self.vhost_user_pmd.execute_cmd(\"quit\", \"#\", 60)\n \n def close_all_session(self):\n \"\"\"\n close session of vhost-user and virtio-user\n \"\"\"\n- self.dut.close_session(self.vhost)\n self.dut.close_session(self.virtio_user)\n+ self.dut.close_session(self.vhost_user)\n \n- def test_server_mode_launch_virtio_first(self):\n+ def test_server_mode_launch_virtio11_first(self):\n \"\"\"\n- Test Case 2: basic test for split ring server mode, launch virtio-user first\n+ Test Case 1: basic test for packed ring server mode, launch virtio-user first\n \"\"\"\n self.queue_number = 1\n self.nb_cores = 1\n virtio_pmd_arg = {\n- \"version\": \"packed_vq=0,in_order=0,mrg_rxbuf=1\",\n+ \"version\": \"packed_vq=1,in_order=0,mrg_rxbuf=1\",\n \"path\": \"--tx-offloads=0x0 --enable-hw-vlan-strip\",\n }\n self.lanuch_virtio_user_testpmd(\n@@ -517,19 +529,19 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.lanuch_vhost_testpmd()\n self.virtio_user_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(\"lanuch virtio first\", \"\")\n self.result_table_print()\n self.close_all_testpmd()\n \n- def test_server_mode_launch_virtio11_first(self):\n+ def test_server_mode_launch_virtio_first(self):\n \"\"\"\n- Test Case 1: basic test for packed ring server mode, launch virtio-user first\n+ Test Case 2: basic test for split ring server mode, launch virtio-user first\n \"\"\"\n self.queue_number = 1\n self.nb_cores = 1\n virtio_pmd_arg = {\n- \"version\": \"packed_vq=1,in_order=0,mrg_rxbuf=1\",\n+ \"version\": \"packed_vq=0,in_order=0,mrg_rxbuf=1\",\n \"path\": \"--tx-offloads=0x0 --enable-hw-vlan-strip\",\n }\n self.lanuch_virtio_user_testpmd(\n@@ -539,31 +551,31 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.lanuch_vhost_testpmd()\n self.virtio_user_pmd.execute_cmd(\"set fwd mac\", \"testpmd> \", 120)\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(\"lanuch virtio first\", \"\")\n self.result_table_print()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio11_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio10_mergeable_path(self):\n \"\"\"\n- Test Case 8: reconnect test with virtio 1.1 mergeable path and server mode\n+ Test Case 3: reconnect test with virtio 1.0 mergeable path and server mode\n \"\"\"\n- self.queue_number = 2\n+ self.queue_number = 8\n self.nb_cores = 2\n- case_info = \"virtio1.1 mergeable path\"\n- mode = \"packed_vq=1,in_order=0,mrg_rxbuf=1\"\n+ case_info = \"virtio1.0 mergeable path\"\n+ mode = \"in_order=0,mrg_rxbuf=1\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\", Pkt_size=False)\n \n- # reconnect from vhost\n+ # reconnet from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_8k_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_8k_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\", Pkt_size=False)\n \n # reconnet from virtio\n@@ -571,9 +583,9 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(\n- case_info, \"reconnet from virtio user\", Pkt_size=False\n+ case_info, \"reconnet from virtio_user\", Pkt_size=False\n )\n \n # port restart\n@@ -585,106 +597,106 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio11_non_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio10_inorder_mergeable_path(self):\n \"\"\"\n- Test Case 9: reconnect test with virtio 1.1 non_mergeable path and server mode\n+ Test Case 4: reconnect test with virtio 1.0 inorder mergeable path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.1 non_mergeable path\"\n- mode = \"packed_vq=1,in_order=0,mrg_rxbuf=0\"\n+ case_info = \"virtio1.0 inorder mergeable path\"\n+ mode = \"in_order=1,mrg_rxbuf=1\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n- self.calculate_avg_throughput(case_info, \"before reconnet\")\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n+ self.calculate_avg_throughput(case_info, \"before reconnet\", Pkt_size=False)\n \n- # reconnect from vhost\n+ # reconnet from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n- self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n+ self.start_to_send_8k_packets(self.virtio_user, self.vhost_user)\n+ self.calculate_avg_throughput(case_info, \"reconnet from vhost\", Pkt_size=False)\n \n # reconnet from virtio\n self.logger.info(\"now reconnet from virtio_user\")\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n- self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n+ self.calculate_avg_throughput(\n+ case_info, \"reconnet from virtio_user\", Pkt_size=False\n+ )\n \n # port restart\n self.logger.info(\"now vhost port restart\")\n- self.port_restart()\n- self.calculate_avg_throughput(case_info, \"after port restart\")\n+ self.port_restart_send_8k_packets()\n+ self.calculate_avg_throughput(case_info, \"after port restart\", Pkt_size=False)\n \n self.result_table_print()\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio11_inorder_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio10_inorder_non_mergeable_path(self):\n \"\"\"\n- Test Case 10: reconnect test with virtio 1.1 inorder mergeable path and server mode\n+ Test Case 5: reconnect test with virtio 1.0 inorder non_mergeable path and server mode\n \"\"\"\n- self.queue_number = 8\n+ self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.1 inorder mergeable path\"\n- mode = \"packed_vq=1,in_order=1,mrg_rxbuf=1\"\n+ case_info = \"virtio1.0 inorder non_mergeable path\"\n+ mode = \"in_order=1,mrg_rxbuf=0\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n- self.calculate_avg_throughput(case_info, \"before reconnet\", Pkt_size=False)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n+ self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnect from vhost\n+ # reconnet from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_8k_packets(self.virtio_user, self.vhost)\n- self.calculate_avg_throughput(case_info, \"reconnet from vhost\", Pkt_size=False)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n+ self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n self.logger.info(\"now reconnet from virtio_user\")\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n- self.calculate_avg_throughput(\n- case_info, \"reconnet from virtio user\", Pkt_size=False\n- )\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n+ self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n self.logger.info(\"now vhost port restart\")\n- self.port_restart_send_8k_packets()\n- self.calculate_avg_throughput(case_info, \"after port restart\", Pkt_size=False)\n+ self.port_restart()\n+ self.calculate_avg_throughput(case_info, \"after port restart\")\n \n self.result_table_print()\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio11_inorder_non_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio10_non_mergeable_path(self):\n \"\"\"\n- Test Case 11: reconnect test with virtio 1.1 inorder non_mergeable path and server mode\n+ Test Case 6: reconnect test with virtio 1.0 non_mergeable path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.1 inorder non_mergeable path\"\n- mode = \"packed_vq=1,in_order=1,mrg_rxbuf=0,vectorized=1\"\n- extern_params = \"--rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip\"\n+ case_info = \"virtio1.0 non_mergeable path\"\n+ mode = \"in_order=0,mrg_rxbuf=0,vectorized=1\"\n+ extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnect from vhost\n+ # reconnet from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n@@ -692,7 +704,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n@@ -704,34 +716,29 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio11_inorder_vectorized_path(self):\n+ def test_server_mode_reconnect_with_virtio10_vector_rx_path(self):\n \"\"\"\n- Test Case 12: reconnect test with virtio 1.1 inorder vectorized path and server mode\n+ Test Case 7: reconnect test with virtio 1.0 vector_rx path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.1 inorder vectorized path\"\n- mode = \"packed_vq=1,in_order=1,mrg_rxbuf=0,vectorized=1\"\n- extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n+ case_info = \"virtio1.0 vector_rx path\"\n+ mode = \"in_order=0,mrg_rxbuf=0,vectorized=1\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n- self.lanuch_virtio_user_testpmd_with_multi_queue(\n- mode=mode, extern_params=extern_params\n- )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.lanuch_virtio_user_testpmd_with_multi_queue(mode=mode)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnect from vhost\n+ # reconnet from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n self.logger.info(\"now reconnet from virtio_user\")\n- self.relanuch_virtio_testpmd_with_multi_queue(\n- mode=mode, extern_params=extern_params\n- )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.relanuch_virtio_testpmd_with_multi_queue(mode=mode)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n@@ -743,26 +750,26 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio10_inorder_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio11_mergeable_path(self):\n \"\"\"\n- Test Case 4: reconnect test with virtio 1.0 inorder mergeable path and server mode\n+ Test Case 8: reconnect test with virtio 1.1 mergeable path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.0 inorder mergeable path\"\n- mode = \"in_order=1,mrg_rxbuf=1\"\n+ case_info = \"virtio1.1 mergeable path\"\n+ mode = \"packed_vq=1,in_order=0,mrg_rxbuf=1\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\", Pkt_size=False)\n \n- # reconnet from vhost\n+ # reconnect from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_8k_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_8k_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\", Pkt_size=False)\n \n # reconnet from virtio\n@@ -770,9 +777,9 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(\n- case_info, \"reconnet from virtio_user\", Pkt_size=False\n+ case_info, \"reconnet from virtio user\", Pkt_size=False\n )\n \n # port restart\n@@ -784,26 +791,26 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio10_inorder_non_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio11_non_mergeable_path(self):\n \"\"\"\n- Test Case 5: reconnect test with virtio 1.0 inorder non_mergeable path and server mode\n+ Test Case 9: reconnect test with virtio 1.1 non_mergeable path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.0 inorder non_mergeable path\"\n- mode = \"in_order=1,mrg_rxbuf=0\"\n+ case_info = \"virtio1.1 non_mergeable path\"\n+ mode = \"packed_vq=1,in_order=0,mrg_rxbuf=0\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnet from vhost\n+ # reconnect from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n@@ -811,7 +818,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n@@ -823,26 +830,26 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio10_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio11_inorder_mergeable_path(self):\n \"\"\"\n- Test Case 3: reconnect test with virtio 1.0 mergeable path and server mode\n+ Test Case 10: reconnect test with virtio 1.1 inorder mergeable path and server mode\n \"\"\"\n self.queue_number = 8\n self.nb_cores = 2\n- case_info = \"virtio1.0 mergeable path\"\n- mode = \"in_order=0,mrg_rxbuf=1\"\n+ case_info = \"virtio1.1 inorder mergeable path\"\n+ mode = \"packed_vq=1,in_order=1,mrg_rxbuf=1\"\n extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\", Pkt_size=False)\n \n- # reconnet from vhost\n+ # reconnect from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_8k_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_8k_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\", Pkt_size=False)\n \n # reconnet from virtio\n@@ -850,9 +857,9 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_8k_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_8k_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(\n- case_info, \"reconnet from virtio_user\", Pkt_size=False\n+ case_info, \"reconnet from virtio user\", Pkt_size=False\n )\n \n # port restart\n@@ -864,26 +871,26 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio10_non_mergeable_path(self):\n+ def test_server_mode_reconnect_with_virtio11_inorder_non_mergeable_path(self):\n \"\"\"\n- Test Case 6: reconnect test with virtio 1.0 non_mergeable path and server mode\n+ Test Case 11: reconnect test with virtio 1.1 inorder non_mergeable path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.0 non_mergeable path\"\n- mode = \"in_order=0,mrg_rxbuf=0,vectorized=1\"\n- extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n+ case_info = \"virtio1.1 inorder non_mergeable path\"\n+ mode = \"packed_vq=1,in_order=1,mrg_rxbuf=0,vectorized=1\"\n+ extern_params = \"--rx-offloads=0x10 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n self.lanuch_virtio_user_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnet from vhost\n+ # reconnect from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n@@ -891,7 +898,7 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.relanuch_virtio_testpmd_with_multi_queue(\n mode=mode, extern_params=extern_params\n )\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n@@ -903,29 +910,34 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n self.check_packets_of_each_queue()\n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_virtio10_vector_rx_path(self):\n+ def test_server_mode_reconnect_with_virtio11_inorder_vectorized_path(self):\n \"\"\"\n- Test Case 7: reconnect test with virtio 1.0 vector_rx path and server mode\n+ Test Case 12: reconnect test with virtio 1.1 inorder vectorized path and server mode\n \"\"\"\n self.queue_number = 2\n self.nb_cores = 2\n- case_info = \"virtio1.0 vector_rx path\"\n- mode = \"in_order=0,mrg_rxbuf=0,vectorized=1\"\n+ case_info = \"virtio1.1 inorder vectorized path\"\n+ mode = \"packed_vq=1,in_order=1,mrg_rxbuf=0,vectorized=1\"\n+ extern_params = \"--tx-offloads=0x0 --enable-hw-vlan-strip --rss-ip\"\n self.lanuch_vhost_testpmd_with_multi_queue()\n- self.lanuch_virtio_user_testpmd_with_multi_queue(mode=mode)\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.lanuch_virtio_user_testpmd_with_multi_queue(\n+ mode=mode, extern_params=extern_params\n+ )\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"before reconnet\")\n \n- # reconnet from vhost\n+ # reconnect from vhost\n self.logger.info(\"now reconnet from vhost\")\n self.relanuch_vhost_testpmd_with_multi_queue()\n- self.start_to_send_packets(self.virtio_user, self.vhost)\n+ self.start_to_send_packets(self.virtio_user, self.vhost_user)\n self.calculate_avg_throughput(case_info, \"reconnet from vhost\")\n \n # reconnet from virtio\n self.logger.info(\"now reconnet from virtio_user\")\n- self.relanuch_virtio_testpmd_with_multi_queue(mode=mode)\n- self.start_to_send_packets(self.vhost, self.virtio_user)\n+ self.relanuch_virtio_testpmd_with_multi_queue(\n+ mode=mode, extern_params=extern_params\n+ )\n+ self.start_to_send_packets(self.vhost_user, self.virtio_user)\n self.calculate_avg_throughput(case_info, \"reconnet from virtio_user\")\n \n # port restart\n@@ -956,14 +968,12 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n self.virtio_user_pmd.execute_cmd(\"start\")\n- # 3. Attach pdump secondary process to primary process by same file-prefix::\n- self.vuser0_port = \"net_virtio_user0\"\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- self.start_to_send_8k_packets_csum(self.vhost)\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n+ self.start_to_send_8k_packets_csum(self.vhost_user)\n \n # 5. Check all the packets length is 8000 Byte in the pcap file\n self.pkt_len = 8000\n- self.check_packet_payload_valid(self.pkt_len)\n+ self.check_packet_payload_valid(self.pkt_len, multi_queue=True)\n \n # reconnet from vhost\n self.relanuch_vhost_testpmd_send_packets(extern_params)\n@@ -1020,14 +1030,12 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n )\n self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n self.virtio_user_pmd.execute_cmd(\"start\")\n- # 3. Attach pdump secondary process to primary process by same file-prefix::\n- self.vuser0_port = \"net_virtio_user0\"\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- self.start_to_send_8k_packets_csum(self.vhost)\n+ self.launch_pdump_to_capture_pkt(multi_queue=True)\n+ self.start_to_send_8k_packets_csum(self.vhost_user)\n \n # 5. Check all the packets length is 8000 Byte in the pcap file\n self.pkt_len = 8000\n- self.check_packet_payload_valid(self.pkt_len)\n+ self.check_packet_payload_valid(self.pkt_len, multi_queue=True)\n \n # reconnet from vhost\n self.relanuch_vhost_testpmd_send_packets(extern_params)\n@@ -1059,298 +1067,14 @@ class TestLoopbackVirtioUserServerMode(TestCase):\n \n self.close_all_testpmd()\n \n- def test_server_mode_reconnect_with_packed_all_path_cbdma_payload_check(self):\n- \"\"\"\n- Test Case 15: loopback packed ring all path cbdma test payload check with server mode and multi-queues\n- \"\"\"\n- self.cbdma_nic_dev_num = 8\n- self.get_cbdma_ports_info_and_bind_to_dpdk()\n- self.queue_number = 8\n- self.vdev = f\"--vdev 'eth_vhost0,iface=vhost-net,queues={self.queue_number},client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]};txq2@{self.cbdma_dev_infos[2]};txq3@{self.cbdma_dev_infos[3]};txq4@{self.cbdma_dev_infos[4]};txq5@{self.cbdma_dev_infos[5]};txq6@{self.cbdma_dev_infos[6]};txq7@{self.cbdma_dev_infos[7]}]' \"\n-\n- self.nb_cores = 1\n- extern_params = \"--txd=1024 --rxd=1024\"\n- case_info = \"packed ring mergeable inorder path\"\n- mode = \"mrg_rxbuf=1,in_order=1,packed_vq=1\"\n-\n- self.lanuch_vhost_testpmd_with_cbdma(extern_params=extern_params)\n- self.logger.info(case_info)\n- self.lanuch_virtio_user_testpmd_with_multi_queue(\n- mode=mode, extern_params=extern_params, set_fwd_mac=False\n- )\n- self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n- self.virtio_user_pmd.execute_cmd(\"start\")\n- # 3. Attach pdump secondary process to primary process by same file-prefix::\n- self.vuser0_port = \"net_virtio_user0\"\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- self.start_to_send_6192_packets_csum_cbdma(self.vhost)\n-\n- # 5. Check all the packets length is 6192 Byte in the pcap file\n- self.pkt_len = 6192\n- self.check_packet_payload_valid(self.pkt_len)\n- # reconnet from vhost\n- self.relanuch_vhost_testpmd_send_packets(extern_params, cbdma=True)\n-\n- # reconnet from virtio\n- self.logger.info(\"now reconnet from virtio_user with other path\")\n- case_info = \"packed ring mergeable path\"\n- mode = \"mrg_rxbuf=1,in_order=0,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- case_info = \"packed ring non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=0,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- case_info = \"packed ring inorder non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- case_info = \"packed ring vectorized path\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True, vectorized_path=True\n- )\n-\n- case_info = \"packed ring vectorized path and ring size is not power of 2\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,queue_size=1025\"\n- extern_param = \"--txd=1025 --rxd=1025\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_param, cbdma=True, vectorized_path=True\n- )\n-\n- if not self.check_2M_env:\n- self.relanuch_vhost_testpmd_iova_pa(extern_params=extern_params)\n-\n- self.close_all_testpmd()\n-\n- def test_server_mode_reconnect_with_split_all_path_cbdma_payload_check(self):\n- \"\"\"\n- Test Case 16: loopback split ring all path cbdma test payload check with server mode and multi-queues\n- \"\"\"\n- self.cbdma_nic_dev_num = 8\n- self.get_cbdma_ports_info_and_bind_to_dpdk()\n- self.queue_number = 8\n- self.vdev = f\"--vdev 'eth_vhost0,iface=vhost-net,queues={self.queue_number},client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]};txq2@{self.cbdma_dev_infos[2]};txq3@{self.cbdma_dev_infos[3]};txq4@{self.cbdma_dev_infos[4]};txq5@{self.cbdma_dev_infos[5]};txq6@{self.cbdma_dev_infos[6]};txq7@{self.cbdma_dev_infos[7]}]' \"\n-\n- self.nb_cores = 1\n- extern_params = \"--txd=1024 --rxd=1024\"\n- case_info = \"split ring mergeable inorder path\"\n- mode = \"mrg_rxbuf=1,in_order=1\"\n-\n- self.lanuch_vhost_testpmd_with_cbdma(extern_params=extern_params)\n- self.logger.info(case_info)\n- self.lanuch_virtio_user_testpmd_with_multi_queue(\n- mode=mode, extern_params=extern_params, set_fwd_mac=False\n- )\n- self.virtio_user_pmd.execute_cmd(\"set fwd csum\")\n- self.virtio_user_pmd.execute_cmd(\"start\")\n- # 3. Attach pdump secondary process to primary process by same file-prefix::\n- self.vuser0_port = \"net_virtio_user0\"\n- self.launch_pdump_to_capture_pkt(self.vuser0_port)\n- self.start_to_send_6192_packets_csum_cbdma(self.vhost)\n-\n- # 5. Check all the packets length is 6192 Byte in the pcap file\n- self.pkt_len = 6192\n- self.check_packet_payload_valid(self.pkt_len)\n- # reconnet from vhost\n- self.relanuch_vhost_testpmd_send_packets(extern_params, cbdma=True)\n-\n- # reconnet from virtio\n- self.logger.info(\"now reconnet from virtio_user with other path\")\n- case_info = \"split ring mergeable path\"\n- mode = \"mrg_rxbuf=1,in_order=0\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- case_info = \"split ring non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=0\"\n- extern_param = extern_params + \" --enable-hw-vlan-strip\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_param, cbdma=True\n- )\n-\n- case_info = \"split ring inorder non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- case_info = \"split ring vectorized path\"\n- mode = \"mrg_rxbuf=0,in_order=0,vectorized=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True\n- )\n-\n- if not self.check_2M_env:\n- self.relanuch_vhost_testpmd_iova_pa(extern_params=extern_params)\n-\n- self.close_all_testpmd()\n-\n- def relanuch_vhost_testpmd_iova_pa(self, extern_params=\"\"):\n- self.vhost_pmd.execute_cmd(\"quit\", \"#\", 60)\n- self.logger.info(\"now relaunch vhost iova=pa\")\n- self.lanuch_vhost_testpmd_with_cbdma(extern_params=extern_params, iova=\"pa\")\n-\n- if \"packed\" in self.running_case:\n- case_info = \"packed ring mergeable inorder path\"\n- mode = \"mrg_rxbuf=1,in_order=1,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"packed ring mergeable path\"\n- mode = \"mrg_rxbuf=1,in_order=0,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"packed ring non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=0,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"packed ring inorder non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"packed ring vectorized path\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode,\n- case_info,\n- extern_params,\n- cbdma=True,\n- vectorized_path=True,\n- iova=\"pa\",\n- )\n-\n- case_info = \"packed ring vectorized path and ring size is not power of 2\"\n- mode = \"mrg_rxbuf=0,in_order=1,packed_vq=1,vectorized=1,queue_size=1025\"\n- extern_param = \"--txd=1025 --rxd=1025\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode,\n- case_info,\n- extern_param,\n- cbdma=True,\n- vectorized_path=True,\n- iova=\"pa\",\n- )\n-\n- if \"split\" in self.running_case:\n- case_info = \"split ring mergeable inorder path\"\n- mode = \"mrg_rxbuf=1,in_order=1\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"split ring mergeable path\"\n- mode = \"mrg_rxbuf=1,in_order=0\"\n- self.relanuch_virtio_testpmd_with_multi_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"split ring non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=0\"\n- extern_param = extern_params + \" --enable-hw-vlan-strip\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_param, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"split ring inorder non-mergeable path\"\n- mode = \"mrg_rxbuf=0,in_order=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- case_info = \"split ring vectorized path\"\n- mode = \"mrg_rxbuf=0,in_order=0,vectorized=1\"\n- self.relanuch_virtio_testpmd_with_non_mergeable_path(\n- mode, case_info, extern_params, cbdma=True, iova=\"pa\"\n- )\n-\n- def lanuch_vhost_testpmd_with_cbdma(self, extern_params=\"\", iova=\"va\"):\n- \"\"\"\n- start testpmd with cbdma\n- \"\"\"\n- eal_params = self.vdev + \" --iova={}\".format(iova)\n- param = \"--rxq={} --txq={} --nb-cores={} {}\".format(\n- self.queue_number, self.queue_number, self.nb_cores, extern_params\n- )\n- self.vhost_pmd.start_testpmd(\n- self.core_list_host,\n- param=param,\n- no_pci=False,\n- ports=[],\n- eal_param=eal_params,\n- prefix=\"vhost\",\n- fixed_prefix=True,\n- )\n-\n- def get_cbdma_ports_info_and_bind_to_dpdk(self):\n- \"\"\"\n- get all cbdma ports\n- \"\"\"\n- out = self.dut.send_expect(\n- \"./usertools/dpdk-devbind.py --status-dev dma\", \"# \", 30\n- )\n- device_info = out.split(\"\\n\")\n- for device in device_info:\n- pci_info = re.search(\"\\s*(0000:\\S*:\\d*.\\d*)\", device)\n- if pci_info is not None:\n- dev_info = pci_info.group(1)\n- # the numa id of ioat dev, only add the device which on same socket with nic dev\n- bus = int(dev_info[5:7], base=16)\n- if bus >= 128:\n- cur_socket = 1\n- else:\n- cur_socket = 0\n- if self.ports_socket == cur_socket:\n- self.cbdma_dev_infos.append(pci_info.group(1))\n- self.verify(\n- len(self.cbdma_dev_infos) >= 8,\n- \"There no enough cbdma device to run this suite\",\n- )\n- self.device_str = \" \".join(self.cbdma_dev_infos[0 : self.cbdma_nic_dev_num])\n- self.dut.send_expect(\n- \"./usertools/dpdk-devbind.py --force --bind=%s %s\"\n- % (self.drivername, self.device_str),\n- \"# \",\n- 60,\n- )\n-\n- def bind_cbdma_device_to_kernel(self):\n- if self.device_str is not None:\n- self.dut.send_expect(\"modprobe ioatdma\", \"# \")\n- self.dut.send_expect(\n- \"./usertools/dpdk-devbind.py -u %s\" % self.device_str, \"# \", 30\n- )\n- self.dut.send_expect(\n- \"./usertools/dpdk-devbind.py --force --bind=ioatdma %s\"\n- % self.device_str,\n- \"# \",\n- 60,\n- )\n-\n def tear_down(self):\n \"\"\"\n Run after each test case.\n \"\"\"\n self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n- self.close_all_session()\n- time.sleep(2)\n \n def tear_down_all(self):\n \"\"\"\n Run after each test suite.\n \"\"\"\n- self.bind_cbdma_device_to_kernel()\n+ self.close_all_session()\n", "prefixes": [ "V2", "2/2" ] }{ "id": 111373, "url": "