From patchwork Tue Nov 22 08:22: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: 120061 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 DEA7BA057F; Tue, 22 Nov 2022 09:22:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB62542D4C; Tue, 22 Nov 2022 09:22:31 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id E4C85427EB for ; Tue, 22 Nov 2022 09:22:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669105349; x=1700641349; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gd8Oy+FG690/afPeqS2w+zQhMo+aQatb8erhMLWg+Yg=; b=c8zca4MzIRABrzfd1cy5UeJr4p+xtKDzeSWQWLAJCbf7Fyef4it3obpa DtxGr2YIK7lnlekdQ+ER5ej6PaeVtCAofduQazpsEFVUDVB932AqVnm1q /uT+m78PDwjqzBLcVWthiyeep+yTUmVvy7TAD7NVW699UBFz4O46dWk+m fwmSKYZwkXVBUsawZfEY58us8HV2Ml36ciEefLBOkyE9aDPO37O81BJ7w e2lmy+ogNJ0ydU6seVff4hk6+yCwAh393Dki07me26noDqFbLprrn6YQC rvhx58EagmlpXp/e/TExwDmIKPn1b02I0G5H+jTtpur2dFbrUFryMabcc g==; X-IronPort-AV: E=McAfee;i="6500,9779,10538"; a="297118837" X-IronPort-AV: E=Sophos;i="5.96,183,1665471600"; d="scan'208";a="297118837" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2022 00:22:28 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10538"; a="970392878" X-IronPort-AV: E=Sophos;i="5.96,183,1665471600"; d="scan'208";a="970392878" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2022 00:22:26 -0800 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Song Jiale Subject: [dts][PATCH V5 8/8] tests/vlan: modify script and test plan to support i40e fimware >= 8.4 Date: Tue, 22 Nov 2022 16:22:06 +0800 Message-Id: <20221122082206.12559-8-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20221122082206.12559-1-weiyuanx.li@intel.com> References: <20221122082206.12559-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 Modify script and test plan to i40e support fimware >= 8.4. When the fimrware >= 8.4, if the filter is to take effect need to enable extend. Signed-off-by: Weiyuan Li Acked-by: Lijuan Tu --- Tested-by: Song Jiale v2: -use the firmware version to judge whether to add command `extend on`. v3: -modify description. v4: -modify comments. -dual_vlan test plan modify table and add header. v5: -fix some typos. tests/TestSuite_vlan.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_vlan.py b/tests/TestSuite_vlan.py index 3d8811f9..1bdac137 100644 --- a/tests/TestSuite_vlan.py +++ b/tests/TestSuite_vlan.py @@ -48,7 +48,14 @@ class TestVlan(TestCase): self.pmdout.start_testpmd( "Default", "--portmask=%s --port-topology=loop" % portMask ) - + # Get the firmware version information + try: + self.fwversion, _, _ = self.pmdout.get_firmware_version( + self.dut_ports[0] + ).split() + except ValueError: + # nic IXGBE, IGC + self.fwversion = self.pmdout.get_firmware_version(self.dut_ports[0]).split() self.dut.send_expect("set verbose 1", "testpmd> ") self.dut.send_expect("set fwd mac", "testpmd> ") self.dut.send_expect("set promisc all off", "testpmd> ") @@ -105,6 +112,10 @@ class TestVlan(TestCase): self.dut.send_expect( "rx_vlan add %d %s" % (self.vlan, dutRxPortId), "testpmd> " ) + # Because the kernel forces enable Qinq and cannot be closed, + # the dpdk can only add 'extend on' to make the VLAN filter work normally. + if self.kdriver == "i40e" and self.fwversion >= "8.40": + self.dut.send_expect("vlan set extend on %s" % dutRxPortId, "testpmd> ") self.dut.send_expect("vlan set strip off %s" % dutRxPortId, "testpmd> ") self.dut.send_expect("start", "testpmd> ", 120) out = self.dut.send_expect("show port info %s" % dutRxPortId, "testpmd> ", 20) @@ -127,6 +138,10 @@ class TestVlan(TestCase): Disable receipt of VLAN packets """ self.dut.send_expect("rx_vlan rm %d %s" % (self.vlan, dutRxPortId), "testpmd> ") + # Because the kernel forces enable Qinq and cannot be closed, + # the dpdk can only add 'extend on' to make the VLAN filter work normally. + if self.kdriver == "i40e" and self.fwversion >= "8.40": + self.dut.send_expect("vlan set extend on %s" % dutRxPortId, "testpmd> ") self.dut.send_expect("start", "testpmd> ", 120) self.vlan_send_packet(self.vlan) @@ -187,7 +202,8 @@ class TestVlan(TestCase): """ Run after each test case. """ - pass + if self.kdriver == "i40e" and self.fwversion >= "8.40": + self.dut.send_expect("vlan set extend off %s" % dutRxPortId, "testpmd> ") def tear_down_all(self): """