From patchwork Tue Aug 30 02:47:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115631 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 BD3D0A034C; Tue, 30 Aug 2022 04:47:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8741940F18; Tue, 30 Aug 2022 04:47:37 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 1743440F17 for ; Tue, 30 Aug 2022 04:47:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827655; x=1693363655; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=PRWoKlBERH0RSHA0/S4Vn0kS5GGM1Bp+V57OrvzD1ZI=; b=gQ90sBkujR3YYbxowOkq6AIiKgu0lKYU0I9wq2pa3mQrYWJ1457CYHQd EssxiP8k/UKYGVTGPjVoEO/ZSBDn/h0l+JJM6/OudbfPfdayR/GBkJV49 zBwOibyWMrkH+xtXprt5AKp5KvygzvC6VEzUeUF8mHSpqoA7COQZmd/JV hitqjML0/UVC4tFM1xBkkIB9Df8s+O75GhCzF4AVb0G9ZhHU9wNedELGn L3h+Zdn9+JH54Fdya7wiBO+uYxZCSDllfOnOlCfXdDSLZn7j1To88f6aX r7HA9g+ldStdNb4B2RdMs2ZGxiB8x1Ka+eG3WLAmYhl/+YtrJFj54W+5j A==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="321186870" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="321186870" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:31 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181884" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:28 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 01/10] tests/vf_offload: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:31 +0800 Message-Id: <20220830024740.26250-1-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Added enable promisc model v3: -Test plan csum add enable promisc mode tests/TestSuite_vf_offload.py | 100 ++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 30 deletions(-) diff --git a/tests/TestSuite_vf_offload.py b/tests/TestSuite_vf_offload.py index 4dd05cac..eee77c69 100644 --- a/tests/TestSuite_vf_offload.py +++ b/tests/TestSuite_vf_offload.py @@ -43,7 +43,7 @@ class TestVfOffload(TestCase): self.setup_2pf_2vf_1vm_env_flag = 0 self.setup_2pf_2vf_1vm_env(driver="") self.vm0_dut_ports = self.vm_dut_0.get_ports("any") - self.portMask = utils.create_mask([self.vm0_dut_ports[0]]) + self.portMask = utils.create_mask(self.vm0_dut_ports) self.vm0_testpmd = PmdOutput(self.vm_dut_0) self.tester.send_expect( "ifconfig %s mtu %s" @@ -59,6 +59,14 @@ class TestVfOffload(TestCase): def set_up(self): pass + def ip_link_set(self, host_intf=None, cmd=None, port=None, types=None, value=0): + if host_intf is None or cmd is None or port is None or types is None: + return + set_command = f"ip link set {host_intf} {cmd} {port} {types} {value}" + out = self.dut.send_expect(set_command, "# ") + if "RTNETLINK answers: Invalid argument" in out: + self.dut.send_expect(set_command, "# ") + def setup_2pf_2vf_1vm_env(self, driver="default"): self.used_dut_port_0 = self.dut_ports[0] @@ -68,6 +76,37 @@ class TestVfOffload(TestCase): self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 1, driver=driver) self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1]["vfs_port"] + self.host_intf_0 = self.dut.ports_info[self.used_dut_port_0]["intf"] + self.host_intf_1 = self.dut.ports_info[self.used_dut_port_1]["intf"] + + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="trust", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="trust", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="spoofchk", + value="off", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="spoofchk", + value="off", + ) try: for port in self.sriov_vfs_port_0: @@ -154,12 +193,11 @@ class TestVfOffload(TestCase): self.tester.get_local_port(self.dut_ports[0]) ) rx_interface = self.tester.get_interface( - self.tester.get_local_port(self.dut_ports[0]) + self.tester.get_local_port(self.dut_ports[1]) ) - sniff_src = self.vm0_testpmd.get_port_mac(0) checksum_pattern = re.compile("chksum.*=.*(0x[0-9a-z]+)") - + sniff_src = "52:00:00:00:00:00" chksum = dict() result = dict() @@ -175,16 +213,11 @@ class TestVfOffload(TestCase): self.tester.send_expect("exit()", "#") self.tester.scapy_background() - self.tester.scapy_append( - 'p = sniff(filter="ether src %s", iface="%s", count=%d)' - % (sniff_src, rx_interface, len(packets_sent)) + inst = self.tester.tcpdump_sniff_packets( + intf=rx_interface, + count=len(packets_sent), + filters=[{"layer": "ether", "config": {"src": sniff_src}}], ) - self.tester.scapy_append("nr_packets=len(p)") - self.tester.scapy_append( - 'reslist = [p[i].sprintf("%IP.chksum%;%TCP.chksum%;%UDP.chksum%;%SCTP.chksum%") for i in range(nr_packets)]' - ) - self.tester.scapy_append("import string") - self.tester.scapy_append('RESULT = ",".join(reslist)') # Send packet. self.tester.scapy_foreground() @@ -196,7 +229,15 @@ class TestVfOffload(TestCase): self.tester.scapy_execute() out = self.tester.scapy_get_result() - packets_received = out.split(",") + + p = self.tester.load_tcpdump_sniff_packets(inst) + nr_packets = len(p) + print(p) + packets_received = [ + p[i].sprintf("%IP.chksum%;%TCP.chksum%;%UDP.chksum%;%SCTP.chksum%") + for i in range(nr_packets) + ] + self.verify( len(packets_sent) == len(packets_received), "Unexpected Packets Drop" ) @@ -251,17 +292,15 @@ class TestVfOffload(TestCase): """ self.vm0_testpmd.start_testpmd( VM_CORES_MASK, - "--portmask=%s " % (self.portMask) - + "--enable-rx-cksum " - + "" - + "--port-topology=loop", + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", ) self.vm0_testpmd.execute_cmd("set fwd csum") + self.vm0_testpmd.execute_cmd("set promisc 1 on") + self.vm0_testpmd.execute_cmd("set promisc 0 on") time.sleep(2) port_id_0 = 0 mac = self.vm0_testpmd.get_port_mac(0) - sndIP = "10.0.0.1" sndIPv6 = "::1" pkts = { @@ -280,19 +319,20 @@ class TestVfOffload(TestCase): expIP = sndIP expIPv6 = sndIPv6 pkts_ref = { - "IP/UDP": 'Ether(dst="02:00:00:00:00:00", src="%s")/IP(src="%s")/UDP()/("X"*46)' + "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP(src="%s")/UDP()/("X"*46)' % (mac, expIP), - "IP/TCP": 'Ether(dst="02:00:00:00:00:00", src="%s")/IP(src="%s")/TCP()/("X"*46)' + "IP/TCP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP(src="%s")/TCP()/("X"*46)' % (mac, expIP), - "IP/SCTP": 'Ether(dst="02:00:00:00:00:00", src="%s")/IP(src="%s")/SCTP()/("X"*48)' + "IP/SCTP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP(src="%s")/SCTP()/("X"*48)' % (mac, expIP), - "IPv6/UDP": 'Ether(dst="02:00:00:00:00:00", src="%s")/IPv6(src="%s")/UDP()/("X"*46)' + "IPv6/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IPv6(src="%s")/UDP()/("X"*46)' % (mac, expIPv6), - "IPv6/TCP": 'Ether(dst="02:00:00:00:00:00", src="%s")/IPv6(src="%s")/TCP()/("X"*46)' + "IPv6/TCP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IPv6(src="%s")/TCP()/("X"*46)' % (mac, expIPv6), } self.checksum_enablehw(0, self.vm_dut_0) + self.checksum_enablehw(1, self.vm_dut_0) self.vm0_testpmd.execute_cmd("start") result = self.checksum_validate(pkts, pkts_ref) @@ -311,14 +351,13 @@ class TestVfOffload(TestCase): Enable SW checksum offload. Send same packet with incorrect checksum and verify checksum is valid. """ - self.vm0_testpmd.start_testpmd( VM_CORES_MASK, - "--portmask=%s " % (self.portMask) - + "--enable-rx-cksum " - + "--port-topology=loop", + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", ) self.vm0_testpmd.execute_cmd("set fwd csum") + self.vm0_testpmd.execute_cmd("set promisc 1 on") + self.vm0_testpmd.execute_cmd("set promisc 0 on") time.sleep(2) @@ -350,6 +389,7 @@ class TestVfOffload(TestCase): } self.checksum_enablesw(0, self.vm_dut_0) + self.checksum_enablesw(1, self.vm_dut_0) self.vm0_testpmd.execute_cmd("start") result = self.checksum_validate(sndPkts, expPkts) @@ -457,7 +497,6 @@ class TestVfOffload(TestCase): ) mac = self.vm0_testpmd.get_port_mac(0) - self.vm0_testpmd.execute_cmd("set verbose 1", "testpmd> ", 120) self.vm0_testpmd.execute_cmd("port stop all", "testpmd> ", 120) self.vm0_testpmd.execute_cmd( @@ -501,7 +540,8 @@ class TestVfOffload(TestCase): self.vm0_testpmd.execute_cmd("tso set 800 %d" % self.vm0_dut_ports[1]) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("port start all", "testpmd> ", 120) - self.vm0_testpmd.execute_cmd("set promisc all off", "testpmd> ", 120) + self.vm0_testpmd.execute_cmd("set promisc 0 on", "testpmd> ", 120) + self.vm0_testpmd.execute_cmd("set promisc 1 on", "testpmd> ", 120) self.vm0_testpmd.execute_cmd("start") self.tester.scapy_foreground() From patchwork Tue Aug 30 02:47:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115633 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 06437A04FD; Tue, 30 Aug 2022 04:47:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CD139427F7; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id CB29140F17 for ; Tue, 30 Aug 2022 04:47:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827660; x=1693363660; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FdQge3NQ3tGmg6oz88OEMFY6GbemMuNk9HWbJJQqbO4=; b=A4iLNJbSQCP7t8dntz2VZDlwT8MJdNTuCdmtDSHquT4692o9GIhu4ERa Ik83xJI4qAHyBB51IURlkU+l4KmkRWa3JZQS25XlP51/+od+QrHA4tVrF x9ZoZZgIgnJ5jvUz+erWg9EEpmxy0jR5bH0RDbcuSRl+YhOY2cFtmMsud kv6+XrxzA/E1tQ+SmkFcHR86BUh4CeUKYQBuLyXYePpFQz4v8eCXAsBJW IkClKp2eb6qqFjtISuKenkVCz3ZIQZy49REfb7ibvpiDkcU60b57j5Uvf MdhKxnMxPa1/JPnZYXoEJH0LR7nkqTADK7WvMPOW8JXVcC63j7ojWxxF5 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024441" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024441" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:31 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181893" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:30 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 02/10] test_plans/vf_offload: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:32 +0800 Message-Id: <20220830024740.26250-2-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Enable promisc mode in testpmd v3: -Test plan csum add enable promisc mode test_plans/vf_offload_test_plan.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test_plans/vf_offload_test_plan.rst b/test_plans/vf_offload_test_plan.rst index 522fc017..ba490e06 100644 --- a/test_plans/vf_offload_test_plan.rst +++ b/test_plans/vf_offload_test_plan.rst @@ -17,6 +17,11 @@ to the device under test:: modprobe vfio-pci usertools/dpdk-devbind.py --bind=vfio-pci device_bus_id +IP link set VF trust on and spoofchk off on DUT:: + + ip link set $PF_INTF vf 0 trust on + ip link set $PF_INTF vf 0 spoofchk off + Assuming that ports ``0`` and ``1`` are connected to a traffic generator, enable hardware rx checksum offload with "--enable-rx-cksum", launch the ``testpmd`` with the following arguments:: @@ -71,6 +76,7 @@ Enable the IPv4/UDP/TCP/SCTP HW checksum offload on port 0:: testpmd> csum set udp hw 0 testpmd> csum set sctp hw 0 testpmd> port start all + testpmd> set promisc 0 on testpmd> start csum packet forwarding - CRC stripping disabled - packets/burst=32 nb forwarding cores=1 - nb forwarding ports=10 @@ -110,6 +116,7 @@ Enable the IPv4/UDP/TCP/SCTP SW checksum offload on port 0:: testpmd> csum set udp sw 0 testpmd> csum set sctp sw 0 testpmd> port start all + testpmd> set promisc 0 on testpmd> start csum packet forwarding - CRC stripping disabled - packets/burst=32 nb forwarding cores=1 - nb forwarding ports=10 @@ -154,6 +161,7 @@ and checksum on rx port. The test commands is below:: testpmd> csum set udp hw 0 testpmd> csum set sctp hw 0 testpmd> port start all + testpmd> set promisc 0 on testpmd> set fwd csum # Enable TSO on tx port @@ -185,6 +193,7 @@ Launch the userland ``testpmd`` application on DUT as follows:: testpmd> csum set tcp hw 0 testpmd> csum set udp hw 0 testpmd> csum set sctp hw 0 + testpmd> set promisc 0 on testpmd> port start all # Enable TSO on tx port From patchwork Tue Aug 30 02:47:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115632 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 B6ED5A034C; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEE6241181; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 342B940F17 for ; Tue, 30 Aug 2022 04:47:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827660; x=1693363660; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=TGx5BKYpzeEKqzsltsxzeS2aNh70TfAnAWv0e+0JMPs=; b=VVgA/XQQjC8Gry+iUCjwlq7JMvZ3puB7883M6ZmOyEmcGQcv/4sj/SX8 NDmMKiTjxFhypBxRH6uyYMRcfOTxuEdyYxO94TBGzdjhgdC7E88AX9geb WBtNnD6HST+7bhpHCZ3ZqlQ57jamq6WXvsAwAdlJHSojnEAjykL+jBsQ0 5Hu+BEw3KgEd/q+1E9u3Bulua6ggS4HDJCyL2/C6qrXhJVDMGS34Ag8tS vNPbH0/tO8J+XdWnD0EckkPvLGIH1fxQG+bKby9pWVftAZTDpRBhLr+Z0 gkzbXexPE6A0zOONpCXVEwmSqArIkSI1WVQ7Pmo0a635QVZowtvECPexs Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024444" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024444" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:33 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181906" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:32 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 03/10] tests/checksum_offload: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:33 +0800 Message-Id: <20220830024740.26250-3-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Modify dst mac address tests/TestSuite_checksum_offload.py | 35 +++++++++++++---------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/tests/TestSuite_checksum_offload.py b/tests/TestSuite_checksum_offload.py index 3554f5eb..1ccc884c 100644 --- a/tests/TestSuite_checksum_offload.py +++ b/tests/TestSuite_checksum_offload.py @@ -204,11 +204,10 @@ 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, @@ -424,8 +423,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 +502,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 = "52:00:00:00:00:01" 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 +547,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 = "52:00:00:00:00:01" pkts_ref = { "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP()/UDP()/("X"*46)' @@ -611,7 +612,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 = "52:00:00:00:00:01" pkts = { "IP/UDP": 'Ether(dst="%s", src="52:00:00:00:00:00")/IP(chksum=0x0)/UDP(chksum=0xf)/("X"*46)' @@ -660,7 +661,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 = "52:00:00:00:00:01" sndIP = "10.0.0.1" sndIPv6 = "::1" sndPkts = { @@ -816,9 +817,8 @@ class TestChecksumOffload(TestCase): verification_errors: List[VerifyFailure] = [] 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 = "52:00:00:00:00:01" + 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}'") @@ -848,8 +848,8 @@ class TestChecksumOffload(TestCase): verification_errors: List[VerifyFailure] = [] 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 = "52:00:00:00:00:01" + tester_mac = "52:00:00:00:00:00" eth = Ether(dst=dut_mac, src=tester_mac) checksum_options = ( @@ -903,9 +903,8 @@ class TestChecksumOffload(TestCase): verification_errors: List[VerifyFailure] = [] 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 = "52:00:00:00:00:01" + 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}'") @@ -1003,9 +1002,8 @@ class TestChecksumOffload(TestCase): verification_errors: List[VerifyFailure] = [] 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 = "52:00:00:00:00:01" + 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 +1020,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" ) From patchwork Tue Aug 30 02:47:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115635 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 55BF1A034C; Tue, 30 Aug 2022 04:47:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 15C514281B; Tue, 30 Aug 2022 04:47:43 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 4D8FA40F17 for ; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827661; x=1693363661; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gQkc/avuoNc/7DVOBE9QGpjiupFRfbQ1SlHZqj+q5o4=; b=I7St4Z8z/P/NYZf96E8tSlCgC7GkMqcdqgic7L0zifo89exxsCZ4aNrW VXxSw46tRZ4F0zzeaBv5eZIaBpFZbHtca9sdxTbjC01YPVciuKfIUhpk1 aWcHQu+rbR7r9aU3ofkoXwKNKiaDup+ESGJp5Zni7IKeM4if5c4ZJBZD6 1vC5TJp8l9PiyWTx+8KuvJgQ/r+0uXKYf6M6bUjeLYedfRtaRPZ+vkvI4 jn/Fg16iFkw8mhxr1OEdKc5cKKAT4qWUqztNu1IRy4ATomU8ErxFwj8D1 r+bzKGyi+e/me1OZ/nWjU+16U+9gU7kwzIWUKbi7qa8e/FWw2tiOUDSTZ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024448" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024448" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:35 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181914" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:33 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 04/10] tests/ice_advanced_iavf_rss: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:34 +0800 Message-Id: <20220830024740.26250-4-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Modify the dst mac variable to 'dst_mac' -Enable promisc mode in testpmd v3: -Test plan csum add enable promisc mode tests/TestSuite_ice_advanced_iavf_rss.py | 74 +++++++++++++++++++----- 1 file changed, 58 insertions(+), 16 deletions(-) diff --git a/tests/TestSuite_ice_advanced_iavf_rss.py b/tests/TestSuite_ice_advanced_iavf_rss.py index e560c9e6..bed1d1df 100644 --- a/tests/TestSuite_ice_advanced_iavf_rss.py +++ b/tests/TestSuite_ice_advanced_iavf_rss.py @@ -5781,10 +5781,34 @@ class AdvancedIavfRSSTest(TestCase): self.vf_flag = False self.create_iavf() + def ip_link_set(self, host_intf=None, cmd=None, port=None, types=None, value=0): + if host_intf is None or cmd is None or port is None or types is None: + return + set_command = f"ip link set {host_intf} {cmd} {port} {types} {value}" + out = self.dut.send_expect(set_command, "# ") + if "RTNETLINK answers: Invalid argument" in out: + self.dut.send_expect(set_command, "# ") + def set_up(self): """ Run before each test case. """ + if self.running_case == "test_flow_rule_not_impact_rx_tx_chksum": + self.host_intf_0 = self.dut.ports_info[self.used_dut_port]["intf"] + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="trust", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="spoofchk", + value="off", + ) self.pkt = Packet() self.pmd_output = PmdOutput(self.dut) self.launch_testpmd() @@ -6370,7 +6394,7 @@ class AdvancedIavfRSSTest(TestCase): expect_chksum = dict() checksum_pattern = re.compile("chksum.*=.*(0x[0-9a-z]+)") self.tester.send_expect("scapy", ">>> ") - sniff_src = self.dut.get_mac_address(self.dut_ports[0]) + sniff_src = "52:00:00:00:00:00" for pkt in expect_pkts: self.tester.send_expect("p = %s" % expect_pkts[pkt], ">>>") out = self.tester.send_expect("p.show2()", ">>>") @@ -6382,7 +6406,7 @@ class AdvancedIavfRSSTest(TestCase): inst = self.tester.tcpdump_sniff_packets( intf=self.tester_iface0, count=len(pkts), - filters=[{"layer": "ether", "config": {"src": vf0_mac}}], + filters=[{"layer": "ether", "config": {"src": sniff_src}}], ) out = self.rssprocess.send_pkt_get_output(pkts=pkts[pkt]) rece_pkt = self.tester.load_tcpdump_sniff_packets(inst) @@ -6417,24 +6441,26 @@ class AdvancedIavfRSSTest(TestCase): self.pmd_output.execute_cmd("csum set tcp hw 0") self.pmd_output.execute_cmd("csum set sctp hw 0") self.pmd_output.execute_cmd("port start all") + self.pmd_output.execute_cmd("set promisc 0 on") self.pmd_output.execute_cmd("start") + dst_mac = "00:11:22:33:44:56" pkt_list = { - "IP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48)', - "IP/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48)', - "IP/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48)', - "IP/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x0)/("X"*48)', - "IPv6/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48)', - "IPv6/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48)', - "IPv6/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0x0)/("X"*48)', + "IP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48)', + "IP/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48)', + "IP/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48)', + "IP/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x0)/("X"*48)', + "IPv6/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48)', + "IPv6/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48)', + "IPv6/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0x0)/("X"*48)', } expect_pkt = { - "IP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48)', - "IP/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22)/("X"*48)', - "IP/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22)/("X"*48)', - "IP/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22)/("X"*48)', - "IPv6/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22)/("X"*48)', - "IPv6/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22)/("X"*48)', - "IPv6/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22)/("X"*48)', + "IP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48)', + "IP/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22)/("X"*48)', + "IP/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22)/("X"*48)', + "IP/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22)/("X"*48)', + "IPv6/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22)/("X"*48)', + "IPv6/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22)/("X"*48)', + "IPv6/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22)/("X"*48)', } rule_list = [ "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-chksum end queues end / end", @@ -6631,6 +6657,22 @@ class AdvancedIavfRSSTest(TestCase): self.dut.send_command("clear port stats all", timeout=1) self.pmd_output.execute_cmd("stop") self.pmd_output.execute_cmd("quit", "#") + if self.running_case == "test_flow_rule_not_impact_rx_tx_chksum": + self.host_intf_0 = self.dut.ports_info[self.used_dut_port]["intf"] + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="trust", + value="off", + ) + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="spoofchk", + value="on", + ) def tear_down_all(self): self.dut.kill_all() From patchwork Tue Aug 30 02:47:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115634 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 EED85A0542; Tue, 30 Aug 2022 04:47:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E9DF241140; Tue, 30 Aug 2022 04:47:42 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 6E86A41140 for ; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827661; x=1693363661; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=USHH3fPFmHw/Fc/9IRtXfoYJDmMyZhD1k4uUxSw0bxE=; b=MAPagRlbJq19JeVF5RZl5n+h4j558/MzMeR0Io6Yol/0oQZUGsTNkHDQ iZvl5krpN6HWgJK5HBmL3THF0AQjqenFUvStHkgBKhjYXQUnoz0zF4X+c 5LO4zhQjuSSEz4+CkX/dj0ejwZVFxoSATUzTMbFO+VM8/FZtrcHFbxhzL DnhFj1wIy+tZZlPaKlbSbSrQXmDaeEpDeUiWBH8Uce+rFXyc1B81c7CjY y1sZv05WbFUs709CQWJWGCo6ECW9ZNQU2mVcQ8VhW9o65vyqrLzna4Tus qje7VvlJEDNm0Au3LGsLFyDUlCPhJUvsx6Mbfop0xlMdRoHLbvHWJoyc+ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024455" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024455" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:37 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181921" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:35 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 05/10] test_plans/ice_advanced_iavf_rss: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:35 +0800 Message-Id: <20220830024740.26250-5-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Modify the dst mac variable to 'dst_mac' -Enable promisc mode in testpmd v3: -Test plan csum add enable promisc mode test_plans/ice_advanced_iavf_rss_test_plan.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test_plans/ice_advanced_iavf_rss_test_plan.rst b/test_plans/ice_advanced_iavf_rss_test_plan.rst index 2400f01a..4213334b 100644 --- a/test_plans/ice_advanced_iavf_rss_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_test_plan.rst @@ -310,6 +310,10 @@ Prerequisites echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55 + If test set HW csum flow rule does not impact RX checksum and TX checksum: + ip link set enp24s0f0 vf 0 trust on + ip link set enp24s0f0 vf 0 spoofchk off + 4. bind the VF to dpdk driver in DUT:: modprobe vfio-pci @@ -2911,6 +2915,7 @@ Test case: Set HW csum, flow rule does not impact RX checksum and TX checksum csum set tcp hw 0 csum set sctp hw 0 port start all + set promisc 0 on set verbose 1 start From patchwork Tue Aug 30 02:47:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115636 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 9FCE9A04FD; Tue, 30 Aug 2022 04:47:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2ED4B4282B; Tue, 30 Aug 2022 04:47:43 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 0D74840F17 for ; Tue, 30 Aug 2022 04:47:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827662; x=1693363662; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hoVx7Btu75fxSBCdfqHnEAPIb62zCngE5bovlnkxgHE=; b=bhYt6T+2aXyJctzcb8H/bjIH6kBL4yHxBte0wF0sviAeYDXTHeL7ibcD FktFFD6VgQrkmQA8FBmb9ZYI82fTm2+q4J1JM3plpflK/qbi/t+9UOJW2 ovqvfA+8/ONtCFrnaCXHdY1adfU1OBtutSx4f88ObxO5QtfRjg2BGyCul aIswzcBbEUWEOJ3x4PqeUN/g7ZYnd/B/QdB6FF72m6dGuZ0oe3V5PpwAp FoCqpvR7q5bgH+A9VrnkjPktx/6hUpVlnElf0fdNMwJ32sUL4CWzDLcNI ScMboSYAtF6qstPCdSVpmJyroorue6/X4fX857A14k7KOOrb5NhKdczQp Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024460" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024460" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:39 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181928" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:37 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 06/10] tests/ice_advanced_rss: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:36 +0800 Message-Id: <20220830024740.26250-6-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Modify the dst mac variable to 'dst_mac' tests/TestSuite_ice_advanced_rss.py | 31 +++++++++++++++-------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/tests/TestSuite_ice_advanced_rss.py b/tests/TestSuite_ice_advanced_rss.py index 0c246cca..a3318101 100644 --- a/tests/TestSuite_ice_advanced_rss.py +++ b/tests/TestSuite_ice_advanced_rss.py @@ -5493,7 +5493,7 @@ class AdvancedRSSTest(TestCase): expect_chksum = dict() checksum_pattern = re.compile("chksum.*=.*(0x[0-9a-z]+)") self.tester.send_expect("scapy", ">>> ") - sniff_src = self.dut.get_mac_address(self.dut_ports[0]) + sniff_src = "52:00:00:00:00:00" for pkt in expect_pkts: self.tester.send_expect("p = %s" % expect_pkts[pkt], ">>>") out = self.tester.send_expect("p.show2()", ">>>") @@ -5541,23 +5541,24 @@ class AdvancedRSSTest(TestCase): self.pmd_output.execute_cmd("csum set sctp hw 0") self.pmd_output.execute_cmd("port start all") self.pmd_output.execute_cmd("start") + dst_mac = "00:11:22:33:44:56" pkt_list = { - "IP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48)', - "IP/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48)', - "IP/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48)', - "IP/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x0)/("X"*48)', - "IPv6/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48)', - "IPv6/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48)', - "IPv6/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0x0)/("X"*48)', + "IP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48)', + "IP/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48)', + "IP/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48)', + "IP/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x0)/("X"*48)', + "IPv6/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48)', + "IPv6/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48)', + "IPv6/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0x0)/("X"*48)', } expect_pkt = { - "IP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48)', - "IP/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22)/("X"*48)', - "IP/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22)/("X"*48)', - "IP/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22)/("X"*48)', - "IPv6/TCP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22)/("X"*48)', - "IPv6/UDP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22)/("X"*48)', - "IPv6/SCTP": 'Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22)/("X"*48)', + "IP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48)', + "IP/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22)/("X"*48)', + "IP/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22)/("X"*48)', + "IP/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22)/("X"*48)', + "IPv6/TCP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22)/("X"*48)', + "IPv6/UDP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22)/("X"*48)', + "IPv6/SCTP": f'Ether(dst="{dst_mac}", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22)/("X"*48)', } rule_list = [ "flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-chksum end queues end / end", From patchwork Tue Aug 30 02:47:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115637 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 4EAA6A034C; Tue, 30 Aug 2022 04:47:48 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4A2FE410EE; Tue, 30 Aug 2022 04:47:48 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 3125940F17 for ; Tue, 30 Aug 2022 04:47:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827667; x=1693363667; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nTv0E+6Qv9Q1NY8j8SVhJea9CkOYEYy5mJaZS42exjk=; b=MGwytqhjNTzecfpRuOkID7Klum9eK6TRvIxBXYSaE6WgMqAm5u2GGI0o GXjMSYNLdA2iZlwj1v7o/cQ9JY5PKsV/5P/Kn8a2f5J15QC+5PKPokn0J HvVDwezr2h2eI6K8ZEtk4Gib4CxF83sHfMsn6LlYIMNWcWfaYSAyQAvRQ y9Fktpw80CaCpSXY8tsKN19fmlEG2zdnpsft+xTTqxBkRvwq4Z4y/epxG kMRyG3hCOe7hxKxaZPNeCeFdwk4YreuefrrG5ZEYSKC8XGrDXGfHACzeW xJI0e6emmQDCBOaohKg4GL0o742wmviOs32osXjdv5W8aTuL03Bu2paMf w==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024467" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024467" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:40 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181935" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:39 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 07/10] test_plans/ice_advanced_rss: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:37 +0800 Message-Id: <20220830024740.26250-7-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 1. Modify VF case to enable promisc. 2. Modify PF case to send packet dst mac is random. Signed-off-by: Weiyuan Li Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> test_plans/ice_advanced_rss_test_plan.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/test_plans/ice_advanced_rss_test_plan.rst b/test_plans/ice_advanced_rss_test_plan.rst index 48dcc545..b6488573 100644 --- a/test_plans/ice_advanced_rss_test_plan.rst +++ b/test_plans/ice_advanced_rss_test_plan.rst @@ -2461,21 +2461,21 @@ Test case: Set HW csum, flow rule does not impact RX checksum and TX checksum 3. Capture the tx packet at tester port and check checksum values same as expect pkts:: take a IPV4 for example: - p = Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48) + p = Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48) p.show2() expect pkts checksum value: chksum= 0x3b0f - tcpdump -i ens7 'ether src 40:a6:b7:0b:76:28 and ether[12:2] != 0x88cc' -Q in -w /tmp/tester/sniff_ens7.pcap -c 7 + tcpdump -i ens7 'ether src 52:00:00:00:00:00 and ether[12:2] != 0x88cc' -Q in -w /tmp/tester/sniff_ens7.pcap -c 7 4. Send packets:: - p1=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48) - p2=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48) - p3=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48) - p4=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x1)/("X"*48) - p5=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48) - p6=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48) - p7=Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0xf)/("X"*48) + p1=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IP(src="192.168.0.1", chksum=0xfff3)/("X"*48) + p2=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/TCP(sport=22, chksum=0xfff3)/("X"*48) + p3=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/UDP(sport=22, chksum=0x1)/("X"*48) + p4=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/SCTP(sport=22, chksum=0x1)/("X"*48) + p5=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IPv6()/TCP(sport=22, chksum=0xe38)/("X"*48) + p6=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IPv6()/UDP(sport=22, chksum=0xe38)/("X"*48) + p7=Ether(dst="00:11:22:33:44:56", src="52:00:00:00:00:00")/IPv6()/SCTP(sport=22, chksum=0xf)/("X"*48) take a IPV4 for example: get sniff_ens7.pcap checksum value: 0x3b0f From patchwork Tue Aug 30 02:47: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: 115639 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 797ECA034C; Tue, 30 Aug 2022 04:47:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 748B940F35; Tue, 30 Aug 2022 04:47:49 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id C52E240F17 for ; Tue, 30 Aug 2022 04:47:47 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827667; x=1693363667; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vnmLSOBaxnCHpUMX+LjQEPEZwyzbs3LGiA77yu6BmSY=; b=fxqi31fIP9bKXTymx6hu1/47KTriJojrbVgbAuCv5sMOF4xgUgeL0Ah6 3JYeMKvn7zKBS0nb79A2YxiAKKFSx2zilh3gy7RWi/LTQI7VW7jeFZaFq zHqUHc7Wzzx4cbC4OEPptJ3o3fEJLwREfpplTALR/dyWhTsNVzdNlB0Wt oi9R4W7jsMXMtU+wyfxbms5GODrtyLPTCM0hDYe0KnkX1VYJTR+oNZe6L h70UOw5xUp2ejawASgMAYFwc0xQJx9XU4wl/xVsMU9KzM4NQx9Zg121tA PbvLv5bT6Ylx2Rswh7ejkzJxH1G/DwjX4sXxAUiJ3an5bIPswjjc2zMuB g==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024468" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024468" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:42 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181941" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:41 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 08/10] tests/ice_iavf_fdir: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:38 +0800 Message-Id: <20220830024740.26250-8-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Enable promisc mode in testpmd v3: -Test plan csum add enable promisc mode tests/TestSuite_ice_iavf_fdir.py | 84 ++++++++++++++++++++++++++++++-- 1 file changed, 81 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_ice_iavf_fdir.py b/tests/TestSuite_ice_iavf_fdir.py index a4df6151..1cc71f67 100644 --- a/tests/TestSuite_ice_iavf_fdir.py +++ b/tests/TestSuite_ice_iavf_fdir.py @@ -8401,6 +8401,14 @@ class TestICEIAVFFdir(TestCase): self.dut_file_dir = "/tmp/" self.q_num = TXQ_RXQ_NUMBER + def ip_link_set(self, host_intf=None, cmd=None, port=None, types=None, value=0): + if host_intf is None or cmd is None or port is None or types is None: + return + set_command = f"ip link set {host_intf} {cmd} {port} {types} {value}" + out = self.dut.send_expect(set_command, "# ") + if "RTNETLINK answers: Invalid argument" in out: + self.dut.send_expect(set_command, "# ") + def set_up(self): """ Run before each test case. @@ -8422,6 +8430,42 @@ class TestICEIAVFFdir(TestCase): self.sriov_vfs_pf0 = self.dut.ports_info[self.used_dut_port_0]["vfs_port"] self.sriov_vfs_pf1 = self.dut.ports_info[self.used_dut_port_1]["vfs_port"] + self.host_intf_0 = self.dut.ports_info[self.used_dut_port_0]["intf"] + self.host_intf_1 = self.dut.ports_info[self.used_dut_port_0]["intf"] + + if self.running_case in [ + "test_pfcp_vlan_strip_off_sw_checksum", + "test_pfcp_vlan_strip_on_hw_checksum", + ]: + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="trust", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="spoofchk", + value="off", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="trust", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="spoofchk", + value="off", + ) + self.dut.send_expect( "ip link set %s vf 0 mac 00:11:22:33:44:55" % self.pf0_intf, "#" ) @@ -10760,6 +10804,7 @@ class TestICEIAVFFdir(TestCase): self.dut.send_expect("csum set ip %s %d" % (hw, port), "testpmd>") self.dut.send_expect("csum set udp %s %d" % (hw, port), "testpmd>") self.dut.send_expect("port start all", "testpmd>") + self.dut.send_expect("set promisc 0 on", "testpmd>") self.dut.send_expect("start", "testpmd>") def get_chksum_values(self, packets_expected): @@ -10791,7 +10836,7 @@ class TestICEIAVFFdir(TestCase): tx_interface = self.tester_iface0 rx_interface = self.tester_iface0 - sniff_src = "00:11:22:33:44:55" + sniff_src = "52:00:00:00:00:00" result = dict() pkt = Packet() chksum = self.get_chksum_values(packets_expected) @@ -10896,7 +10941,7 @@ class TestICEIAVFFdir(TestCase): socket=self.ports_socket, ) vlan = 51 - mac = "00:11:22:33:44:55" + mac = "00:11:22:33:44:56" sndIP = "10.0.0.1" sndIPv6 = "::1" pkts_sent = { @@ -11051,7 +11096,7 @@ class TestICEIAVFFdir(TestCase): socket=self.ports_socket, ) vlan = 51 - mac = "00:11:22:33:44:55" + mac = "00:11:22:33:44:56" sndIP = "10.0.0.1" sndIPv6 = "::1" pkts_sent = { @@ -11610,6 +11655,39 @@ class TestICEIAVFFdir(TestCase): if getattr(self, "session_third", None): self.dut.close_session(self.session_third) + if self.running_case in [ + "test_pfcp_vlan_strip_off_sw_checksum", + "test_pfcp_vlan_strip_on_hw_checksum", + ]: + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="trust", + value="off", + ) + self.ip_link_set( + host_intf=self.host_intf_0, + cmd="vf", + port=0, + types="spoofchk", + value="on", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="trust", + value="off", + ) + self.ip_link_set( + host_intf=self.host_intf_1, + cmd="vf", + port=0, + types="spoofchk", + value="on", + ) + def tear_down_all(self): self.dut.kill_all() self.destroy_env() From patchwork Tue Aug 30 02:47:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115638 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 9576EA04FD; Tue, 30 Aug 2022 04:47:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 90A7942826; Tue, 30 Aug 2022 04:47:49 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 42D6A40F17 for ; Tue, 30 Aug 2022 04:47:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827668; x=1693363668; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=17WIBxP7Z+EwsDaCcF8AoRIP+HCuIIafPtWREmP/jcE=; b=NYXhCR+p5yubzFJWuaWMg0giZnKMhepBbwW/xvOM+yKqK3bREtGoBXH7 GzzygplZ/TbSFCY3BUHCvA4bdjmk8kngdw2FIPLO4KG5+2AWui2sVMvj/ 7CjnramznkvbvFCPyf9MkFw8gDslwDwneD1UrvAU1QRYmuP+5HJamHIZ/ VGDSaqDWY3ZTTkvbBqH29FKHZUrxKHZCuXVt3YgUDEqBhzWPBJ9Hw3zd2 Te3zBC9NLjd7fnp2X5suqP9+fM82Jj+IEWSSq/bhnuca8Vbjvf3QiADkG VBRJ5HXQezsVaenaAOhRGCTjZhUYmTOTGoFjaRTTs57/hKbeSwFvAxkp3 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024470" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024470" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:44 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181946" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:42 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 09/10] test_plans/ice_iavf_fdir: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:39 +0800 Message-Id: <20220830024740.26250-9-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> --- Tested-by: Jiale Song < songx.jiale@intel.com> v2: -Enable promisc mode in testpmd v3: -Test plan csum add enable promisc mode test_plans/ice_iavf_fdir_test_plan.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test_plans/ice_iavf_fdir_test_plan.rst b/test_plans/ice_iavf_fdir_test_plan.rst index b485f899..9f6b5aaf 100644 --- a/test_plans/ice_iavf_fdir_test_plan.rst +++ b/test_plans/ice_iavf_fdir_test_plan.rst @@ -195,6 +195,12 @@ Prerequisites ip link set enp134s0f1 vf 0 mac 00:11:22:33:44:77 ip link set enp134s0f1 vf 1 mac 00:11:22:33:44:88 + If test set HW checksum and SW checksum: + ip link set enp24s0f0 vf 0 trust on + ip link set enp24s0f0 vf 0 spoofchk off + ip link set enp24s0f0 vf 1 trust on + ip link set enp24s0f0 vf 1 spoofchk off + 0000:86:00.0 generate 0000:86:01.0 and 0000:86:01.1 0000:86:00.1 generate 0000:86:11.0 and 0000:86:11.1 define 86:01.0 as vf00, 86:01.1 as vf01, 86:11.0 as vf10, 86:11.1 as vf11. @@ -5058,6 +5064,7 @@ Subcase 1: PFCP FDIR vlan strip on HW checksum offload check testpmd> csum set ip hw 0 testpmd> csum set udp hw 0 testpmd> port start all + testpmd> set promisc 0 on testpmd> set verbose 1 testpmd> start @@ -5129,6 +5136,7 @@ subcase 2: PFCP FDIR vlan strip off SW checksum offload check testpmd> csum set udp sw 0 testpmd> port start all testpmd> set verbose 1 + testpmd> set promisc 0 on testpmd> start 4. DUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: From patchwork Tue Aug 30 02:47:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 115640 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 B45A6A04FD; Tue, 30 Aug 2022 04:47:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AFFEC42825; Tue, 30 Aug 2022 04:47:50 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 66EE14280E for ; Tue, 30 Aug 2022 04:47:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661827668; x=1693363668; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=UTPswy+o+Y4jpyYtg37Bv8YienFyN8eooRd8UPM1LSk=; b=FuVp+x6dwL07+WGvC5PswvHpcmaDZrm0semNbXvOo9MLbtbvnPB2yrg2 Om4zMRPzKw/ql44iM48kGyEVY9pBJhWDJm+sF/Ho3ZeDdlbLqwNHER3OZ BzJsDz4k/JNPMq+diSUwxJJqjxjxHnMCwfcyE00KushG8uE2lreYCXVue lA7AuTJk2O8MdnYsCfylIYIEQa1oCL7iHv8oTpy3sHnC/PDMiQMboj1Fr 2fYYaCw9zqH9IXje/EhMopY553JE6OQ/FwGe0SDtNl29YPJGTA8HOIFCT yDXj/h4U9jnN3SAQYH9ijZkNrYdaXTmgfsPBP+nm3WPXSUkvXI1D2M/67 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="359024474" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="359024474" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:46 -0700 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="641181951" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 19:47:44 -0700 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Jiale Song Subject: [dts][PATCH V3 10/10] tests/tx_preparation: update dts code for dpdk csum change Date: Tue, 30 Aug 2022 10:47:40 +0800 Message-Id: <20220830024740.26250-10-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220830024740.26250-1-weiyuanx.li@intel.com> References: <20220830024740.26250-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 Signed-off-by: Weiyuan Li Tested-by: Jiale Song < songx.jiale@intel.com> Acked-by: Lijuan Tu --- Tested-by: Jiale Song < songx.jiale@intel.com> tests/TestSuite_tx_preparation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_tx_preparation.py b/tests/TestSuite_tx_preparation.py index 9b70699c..c3e90f72 100644 --- a/tests/TestSuite_tx_preparation.py +++ b/tests/TestSuite_tx_preparation.py @@ -73,7 +73,7 @@ class TestTX_preparation(TestCase): " --portmask=1 --port-topology=chained --max-pkt-len=%s --tx-offloads=0x8000" % Max_mtu, ) - self.dmac = self.dut_testpmd.get_port_mac(0) + self.dmac = "00:11:22:33:44:55" self.dut_testpmd.execute_cmd("set fwd csum") self.dut_testpmd.execute_cmd("set verbose 1") # enable ip/udp/tcp hardware checksum @@ -84,7 +84,7 @@ class TestTX_preparation(TestCase): def start_tcpdump(self, rxItf): # only sniff form dut packet and filter lldp packet - param = "ether[12:2]!=0x88cc and ether src %s" % self.dmac + param = "ether[12:2]!=0x88cc and ether dst %s -Q in" % self.dmac self.tester.send_expect("rm -rf ./getPackageByTcpdump.cap", "#") self.tester.send_expect( "tcpdump %s -i %s -n -e -vv -w\