[V2] tests/vf_pf_reset: modify case to support ice nic and disable ipv6

Message ID 20220719141247.2164468-1-songx.jiale@intel.com (mailing list archive)
State Superseded
Headers
Series [V2] tests/vf_pf_reset: modify case to support ice nic and disable ipv6 |

Checks

Context Check Description
ci/Intel-dts-format-test success Testing OK
ci/Intel-dts-pylama-test success Testing OK
ci/Intel-dts-doc-test success Testing OK
ci/Intel-dts-suite-test success Testing OK

Commit Message

Jiale, SongX July 19, 2022, 2:12 p.m. UTC
  1. ice nic support test_vlan_tx_restore, modify script to support it.
2. disable IPv6, eliminate the impact of IPv6 packages.

Signed-off-by: Jiale Song <songx.jiale@intel.com>
---
 conf/test_case_checklist.json        |  3 +--
 framework/crb.py                     | 11 ++++++++---
 test_plans/vf_pf_reset_test_plan.rst |  4 ++++
 tests/TestSuite_vf_pf_reset.py       | 13 +++++++++++--
 4 files changed, 24 insertions(+), 7 deletions(-)
  

Patch

diff --git a/conf/test_case_checklist.json b/conf/test_case_checklist.json
index 5d166cb2..f4e53236 100644
--- a/conf/test_case_checklist.json
+++ b/conf/test_case_checklist.json
@@ -3768,8 +3768,7 @@ 
                 "ALL"
             ],
             "NIC": [
-                "ICE_25G-E810C_SFP",
-		        "ICE_100G-E810C_QSFP"
+                ""
             ],
             "Target": [
                 "ALL"
diff --git a/framework/crb.py b/framework/crb.py
index 5ce4e2c9..83ded420 100644
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -496,7 +496,7 @@  class Crb(object):
 
         return match[0]
 
-    def disable_ipv6(self, intf):
+    def disable_ipv6(self, intf="all"):
         """
         Disable ipv6 of of specified interface
         """
@@ -504,8 +504,11 @@  class Crb(object):
             self.send_expect(
                 "sysctl net.ipv6.conf.%s.disable_ipv6=1" % intf, "# ", alt_session=True
             )
+            self.send_expect(
+                "sysctl net.ipv6.conf.default.disable_ipv6 = 1", "# ", alt_session=True
+            )
 
-    def enable_ipv6(self, intf):
+    def enable_ipv6(self, intf="all"):
         """
         Enable ipv6 of of specified interface
         """
@@ -513,7 +516,9 @@  class Crb(object):
             self.send_expect(
                 "sysctl net.ipv6.conf.%s.disable_ipv6=0" % intf, "# ", alt_session=True
             )
-
+            self.send_expect(
+                "sysctl net.ipv6.conf.default.disable_ipv6 = 1", "# ", alt_session=True
+            )
             out = self.send_expect("ifconfig %s" % intf, "# ", alt_session=True)
             if "inet6" not in out:
                 self.send_expect("ifconfig %s down" % intf, "# ", alt_session=True)
diff --git a/test_plans/vf_pf_reset_test_plan.rst b/test_plans/vf_pf_reset_test_plan.rst
index 31ca7238..35fdc149 100644
--- a/test_plans/vf_pf_reset_test_plan.rst
+++ b/test_plans/vf_pf_reset_test_plan.rst
@@ -396,6 +396,10 @@  Test Case 6: vlan rx restore -- create one vf on each pf
 Test Case 7: vlan tx restore
 ============================
 
+.. note::
+
+   ice nic need set dut tx vf port spoofchk off: ip link set dev {pf_interface} vf {tx_vf} spoofchk off
+
 1. Execute the step1-step3 of test case 1
 
 2. Run testpmd::
diff --git a/tests/TestSuite_vf_pf_reset.py b/tests/TestSuite_vf_pf_reset.py
index 424ce56c..7e1e924d 100644
--- a/tests/TestSuite_vf_pf_reset.py
+++ b/tests/TestSuite_vf_pf_reset.py
@@ -77,6 +77,8 @@  class TestVfPfReset(TestCase):
         # Init pmd second
         session_second = self.dut.new_session()
         self.pmd_output_2 = PmdOutput(self.dut, session_second)
+        # disable ipv6
+        self.dut.disable_ipv6(intf="all")
 
     def set_up(self):
         """
@@ -201,7 +203,8 @@  class TestVfPfReset(TestCase):
         tx_port="",
         vm=False,
     ):
-        inst = self.tester.tcpdump_sniff_packets(tester_intf)
+        filter = [{"layer": "ether", "config": {"dst": "not ff:ff:ff:ff:ff:ff"}}]
+        inst = self.tester.tcpdump_sniff_packets(tester_intf, filters=filter)
         if vlan:
             out = self.send_packet(
                 vf_mac, num=count, vlan_id=vlan, tx_port=tx_port, vm=vm
@@ -946,6 +949,11 @@  class TestVfPfReset(TestCase):
         """
         vlan tx restore
         """
+        # ice nic need set tx vf spoofchk off
+        if self.kdriver == "ice":
+            self.dut.send_expect(
+                "ip link set dev {} vf 1 spoofchk off".format(self.host_intf_0), "# "
+            )
         # Set mac
         self.ip_link_set(
             host_intf=self.host_intf_0,
@@ -1321,4 +1329,5 @@  class TestVfPfReset(TestCase):
         When the case of this test suite finished, the environment should
         clear up.
         """
-        pass
+        # enable ipv6
+        self.dut.enable_ipv6(intf="all")