From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BED6EA0542; Tue, 5 Jul 2022 09:18:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B492742684; Tue, 5 Jul 2022 09:18:46 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 2FC8B400D7 for ; Tue, 5 Jul 2022 09:18:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657005525; x=1688541525; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=LwFNuVZXA7I3TtUfBqGHSOMQjRZX4qzo9VQj5Vz3p8I=; b=aJ73E7n64DSabUQijGXdoFLEPSTR4/mb0nDkHrIdtOw5N2WXxSlcypo0 Gp92Nd6l3hNxr5mHyxdPd7+6uocZY2/BQt8jSTPlaeAXZhCGvQUtqzQ5x lnuekI3mM5S/SMAKpoxOcz63GZGoQfijhjbRkVMB2gQnIEsiIHHKIM37P 6+5uUooZRdj8z+kZJi0a+tew2JjyKTM4r19Oi1pQC+QhZIUgBZlVvjjFT nWiIctfdIriyvc1g8WpbS08jb38ODMoakpExaIqy3PEnDS7yCGGkW7ZWn GyHwt+kEuzpqg6kzItpCcCL8KOpZwEybZ+N0T0NGULupNt6DrUuHobiGq g==; X-IronPort-AV: E=McAfee;i="6400,9594,10398"; a="308814509" X-IronPort-AV: E=Sophos;i="5.92,245,1650956400"; d="scan'208";a="308814509" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jul 2022 00:18:44 -0700 X-IronPort-AV: E=Sophos;i="5.92,245,1650956400"; d="scan'208";a="625346210" 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 00:18:42 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V1 3/4] tests/vf_vlan: update dts code for driver change Date: Tue, 5 Jul 2022 15:18:34 +0800 Message-Id: <20220705071835.17187-3-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220705071835.17187-1-weiyuanx.li@intel.com> References: <20220705071835.17187-1-weiyuanx.li@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions 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 --- tests/TestSuite_vf_vlan.py | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py index e73ad479..4986a21b 100644 --- a/tests/TestSuite_vf_vlan.py +++ b/tests/TestSuite_vf_vlan.py @@ -62,7 +62,26 @@ 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.verify( + False, + 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 +252,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 +377,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", -- 2.27.0