The test_rss_flow_label_6only test case fails instead of skipping on
devices that don't support IPv6 flow label hashing.
While test_rss_flow_label properly checks for flow label support and
raises KsftSkipEx, test_rss_flow_label_6only was missing this check.
Fixes: 26dbe030ff08 ("selftests: drv-net: add test for RSS on flow label")
Reviewed-by: Gal Pressman <[email protected]>
Signed-off-by: Nimrod Oren <[email protected]>
---
.../selftests/drivers/net/hw/rss_flow_label.py | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/drivers/net/hw/rss_flow_label.py
b/tools/testing/selftests/drivers/net/hw/rss_flow_label.py
index 6fa95fe27c47..7dc80070884a 100755
--- a/tools/testing/selftests/drivers/net/hw/rss_flow_label.py
+++ b/tools/testing/selftests/drivers/net/hw/rss_flow_label.py
@@ -145,9 +145,14 @@ def test_rss_flow_label_6only(cfg):
# Try to enable Flow Labels and check again, in case it leaks thru
initial = _ethtool_get_cfg(cfg, "udp6")
- changed = initial.replace("l", "") if "l" in initial else initial + "l"
-
- cmd(f"ethtool -N {cfg.ifname} rx-flow-hash udp6 {changed}")
+ no_lbl = initial.replace("l", "")
+ if "l" not in initial:
+ try:
+ cmd(f"ethtool -N {cfg.ifname} rx-flow-hash udp6 l{no_lbl}")
+ except CmdExitFailure as exc:
+ raise KsftSkipEx("Device doesn't support Flow Label for UDP6")
from exc
+ else:
+ cmd(f"ethtool -N {cfg.ifname} rx-flow-hash udp6 {no_lbl}")
restore = defer(cmd, f"ethtool -N {cfg.ifname} rx-flow-hash udp6
{initial}")
_check_v4_flow_types(cfg)
--
2.45.0