From patchwork Mon Jul 18 02:54:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 113994 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 71713A0548; Mon, 18 Jul 2022 04:55:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B7BA415D7; Mon, 18 Jul 2022 04:55:09 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id A824F41109 for ; Mon, 18 Jul 2022 04:55:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658112907; x=1689648907; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PiljPDfk6oad5y9Ds/Cyj7Yae3OXjR7qiPMC8kuuPyE=; b=K/Ce8xvAr6P3s7rBiubJiDN1MebJIT4PuY86nXL2Ef/T3FsJRdtyGhEE 4InvGLT94Z/lvv5FYPOxcp7fwX8D5/U97MQH/mDoqmtg8YIHG4hIWEZrV KA0FDAADhDInJl05PgD7HC16Ml5OiwEI4ftSxpvFK4Sa+o8eoYmwEl0k/ HO795eHc/JACzZzydbWO33ugPNjdpDp4z1NhnQ6X6467ftnRJa1seW0iC 08MaGt2zUdjghBSdPBexedMdis4GRxvXRXmIezPt2JEcPHuVybPK6Kbz4 weBeVG1TWrh3kVCPuANL79P9WHRse53ITlymDfNSISpYaDmxcEKECB+TC g==; X-IronPort-AV: E=McAfee;i="6400,9594,10411"; a="311796684" X-IronPort-AV: E=Sophos;i="5.92,280,1650956400"; d="scan'208";a="311796684" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2022 19:55:06 -0700 X-IronPort-AV: E=Sophos;i="5.92,280,1650956400"; d="scan'208";a="624541974" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jul 2022 19:55:03 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V1 03/12] tests/checksum_offload: update dts code for dpdk csum change Date: Mon, 18 Jul 2022 10:54:38 +0800 Message-Id: <20220718025447.13287-3-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220718025447.13287-1-weiyuanx.li@intel.com> References: <20220718025447.13287-1-weiyuanx.li@intel.com> 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 According to dpdk commit 9b4ea7ae77fa(app/testpmd: revert MAC update in checksum forwarding) modify the script adapt to this chagne. 1. Modify VF case to enable promisc. 2. Modify PF case to send packet dst mac is random. Signed-off-by: Weiyuan Li --- tests/TestSuite_checksum_offload.py | 31 ++++++++++++++++++----------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/tests/TestSuite_checksum_offload.py b/tests/TestSuite_checksum_offload.py index 3554f5eb..ffc48b96 100644 --- a/tests/TestSuite_checksum_offload.py +++ b/tests/TestSuite_checksum_offload.py @@ -76,6 +76,7 @@ class TestChecksumOffload(TestCase): self.output_path = os.sep.join([cur_path, self.logger.log_path]) # log debug used self.count = 0 + self.src_mac = "52:00:00:00:00:00" def set_up(self): """ @@ -204,15 +205,14 @@ class TestChecksumOffload(TestCase): self.tester.get_local_port(self.dut_ports[0]) ) - sniff_src = self.dut.get_mac_address(self.dut_ports[0]) + sniff_src = "52:00:00:00:00:00" result = dict() chksum = self.get_chksum_values(packets_expected) - inst = self.tester.tcpdump_sniff_packets( intf=rx_interface, count=len(packets_sent) * 4, - filters=[{"layer": "ether", "config": {"src": sniff_src}}], + filters=[{"layer": "ether", "config": {"src": self.src_mac}}], ) self.pkt = packet.Packet() @@ -369,6 +369,7 @@ class TestChecksumOffload(TestCase): return self.tester.send_expect(cmd, ">>>", timeout=timeout) def get_packets(self, dut_mac, tester_mac): + tester_mac = "52:00:00:00:00:00" eth = Ether(dst=dut_mac, src=tester_mac) packets = [] checksum_options = ( @@ -424,8 +425,9 @@ class TestChecksumOffload(TestCase): ): if os.path.isfile(capture_file_path): os.remove(capture_file_path) + src_mac = "52:00:00:00:00:00" self.tester.send_expect( - f"tcpdump -i '{iface}' ether src {dut_mac} -s 0 -w {capture_file_path} &", + f"tcpdump -i '{iface}' ether src {src_mac} -s 0 -w {capture_file_path} -Q in &", "# ", ) @@ -502,7 +504,8 @@ class TestChecksumOffload(TestCase): Verify that the same number of packet are correctly received on the traffic generator side. """ - mac = self.dut.get_mac_address(self.dut_ports[0]) + # mac = self.dut.get_mac_address(self.dut_ports[0]) + mac = "23:00:00:00:00:00" pktsChkErr = { "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/Dot1Q(vlan=1)/IP(chksum=0x0)/UDP(chksum=0xf)/("X"*46)' @@ -546,7 +549,7 @@ class TestChecksumOffload(TestCase): transmit packet.Enable Checksum offload. Verify the checksum valid-flags. """ - mac = self.dut.get_mac_address(self.dut_ports[0]) + mac = "23:00:00:00:00:00" pkts_ref = { "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP()/UDP()/("X"*46)' @@ -611,7 +614,7 @@ class TestChecksumOffload(TestCase): Verify that the same number of packet are correctly received on the traffic generator side. """ - mac = self.dut.get_mac_address(self.dut_ports[0]) + mac = "23:00:00:00:00:00" pkts = { "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP(chksum=0x0)/UDP(chksum=0xf)/("X"*46)' @@ -660,7 +663,7 @@ class TestChecksumOffload(TestCase): Verify that the same number of packet are correctly received on the traffic generator side. """ - mac = self.dut.get_mac_address(self.dut_ports[0]) + mac = "23:00:00:00:00:00" sndIP = "10.0.0.1" sndIPv6 = "::1" sndPkts = { @@ -818,7 +821,8 @@ class TestChecksumOffload(TestCase): iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0])) dut_mac = self.dut.get_mac_address(self.dut_ports[0]) tester_mac = self.tester.get_mac(self.tester.get_local_port(self.dut_ports[0])) - + dut_mac = "23:00:00:00:00:00" + tester_mac = "52:00:00:00:00:00" self.scapy_exec(f"eth = Ether(dst='{dut_mac}', src='{tester_mac}')") self.scapy_exec(f"iface = '{iface}'") @@ -850,6 +854,8 @@ class TestChecksumOffload(TestCase): iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0])) dut_mac = self.dut.get_mac_address(self.dut_ports[0]) tester_mac = self.tester.get_mac(self.tester.get_local_port(self.dut_ports[0])) + dut_mac = "23:00:00:00:00:00" + tester_mac = "52:00:00:00:00:00" eth = Ether(dst=dut_mac, src=tester_mac) checksum_options = ( @@ -905,7 +911,8 @@ class TestChecksumOffload(TestCase): iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0])) dut_mac = self.dut.get_mac_address(self.dut_ports[0]) tester_mac = self.tester.get_mac(self.tester.get_local_port(self.dut_ports[0])) - + dut_mac = "23:00:00:00:00:00" + tester_mac = "52:00:00:00:00:00" self.tester.send_expect("scapy", ">>> ") self.scapy_exec(f"eth = Ether(dst='{dut_mac}', src='{tester_mac}')") self.scapy_exec(f"iface = '{iface}'") @@ -1005,7 +1012,8 @@ class TestChecksumOffload(TestCase): iface = self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0])) dut_mac = self.dut.get_mac_address(self.dut_ports[0]) tester_mac = self.tester.get_mac(self.tester.get_local_port(self.dut_ports[0])) - + dut_mac = "23:00:00:00:00:00" + tester_mac = "52:00:00:00:00:00" packets = self.get_packets(dut_mac, tester_mac) capture_file_name = "test_hardware_checksum_check_l4_tx_capture.pcap" @@ -1022,7 +1030,6 @@ class TestChecksumOffload(TestCase): ) captured_packets = rdpcap("output/tmp/pcap/" + capture_file_name) - self.verify( len(packets) == len(captured_packets), "Not all packets were received" )