From patchwork Thu May 19 06:59:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ling, WeiX" X-Patchwork-Id: 111363 Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 258CDA0503; Thu, 19 May 2022 09:00:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1EEA740DF7; Thu, 19 May 2022 09:00:43 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 99B7D40140 for ; Thu, 19 May 2022 09:00:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652943638; x=1684479638; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=br1pM2i1WdL/hfdLBT65g5QXHkC5pc6fSz2lW2GLhz4=; b=bZzkf96Kt4cQyvIRh5Rrxa99GyQRHu3hphcPxHozANBvSmUbHumbaIK9 MBUQRgwEjmCt7gWgzLjoXCY1wCgwkVe1Q89JbcwZNEhLgaDJXtb4cL1ak AVIv9/jikTReA6i9D4JtXJzQXlJMMcHl4aUH1pTbz3A+uDxtTeDgHM6OB b76YGgNPAbOSSR/jZsYxsWeouPvKTQIkFSQQCk2rhRdiKlG9M/iiV5Pm4 dZnQ0oYkFvm4CJiVqv06ZvVzc/lY6+bcxRktEaiED2FCsbTIQWdIluJxI WqlslyxhgbazfYJpTbKBLWJk3bYL86S0riu63ssBrMIVrEFKJ572W9IwU w==; X-IronPort-AV: E=McAfee;i="6400,9594,10351"; a="251953763" X-IronPort-AV: E=Sophos;i="5.91,236,1647327600"; d="scan'208";a="251953763" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 00:00:37 -0700 X-IronPort-AV: E=Sophos;i="5.91,236,1647327600"; d="scan'208";a="545931452" Received: from unknown (HELO localhost.localdomain) ([10.239.251.222]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 May 2022 00:00:35 -0700 From: Wei Ling To: dts@dpdk.org Cc: Wei Ling Subject: [dts][PATCH V1 2/2] tests/vm2vm_virtio_user: delete CBDMA related testcases and code Date: Thu, 19 May 2022 02:59:14 -0400 Message-Id: <20220519065914.2813984-1-weix.ling@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Delete CBDMA related testcases and code. Signed-off-by: Wei Ling Tested-by: Chenyu Huang Acked-by: Xingguang He --- tests/TestSuite_vm2vm_virtio_user.py | 926 --------------------------- 1 file changed, 926 deletions(-) diff --git a/tests/TestSuite_vm2vm_virtio_user.py b/tests/TestSuite_vm2vm_virtio_user.py index 1e4969cb..9dcb7899 100644 --- a/tests/TestSuite_vm2vm_virtio_user.py +++ b/tests/TestSuite_vm2vm_virtio_user.py @@ -41,7 +41,6 @@ mergeable, non-mergeable path test import re import time -import framework.utils as utils from framework.packet import Packet from framework.pmd_output import PmdOutput from framework.test_case import TestCase @@ -63,7 +62,6 @@ class TestVM2VMVirtioUser(TestCase): self.dut_ports = self.dut.get_ports() self.cbdma_dev_infos = [] self.ports_socket = self.dut.get_numa_id(self.dut_ports[0]) - self.device_str = "" self.vhost_user = self.dut.new_session(suite="vhost-user") self.virtio_user0 = self.dut.new_session(suite="virtio-user0") self.virtio_user1 = self.dut.new_session(suite="virtio-user1") @@ -123,25 +121,6 @@ class TestVM2VMVirtioUser(TestCase): ) self.vhost_user_pmd.execute_cmd("set fwd %s" % fwd_mode) - def lanuch_vhost_testpmd_with_cbdma(self, vdevs=None, iova="va"): - """ - start testpmd with cbdma - """ - eal_params = vdevs + " --iova={}".format(iova) - param = "--nb-cores=1 --rxq={} --txq={} --txd={} --rxd={} --no-flush-rx".format( - self.queue_num, self.queue_num, self.txd_num, self.txd_num - ) - self.vhost_user_pmd.start_testpmd( - cores=self.core_list_vhost, - param=param, - no_pci=False, - ports=[], - eal_param=eal_params, - prefix="vhost", - fixed_prefix=True, - ) - self.vhost_user_pmd.execute_cmd("vhost enable tx all") - @property def check_2M_env(self): out = self.dut.send_expect( @@ -211,108 +190,6 @@ class TestVM2VMVirtioUser(TestCase): self.virtio_user0_pmd.execute_cmd("set burst 32") self.virtio_user0_pmd.execute_cmd("start tx_first 7") - def start_virtio_testpmd_with_vhost_net0_cbdma( - self, path_mode, extern_params, ringsize - ): - """ - launch the testpmd as virtio with vhost_net0 - """ - eal_params = ( - " --socket-mem {} --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net0,queues={}," - "{},queue_size={} ".format( - self.socket_mem, self.queue_num, path_mode, ringsize - ) - ) - if self.check_2M_env: - eal_params += " --single-file-segments " - if "vectorized_path" in self.running_case: - eal_params += " --force-max-simd-bitwidth=512" - params = "--nb-cores=1 --txd={} --rxd={} {}".format( - ringsize, ringsize, extern_params - ) - self.virtio_user0_pmd.start_testpmd( - cores=self.core_list_virtio0, - param=params, - eal_param=eal_params, - no_pci=True, - ports=[], - prefix=self.virtio_prefix_0, - fixed_prefix=True, - ) - - def check_packet_payload_valid_with_cbdma( - self, - filename, - total_pkts_num, - pkts_64_num=0, - pkts_960_num=0, - pkts_4640_num=0, - pkts_8k_num=0, - ): - """ - check the payload is valid - """ - # stop pdump - actual_4640_pkt_num = 0 - actual_64_pkt_num = 0 - actual_960_pkt_num = 0 - actual_8k_pkt_num = 0 - time.sleep(20) - self.pdump_user.send_expect("^c", "# ", 60) - time.sleep(2) - self.dut.session.copy_file_from(src="%s" % filename, dst="%s" % filename) - pkt = Packet() - pkts = pkt.read_pcapfile(filename) - self.verify( - pkts is not None and len(pkts) == total_pkts_num, - "The virtio/vhost do not capture all the packets" - "expect pkt num is: %d, actual pkt num is: %d" - % (total_pkts_num, len(pkts)), - ) - for i in range(len(pkts)): - if len(pkts[i]) == 4640: - actual_4640_pkt_num += 1 - elif len(pkts[i]) == 960: - actual_960_pkt_num += 1 - elif len(pkts[i]) == 64: - actual_64_pkt_num += 1 - elif len(pkts[i]) == 8000: - actual_8k_pkt_num += 1 - - self.verify( - pkts_4640_num == actual_4640_pkt_num, - f"4640byte packet quantity error,expected value:{pkts_4640_num}" - f", actual value : {actual_4640_pkt_num}", - ) - - self.verify( - pkts_960_num == actual_960_pkt_num, - f"960byte packet quantity error,expected value:{pkts_960_num}" - f", actual value : {actual_960_pkt_num}", - ) - self.verify( - pkts_64_num == actual_64_pkt_num, - f"64byte packet quantity error,expected value:{pkts_64_num}" - f", actual value : {actual_64_pkt_num}", - ) - - self.verify( - pkts_8k_num == actual_8k_pkt_num, - f"8k packet quantity error,expected value:{pkts_8k_num}" - f", actual value : {actual_8k_pkt_num}", - ) - - def get_dump_file_of_virtio_user_cbdma(self, path_mode, extern_param, ringsize): - - self.lanuch_vhost_testpmd_with_cbdma(vdevs=self.vdevs) - self.start_virtio_testpmd_with_vhost_net1(path_mode, extern_param, ringsize) - self.launch_pdump_to_capture_pkt( - self.dump_port, self.virtio_prefix_1, self.dump_virtio_pcap - ) - self.start_virtio_testpmd_with_vhost_net0_cbdma( - path_mode, extern_param, ringsize - ) - def send_32_2k_pkts_from_virtio0(self): """ send 32 2k length packets from virtio_user0 testpmd @@ -881,808 +758,6 @@ class TestVM2VMVirtioUser(TestCase): self.logger.info("diff the pcap file of vhost and virtio") self.check_vhost_and_virtio_pkts_content() - def get_cbdma_ports_info_and_bind_to_dpdk(self): - """ - get all cbdma ports - """ - out = self.dut.send_expect( - "./usertools/dpdk-devbind.py --status-dev dma", "# ", 30 - ) - device_info = out.split("\n") - for device in device_info: - pci_info = re.search("\s*(0000:\S*:\d*.\d*)", device) - if pci_info is not None: - dev_info = pci_info.group(1) - # the numa id of ioat dev, only add the device which - # on same socket with nic dev - bus = int(dev_info[5:7], base=16) - if bus >= 128: - cur_socket = 1 - else: - cur_socket = 0 - if self.ports_socket == cur_socket: - self.cbdma_dev_infos.append(pci_info.group(1)) - self.verify( - len(self.cbdma_dev_infos) >= 8, - "There no enough cbdma device to run this suite", - ) - self.device_str = " ".join(self.cbdma_dev_infos[0 : self.cbdma_nic_dev_num]) - self.dut.send_expect( - "./usertools/dpdk-devbind.py --force --bind=%s %s" - % (self.drivername, self.device_str), - "# ", - 60, - ) - - def bind_cbdma_device_to_kernel(self): - if self.device_str is not None: - self.dut.send_expect("modprobe ioatdma", "# ") - self.dut.send_expect( - "./usertools/dpdk-devbind.py -u %s" % self.device_str, "# ", 30 - ) - self.dut.send_expect( - "./usertools/dpdk-devbind.py --force --bind=ioatdma %s" - % self.device_str, - "# ", - 60, - ) - - def relanuch_vhost_testpmd_iova_pa(self): - - self.vhost_user_pmd.execute_cmd("quit", "#", 60) - self.virtio_user1_pmd.execute_cmd("stop") - self.virtio_user1_pmd.execute_cmd("clear port stats all") - out = self.virtio_user1_pmd.execute_cmd("show port stats 0") - self.verify("RX-packets: 0" in out, "expect: virtio-user1 RX-packets is 0 ") - self.virtio_user1_pmd.execute_cmd("start") - self.lanuch_vhost_testpmd_with_cbdma(vdevs=self.vdevs, iova="pa") - self.launch_pdump_to_capture_pkt( - self.dump_port, self.virtio_prefix_1, self.dump_virtio_pcap - ) - - def relanuch_vhost_iova_pa_and_virtio(self, path_mode, extern_param, ringsize): - - self.quit_all_testpmd() - self.lanuch_vhost_testpmd_with_cbdma(vdevs=self.vdevs, iova="pa") - self.start_virtio_testpmd_with_vhost_net1(path_mode, extern_param, ringsize) - self.launch_pdump_to_capture_pkt( - self.dump_port, self.virtio_prefix_1, self.dump_virtio_pcap - ) - self.start_virtio_testpmd_with_vhost_net0_cbdma( - path_mode, extern_param, ringsize - ) - - def test_vm2vm_virtio_user_split_virtqueue_non_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 12: split virtqueue vm2vm non-mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - pkts_64_num = 64 - pkts_960_num = 502 - total_pkts_num = pkts_64_num + pkts_960_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=0,in_order=0" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2 --enable-hw-vlan-strip " - # get dump pcap file of virtio - # the virtio0 will send imix small pkts - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_251_960byte_and_32_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 566" in out and "RX-bytes: 486016" in out, - "expect: virtio-user1 RX-packets is 566 and RX-bytes is 486016", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, total_pkts_num, pkts_64_num, pkts_960_num - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_251_960byte_and_32_64byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 566" in out and "RX-bytes: 486016" in out, - "expect: virtio-user1 RX-packets is 566 and RX-bytes is 486016", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, total_pkts_num, pkts_64_num, pkts_960_num - ) - - def test_vm2vm_virtio_user_split_virtqueue_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 13: split virtqueue vm2vm mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 54 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=1,in_order=0" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_27_4640byte_and_224_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_27_4640byte_and_224_64byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_split_virtqueue_inorder_non_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 14: split virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 0 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=0,in_order=1" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_27_4640byte_and_224_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_27_4640byte_and_224_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_split_virtqueue_vectorized_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 15: split virtqueue vm2vm vectorized path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 0 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=0,in_order=0,vectorized=1" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_224_64byte_and_27_4640byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_split_virtqueue_inorder_mergeable_path_test_non_indirect_desc_with_cbdma( - self, - ): - """ - Test Case 16: split virtqueue vm2vm inorder mergeable path test non-indirect descriptor with cbdma enable - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_8k_pkts_num = 2 - large_64_pkts_num = 502 - total_pkts_num = large_8k_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 256 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=1,in_order=1" - ringsize = 256 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_251_64_and_32_8k_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 504" in out and "RX-bytes: 48128" in out, - "expect: virtio-user1 RX-packets is 504 and RX-bytes is 48128", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_8k_num=large_8k_pkts_num, - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa and virtio") - self.relanuch_vhost_iova_pa_and_virtio(path_mode, extern_params, ringsize) - self.send_251_64_and_32_8k_pkts() - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 504" in out and "RX-bytes: 48128" in out, - "expect: virtio-user1 RX-packets is 504 and RX-bytes is 48128", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_8k_num=large_8k_pkts_num, - ) - - def test_vm2vm_virtio_user_split_virtqueue_mergeable_path_test_indirect_desc_with_cbdma( - self, - ): - """ - Test Case 17: split virtqueue vm2vm mergeable path test indirect descriptor with cbdma enable - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_8k_pkts_num = 10 - large_64_pkts_num = 502 - total_pkts_num = large_8k_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 256 - path_mode = "server=1,packed_vq=0,mrg_rxbuf=1,in_order=0" - ringsize = 256 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_251_64_and_32_8k_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 512" in out and "RX-bytes: 112128" in out, - "expect: virtio-user1 RX-packets is 512 and RX-bytes is 112128", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_8k_num=large_8k_pkts_num, - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa and virtio") - self.relanuch_vhost_iova_pa_and_virtio(path_mode, extern_params, ringsize) - self.send_251_64_and_32_8k_pkts() - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 512" in out and "RX-bytes: 112128" in out, - "expect: virtio-user1 RX-packets is 512 and RX-bytes is 112128", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_8k_num=large_8k_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_non_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 18: packed virtqueue vm2vm non mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - pkts_64_num = 448 - pkts_4640_num = 0 - total_pkts_num = pkts_64_num + pkts_4640_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=0,in_order=0" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, total_pkts_num, pkts_64_num, pkts_4640_num - ) - - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_224_64byte_and_27_4640byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, total_pkts_num, pkts_64_num, pkts_4640_num - ) - - def test_vm2vm_virtio_user_packed_virtqueue_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 19: packed virtqueue vm2vm mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 54 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=1,in_order=0" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_27_4640byte_and_224_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_27_4640byte_and_224_64byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_inorder_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 20: packed virtqueue vm2vm inorder mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 54 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=1,in_order=1" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_27_4640byte_and_224_64byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_27_4640byte_and_224_64byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 502" in out and "RX-bytes: 279232" in out, - "expect: virtio-user1 RX-packets is 502 and RX-bytes is 279232", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_inorder_non_mergeable_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 21: packed virtqueue vm2vm inorder non-mergeable path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 0 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=0,in_order=1" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_224_64byte_and_27_4640byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_vectorized_path_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 22: packed virtqueue vm2vm vectorized path multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 0 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1" - ringsize = 4096 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_224_64byte_and_27_4640byte_pkts() - - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_vectorized_path_ringsize_not_power_of_2_multi_queues_check_chain_pkts_with_cbdma( - self, - ): - """ - Test Case 23: packed virtqueue vm2vm vectorized path ringsize_not_power_of_2 multi-queues payload check with cbdma enabled - """ - self.cbdma_nic_dev_num = 4 - self.get_cbdma_ports_info_and_bind_to_dpdk() - large_4640_pkts_num = 0 - large_64_pkts_num = 448 - total_pkts_num = large_4640_pkts_num + large_64_pkts_num - self.queue_num = 2 - self.txd_num = 4096 - path_mode = "server=1,packed_vq=1,mrg_rxbuf=0,in_order=1,vectorized=1" - ringsize = 4097 - extern_params = "--rxq=2 --txq=2" - - self.logger.info("check pcap file info about virtio") - self.vdevs = ( - f"--vdev 'eth_vhost0,iface=vhost-net0,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[0]};txq1@{self.cbdma_dev_infos[1]}]' " - f"--vdev 'eth_vhost1,iface=vhost-net1,queues=2,client=1,dmas=[txq0@{self.cbdma_dev_infos[2]};txq1@{self.cbdma_dev_infos[3]}]'" - ) - - self.get_dump_file_of_virtio_user_cbdma(path_mode, extern_params, ringsize) - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - if not self.check_2M_env: - self.logger.info("relanuch vhost testpmd iova pa") - self.relanuch_vhost_testpmd_iova_pa() - self.send_224_64byte_and_27_4640byte_pkts() - self.vhost_user_pmd.execute_cmd("start") - self.vhost_user_pmd.execute_cmd("stop") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 448" in out and "RX-bytes: 28672" in out, - "expect: virtio-user1 RX-packets is 448 and RX-bytes is 28672", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_4640_num=large_4640_pkts_num, - ) - - def test_vm2vm_virtio_user_packed_virtqueue_vectorized_path_test_indirect_desc( - self, - ): - """ - Test Case 24: packed virtqueue vm2vm vectorized-tx path multi-queues test indirect descriptor - """ - large_8k_pkts_num = 5 - large_64_pkts_num = 251 - total_pkts_num = large_8k_pkts_num + large_64_pkts_num - self.queue_num = 1 - self.txd_num = 256 - path_mode = "packed_vq=1,mrg_rxbuf=1,in_order=1,vectorized=1" - ringsize = 256 - extern_params = "" - - self.logger.info("check pcap file info about virtio") - self.get_dump_file_of_virtio_user(path_mode, extern_params, ringsize) - # execute stop and port stop all to avoid testpmd tail_pkts issue. - self.vhost_user_pmd.execute_cmd("stop") - self.vhost_user_pmd.execute_cmd("port stop all") - out = self.virtio_user1_pmd.execute_cmd("show port stats all") - self.verify( - "RX-packets: 256" in out and "RX-bytes: 56064" in out, - "expect: virtio-user1 RX-packets is 256 and RX-bytes is 56064", - ) - self.check_packet_payload_valid_with_cbdma( - self.dump_virtio_pcap, - total_pkts_num, - pkts_64_num=large_64_pkts_num, - pkts_8k_num=large_8k_pkts_num, - ) - def close_all_session(self): if getattr(self, "vhost_user", None): self.dut.close_session(self.vhost_user) @@ -1698,7 +773,6 @@ class TestVM2VMVirtioUser(TestCase): Run after each test case. """ self.quit_all_testpmd() - self.bind_cbdma_device_to_kernel() self.dut.kill_all() time.sleep(2)