test suite reviews and discussions
 help / color / mirror / Atom feed
From: Weiyuan Li <weiyuanx.li@intel.com>
To: dts@dpdk.org
Cc: Weiyuan Li <weiyuanx.li@intel.com>, Song Jiale <songx.jiale@intel.com>
Subject: [dts][PATCH V4 6/8] tests/vlan_ethertype_config: modify script and test plan to support i40e fimware >= 8.4
Date: Tue, 22 Nov 2022 15:09:25 +0800	[thread overview]
Message-ID: <20221122070927.7634-6-weiyuanx.li@intel.com> (raw)
In-Reply-To: <20221122070927.7634-1-weiyuanx.li@intel.com>

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 <weiyuanx.li@intel.com>
---
Tested-by: Song Jiale <songx.jiale@intel.com>

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.

 tests/TestSuite_vlan_ethertype_config.py | 25 +++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/tests/TestSuite_vlan_ethertype_config.py b/tests/TestSuite_vlan_ethertype_config.py
index b641d928..7147c490 100644
--- a/tests/TestSuite_vlan_ethertype_config.py
+++ b/tests/TestSuite_vlan_ethertype_config.py
@@ -56,6 +56,17 @@ class TestVlanEthertypeConfig(TestCase):
         """
         self.pmdout = PmdOutput(self.dut)
         self.pmdout.start_testpmd("Default", "--portmask=%s" % self.portmask)
+        # Get the firmware version information
+        try:
+            self.fwversion, _, _ = self.pmdout.get_firmware_version(
+                self.dut.get_ports()[0]
+            ).split()
+        except ValueError:
+            # nic IXGBE, IGC
+            self.fwversion = self.pmdout.get_firmware_version(
+                self.dut.get_ports()[0]
+            ).split()
+
         if self.kdriver == "i40e":
             self.dut.send_expect("set promisc all off", "testpmd> ")
 
@@ -194,6 +205,12 @@ class TestVlanEthertypeConfig(TestCase):
                 self.dut.send_expect(
                     "vlan set filter on  %s" % 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> ")
                 self.check_vlan_packets(rx_vlan, tpid, self.rxItf, False)
                 # test vlan filter off
@@ -209,8 +226,12 @@ class TestVlanEthertypeConfig(TestCase):
         random_vlan = random.randint(1, MAX_VLAN - 1)
         rx_vlans = [1, random_vlan, MAX_VLAN]
         self.dut.send_expect("set fwd mac", "testpmd> ")
-        self.dut.send_expect("vlan set filter on  %s" % dutRxPortId, "testpmd> ")
+        self.dut.send_expect("vlan set filter on %s" % dutRxPortId, "testpmd> ")
         self.dut.send_expect("vlan set strip off %s" % dutRxPortId, "testpmd> ", 20)
+        # 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> ")
 
         # caium_a063 card support only default '0x8100' tpid in rx mode
@@ -359,6 +380,8 @@ class TestVlanEthertypeConfig(TestCase):
         """
         Run after each test case.
         """
+        if self.kdriver == "i40e" and self.fwversion >= "8.40":
+            self.dut.send_expect("vlan set extend off %s" % dutRxPortId, "testpmd> ")
         self.dut.send_expect("stop", "testpmd> ", 30)
         self.dut.send_expect("quit", "# ", 30)
         pass
-- 
2.27.0


  parent reply	other threads:[~2022-11-22  7:09 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-22  7:09 [dts][PATCH V4 1/8] test_plans/dual_vlan: " Weiyuan Li
2022-11-22  7:09 ` [dts][PATCH V4 2/8] tests/dual_vlan: " Weiyuan Li
2022-11-22  7:09 ` [dts][PATCH V4 3/8] test_plans/ipgre: " Weiyuan Li
2022-11-22  7:09 ` [dts][PATCH V4 4/8] tests/ipgre: " Weiyuan Li
2022-11-22  7:09 ` [dts][PATCH V4 5/8] test_plans/vlan_ethertype_config: " Weiyuan Li
2022-11-22  7:09 ` Weiyuan Li [this message]
2022-11-22  7:09 ` [dts][PATCH V4 7/8] test_plans/vlan: " Weiyuan Li
2022-11-22  7:09 ` [dts][PATCH V4 8/8] tests/vlan: " Weiyuan Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221122070927.7634-6-weiyuanx.li@intel.com \
    --to=weiyuanx.li@intel.com \
    --cc=dts@dpdk.org \
    --cc=songx.jiale@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).