[dts] [PATCH V3] tests/pmd_bonded: modify script to support ice nic

Song Jiale songx.jiale at intel.com
Tue Feb 14 19:31:34 CET 2023


if the link status of the port of the ice nic needs to be
synchronized with the peer, the peer needs to enable 
"link-down-on-close".

Signed-off-by: Song Jiale <songx.jiale at intel.com>
---
 tests/TestSuite_pmd_bonded.py | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

v2:
-modify title and description.

v3:
-increase optimization.

diff --git a/tests/TestSuite_pmd_bonded.py b/tests/TestSuite_pmd_bonded.py
index 97f76e93..2421c4ae 100644
--- a/tests/TestSuite_pmd_bonded.py
+++ b/tests/TestSuite_pmd_bonded.py
@@ -885,14 +885,18 @@ UDP(sport=srcport, dport=destport)/Raw(load="\x50"*%s)], iface="%s", count=%d)'
         self.pmdout = PmdOutput(self.dut)
 
         self.tester_bond = "bond0"
-
-        for port in self.dut_ports:
-            tester_port = self.tester.get_local_port(port)
-            intf = self.tester.get_interface(tester_port)
-            driver = self.tester.ports_info[tester_port]["port"].get_nic_driver()
-            if driver == "i40e":
+        tester_port0 = self.tester.get_local_port(self.dut_ports[0])
+        self.tport_iface0 = self.tester.get_interface(tester_port0)
+        self.flag = "link-down-on-close"
+        self.default_stats = self.tester.get_priv_flags_state(
+            self.tport_iface0, self.flag
+        )
+        if self.default_stats:
+            for port in self.dut_ports:
+                tester_port = self.tester.get_local_port(port)
+                intf = self.tester.get_interface(tester_port)
                 self.tester.send_expect(
-                    "ethtool --set-priv-flags %s link-down-on-close on" % intf, "# ", 10
+                    "ethtool --set-priv-flags %s %s on" % (intf, self.flag), "# "
                 )
 
     def set_up(self):
@@ -2349,4 +2353,13 @@ UDP(sport=srcport, dport=destport)/Raw(load="\x50"*%s)], iface="%s", count=%d)'
         """
         Run after each test suite.
         """
-        pass
+        self.dut.kill_all()
+        if self.default_stats:
+            for port in self.dut_ports:
+                tester_port = self.tester.get_local_port(port)
+                tport_iface = self.tester.get_interface(tester_port)
+                self.tester.send_expect(
+                    "ethtool --set-priv-flags %s %s %s"
+                    % (tport_iface, self.flag, self.default_stats),
+                    "# ",
+                )
-- 
2.25.1



More information about the dts mailing list