From patchwork Wed Jul 6 02:38:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 113710 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 F1283A0540; Wed, 6 Jul 2022 04:38:16 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7E6F840687; Wed, 6 Jul 2022 04:38:16 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id DE5C840395 for ; Wed, 6 Jul 2022 04:38:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657075095; x=1688611095; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=rNi2irrY4Iw6DstecL9wot+TRMDjmpdHOo0P0iFSBG8=; b=cHPrdu+wGV3QHWjcCEh6F+h0FpQ61xt3lNul0oovf5rYNsuY3f4qt2bC WuJHODjM4h+Sxumxfe8qBSEFuGeScqfEoDqw5l5C0xDqZJ0nJeZ6vgHyv mVJchvurWbQKQWRwpBVUru5VsVR1Ht7QY95mWRllmqGMo+gB7YPuoP0wt e7opKPN464MDx6iwUYq5IvsnaR5WnwkduRCmR+nFpgjIXyULq9CVLXeA6 MOWq5bYrlMo2N89movCxmx8bqb2CNUhQVAwLMrBxM+nOYFAnhqilhv4Kb gMl03kXCnY6c0J1RsouzG0a+ydFxKesmBzdtnRcYA9fOHKZAiuU/HWo0m A==; X-IronPort-AV: E=McAfee;i="6400,9594,10399"; a="369941345" X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="369941345" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:13 -0700 X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="625684822" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:12 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V2 1/4] tests/kernelpf_iavf: update dts code for driver change Date: Wed, 6 Jul 2022 10:38:03 +0800 Message-Id: <20220706023806.27825-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 The out-tree driver has vf-vlan-pruning option,but in-tree driver has not. So we need different action to enable vlan filter when we validate the vlan filter function with in-tree and out-tree kernel drvier. Signed-off-by: Weiyuan Li --- v2: -fix format issue tests/TestSuite_kernelpf_iavf.py | 33 ++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py index d7d17ac4..67a26245 100644 --- a/tests/TestSuite_kernelpf_iavf.py +++ b/tests/TestSuite_kernelpf_iavf.py @@ -96,7 +96,25 @@ class TestKernelpfIavf(TestCase): # bind to default driver self.bind_nic_driver(self.dut_ports, driver="") self.used_dut_port = self.dut_ports[0] - if self.is_eth_series_nic(800) and self.default_stats: + # check out tree driver whether there is flag vf-vlan-pruning. + # out tree path: /lib/modules/4.18.0-305.19.1.el8_4.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko + # in tree path:/lib/modules/5.15.0-27-generic/kernel/drivers/net/ethernet/intel/ice/ice.ko + out = self.dut.send_expect(f"modinfo {self.kdriver}", "# ") + pattern = "/lib/modules/(.*?)/updates/drivers" + regex = re.compile(pattern) + mo = regex.search(out) + if mo: + search_results = mo.group(0) + else: + search_results = "" + if "updates" in search_results and not self.default_stats: + self.logger.warning( + f"{self.kdriver} driver out tree does not have vf-vlan-pruning flag. Please confirm whether the driver is correct." + ) + if ( + any([self.is_eth_series_nic(800), self.kdriver == "i40e"]) + and self.default_stats + ): self.dut.send_expect( "ethtool --set-priv-flags %s %s on" % (self.host_intf, self.flag), "# " ) @@ -119,7 +137,6 @@ class TestKernelpfIavf(TestCase): self.dut.send_expect( "ip link set %s vf 0 mac %s" % (self.host_intf, self.vf_mac), "# " ) - try: for port in self.sriov_vfs_port: @@ -453,7 +470,11 @@ class TestKernelpfIavf(TestCase): time.sleep(1) tcpdump_out = self.get_tcpdump_package() receive_pkt = re.findall("vlan %s" % random_vlan, tcpdump_out) - if self.kdriver == "i40e" and self.driver_version < "2.13.10": + if ( + (self.kdriver == "i40e" and self.driver_version < "2.13.10") + or (self.kdriver == "i40e" and not self.default_stats) + or (self.kdriver == "ice" and not self.default_stats) + ): self.verify(len(receive_pkt) == 2, "Failed to received vlan packet!!!") else: self.verify(len(receive_pkt) == 1, "Failed to received vlan packet!!!") @@ -853,7 +874,11 @@ class TestKernelpfIavf(TestCase): self.scapy_send_packet(self.vf_mac, self.tester_intf, vlan_flags=True, count=10) out = self.vm_dut.get_session_output() packets = len(re.findall("received 1 packets", out)) - if self.kdriver == "i40e" and self.driver_version < "2.13.10": + if ( + (self.kdriver == "i40e" and self.driver_version < "2.13.10") + or (self.kdriver == "i40e" and not self.default_stats) + or (self.kdriver == "ice" and not self.default_stats) + ): self.verify(packets == 10, "Not receive expected packet") else: self.verify(packets == 0, "Receive expected packet") From patchwork Wed Jul 6 02:38:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 113709 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 15B8CA0543; Wed, 6 Jul 2022 04:38:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A0C55410D3; Wed, 6 Jul 2022 04:38:16 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id B357940395 for ; Wed, 6 Jul 2022 04:38:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657075095; x=1688611095; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ou2tuAQntfWZ91vyabKzPPryByNmWRxNAzYv7dwEWao=; b=KYzswA26KNVMTrj1j6QGFGTCYMEUwCXLKLyOFoAIGQFjauDSrLCpvyUN Jmw2SGPlCzv8+wxwOEzQPc+RVQX+LiDSRvK3SAxfNkXV5I7nM8bAxv7S6 b9o4xKFwZhJOALs3pHmnMayyunSs27uEOGJ7wp0qcVdYfL8bQkAJO5Eon yg466ZvVTc2Rx2TL0K7Qi4ngSyRWdZXk5PlD9mZSc6j50H/TIGmBA9vxY QcktnIImiNJVHZXS/aWU+tMdlDSvnnFfqfVrumbDx9JYygQOgVnlduX3x Q4kTWBLX1l5cAhQ1lQD4IWqU+6oLz1ZfxjAiYEv5RkF31BcJegmdlphHy Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10399"; a="369941346" X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="369941346" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:15 -0700 X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="625684834" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:13 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V2 2/4] tests/vf_vlan: update dts code for driver change Date: Wed, 6 Jul 2022 10:38:04 +0800 Message-Id: <20220706023806.27825-2-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220706023806.27825-1-weiyuanx.li@intel.com> References: <20220706023806.27825-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 The out-tree driver has vf-vlan-pruning option,but in-tree driver has not. So we need different action to enable vlan filter when we validate the vlan filter function with in-tree and out-tree kernel drvier. Signed-off-by: Weiyuan Li --- v2: -fix format issue tests/TestSuite_vf_vlan.py | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py index e73ad479..2ae4b3dc 100644 --- a/tests/TestSuite_vf_vlan.py +++ b/tests/TestSuite_vf_vlan.py @@ -62,7 +62,25 @@ class TestVfVlan(TestCase): self.host_intf0 = self.dut.ports_info[self.used_dut_port_0]["intf"] tester_port = self.tester.get_local_port(self.used_dut_port_0) self.tester_intf0 = self.tester.get_interface(tester_port) - if self.is_eth_series_nic(800) and self.default_stats: + # check out tree driver whether there is flag vf-vlan-pruning. + # out tree path: /lib/modules/4.18.0-305.19.1.el8_4.x86_64/updates/drivers/net/ethernet/intel/i40e/i40e.ko + # in tree path:/lib/modules/5.15.0-27-generic/kernel/drivers/net/ethernet/intel/ice/ice.ko + out = self.dut.send_expect(f"modinfo {self.kdriver}", "# ") + pattern = "/lib/modules/(.*?)/updates/drivers" + regex = re.compile(pattern) + mo = regex.search(out) + if mo: + search_results = mo.group(0) + else: + search_results = "" + if "updates" in search_results and not self.default_stats: + self.logger.warning( + f"{self.kdriver} driver out tree does not have vf-vlan-pruning flag. Please confirm whether the driver is correct." + ) + if ( + any([self.is_eth_series_nic(800), self.kdriver == "i40e"]) + and self.default_stats + ): self.dut.send_expect( "ethtool --set-priv-flags %s %s on" % (self.host_intf0, self.flag), "# " ) @@ -233,7 +251,11 @@ class TestVfVlan(TestCase): self.vm0_testpmd.execute_cmd("start") out = self.send_and_getout(vlan=random_vlan, pkt_type="VLAN_UDP") - if self.kdriver == "i40e" and self.driver_version < "2.13.10": + if ( + (self.kdriver == "i40e" and self.driver_version < "2.13.10") + or (self.kdriver == "i40e" and not self.default_stats) + or (self.kdriver == "ice" and not self.default_stats) + ): self.verify("received" in out, "Failed to received vlan packet!!!") else: self.verify("received" not in out, "Received vlan packet without pvid!!!") @@ -354,7 +376,11 @@ class TestVfVlan(TestCase): # send packet with vlan out = self.send_and_getout(vlan=random_vlan, pkt_type="VLAN_UDP") - if self.kdriver == "i40e" and self.driver_version < "2.13.10": + if ( + (self.kdriver == "i40e" and self.driver_version < "2.13.10") + or (self.kdriver == "i40e" and not self.default_stats) + or (self.kdriver == "ice" and not self.default_stats) + ): self.verify( "received 1 packets" in out, "Received mismatched vlan packet while vlan filter on", From patchwork Wed Jul 6 02:38:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 113711 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 CF71CA0540; Wed, 6 Jul 2022 04:38:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C16D740FAE; Wed, 6 Jul 2022 04:38:18 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 525A740395 for ; Wed, 6 Jul 2022 04:38:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657075097; x=1688611097; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=otLcfzEI1Lkpujh53hulJWP9OTWyJg0kRksIyXFHzSg=; b=h+ujvNsY7aS+9tx68GaXjpZuP/1ff+QX+Og4SsxWbg3xOoBmT/aerlKB KWmf86Cyy/26rYShDQVV+Og/O5QdcHhXTOLctgHD0ytYQspC6g9oVileO eIwJ79WrzWHLj4kPqg4x7a2HsEswzstg+WskNWe4ISPOCcIXSBq7JtXKb BDeVhgWOqCq+eWt6Eclh/fCph75/ASpDYq3GS1V86RXAePtgDtzB7oJGa HynsZbGzV1MXr1kkkvx/yyhHvK5XF4Qrv0/hF40VF+y1sMaOBTeCKVWh0 Ef4gySHlk0XEfejkTEFizQ6XRdZE0W8zuD00Jb8GKZ2SrjAPOpA25xi9e A==; X-IronPort-AV: E=McAfee;i="6400,9594,10399"; a="369941349" X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="369941349" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:16 -0700 X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="625684839" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:15 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V2 3/4] test_plans/kernelpf_iavf: update dts code for driver change Date: Wed, 6 Jul 2022 10:38:05 +0800 Message-Id: <20220706023806.27825-3-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220706023806.27825-1-weiyuanx.li@intel.com> References: <20220706023806.27825-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 The out-tree driver has vf-vlan-pruning option,but in-tree driver has not. So we need different action to enable vlan filter when we validate the vlan filter function with in-tree and out-tree kernel drvier. Signed-off-by: Weiyuan Li --- v2: -fix format issue test_plans/kernelpf_iavf_test_plan.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test_plans/kernelpf_iavf_test_plan.rst b/test_plans/kernelpf_iavf_test_plan.rst index 8c7d1ad5..f044e3cc 100644 --- a/test_plans/kernelpf_iavf_test_plan.rst +++ b/test_plans/kernelpf_iavf_test_plan.rst @@ -28,6 +28,9 @@ Get the pci device id of DUT, for example:: 0000:18:00.0 'Device 1592' if=enp24s0f0 drv=ice unused=igb_uio 0000:18:00.1 'Device 1592' if=enp24s0f1 drv=ice unused=igb_uio +If the driver is out tree enable pf vf-vlan-pruning flags:: + ethtool --set-priv-flags $PF_INTF vf-vlan-pruning on + Create 1 VF from 1 kernel PF:: echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs From patchwork Wed Jul 6 02:38:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 113712 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 F157EA0540; Wed, 6 Jul 2022 04:38:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E708740DF7; Wed, 6 Jul 2022 04:38:20 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 0650D4282E for ; Wed, 6 Jul 2022 04:38:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657075099; x=1688611099; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xLcE8OyGk1Yy7KkPfkePbtZCDP2XksSi5vvU99+ahGI=; b=e54rsMN789oLmaaT1hf7P5hGHKXL+QTygZVD3c6gJGdB2pY0XOljGdKB 0viZICX2K5y/ZEwnCyzR0XVxQmp7gK3zflFDmLB/h8WrFEvEZq+wnhOMi 0PsnbrKBy2yMGM3Chk2dPgug+gKlTKVXF+6MTY+A1Vc/1sL72ev8P/N+7 1Da7xKtC4FyZYVmV/CGMR2ClZbhnKdYyPREiaWwfTPjV038bWaaVis3Gx Mcddilf2QP3/c1EnxefG5QOlvXnO3NYohcPvJ0wmsbLD6Wjp3o7wE2doz uXzK9Q3QAqhI+eMbCLF7/up4/yB2bcxTGQhq/dwXPcyfUWNHXW4h8ww5G w==; X-IronPort-AV: E=McAfee;i="6400,9594,10399"; a="369941351" X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="369941351" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:18 -0700 X-IronPort-AV: E=Sophos;i="5.92,248,1650956400"; d="scan'208";a="625684847" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 19:38:17 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V2 4/4] test_plans/vf_vlan: update dts code for driver change Date: Wed, 6 Jul 2022 10:38:06 +0800 Message-Id: <20220706023806.27825-4-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220706023806.27825-1-weiyuanx.li@intel.com> References: <20220706023806.27825-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 The out-tree driver has vf-vlan-pruning option,but in-tree driver has not. So we need different action to enable vlan filter when we validate the vlan filter function with in-tree and out-tree kernel drvier. Signed-off-by: Weiyuan Li --- v2: -fix format issue test_plans/vf_vlan_test_plan.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test_plans/vf_vlan_test_plan.rst b/test_plans/vf_vlan_test_plan.rst index c183b3d6..a3d8df6b 100644 --- a/test_plans/vf_vlan_test_plan.rst +++ b/test_plans/vf_vlan_test_plan.rst @@ -21,6 +21,10 @@ Prerequisites 0000:87:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens259f0 drv=i40e unused= 0000:87:00.1 'Ethernet Controller X710 for 10GbE SFP+' if=ens259f1 drv=i40e unused= + If the driver is out tree enable pf vf-vlan-pruning flags: + ethtool --set-priv-flags ens259f0 vf-vlan-pruning on + ethtool --set-priv-flags ens259f1 vf-vlan-pruning on + echo 1 > /sys/bus/pci/devices/0000\:87\:00.0/sriov_numvfs echo 1 > /sys/bus/pci/devices/0000\:87\:00.1/sriov_numvfs