From patchwork Mon Jul 11 07:22: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: 113891 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 0C1A5A0032; Mon, 11 Jul 2022 09:22:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D4BC540684; Mon, 11 Jul 2022 09:22:52 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 82C164021E for ; Mon, 11 Jul 2022 09:22:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657524171; x=1689060171; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=A+DqB1w8Tkb/eALOqs1FQA1lTLXdAA2NSMsSYnvmciA=; b=REk8rmNlzC+sKCBuEkSyB4jDZ0WIdi7pulZ+db2kFirahj84LKeQJS91 vPfGOTtxUKtEwVUuaGzlshZeqXlwCfG5N9dHzuQ+yEr/wKq48hMYtlOBK fnjcbTjl43oSjEEWYRSxGOKXkd3xn4jmypexaz7EJxzNYIZgaccLYXYTL UzQ6V3LXeT9VIiKj5CNX8+mClOvMPG0DYzlKgvxENAdVjFesnNvm9cw2T z50fLSFJk5m7dwqpDsb+pYd6BbvSEsRnD/CJvKwoBwvZKTRYnL//1NKDM 4iIdTa5jEJCWbQ5R2RGK/RgT7LjvxCCf+2esKQ3OWIy5InTW6cYuoKWyH A==; X-IronPort-AV: E=McAfee;i="6400,9594,10404"; a="285723941" X-IronPort-AV: E=Sophos;i="5.92,262,1650956400"; d="scan'208";a="285723941" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jul 2022 00:22:42 -0700 X-IronPort-AV: E=Sophos;i="5.92,262,1650956400"; d="scan'208";a="652346723" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jul 2022 00:22:40 -0700 From: Weiyuan Li To: dts@dpdk.org, yuan.peng@intel.com Cc: Weiyuan Li Subject: [dts][PATCH V3 1/4] tests/kernelpf_iavf: update dts code for driver change Date: Mon, 11 Jul 2022 15:22:31 +0800 Message-Id: <20220711072234.852-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 v3: -modify the code to check whether vf-vlan-pruning option exists. -modify the description of the test plan about vf-vlan-pruning. tests/TestSuite_kernelpf_iavf.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py index d7d17ac4..e06e9267 100644 --- a/tests/TestSuite_kernelpf_iavf.py +++ b/tests/TestSuite_kernelpf_iavf.py @@ -96,7 +96,17 @@ 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 driver whether there is flag vf-vlan-pruning. + if not self.default_stats: + self.logger.warning( + utils.RED( + f"{self.kdriver + '_' + self.driver_version} driver does not have vf-vlan-pruning flag." + ) + ) + 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 +129,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 +462,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 +866,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") @@ -935,7 +952,10 @@ class TestKernelpfIavf(TestCase): if self.env_done: self.destroy_vm_env() - if self.is_eth_series_nic(800) and self.default_stats: + 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 %s" % (self.host_intf, self.flag, self.default_stats),