Linux Kernel Selftest development
 help / color / mirror / Atom feed
* [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start
@ 2026-01-04 18:46 Jakub Kicinski
  2026-01-06  1:09 ` Jakub Kicinski
  2026-01-07  1:00 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Jakub Kicinski @ 2026-01-04 18:46 UTC (permalink / raw)
  To: davem
  Cc: netdev, edumazet, pabeni, andrew+netdev, horms, Jakub Kicinski,
	shuah, gal, noren, linux-kselftest

The test currently SKIPs if the symmetric RSS xfrm is not enabled
by default. This leads to spurious SKIPs in the Intel CI reporting
results to NIPA.

Testing on CX7:

 # ./drivers/net/hw/rss_input_xfrm.py
  TAP version 13
  1..2
  ok 1 rss_input_xfrm.test_rss_input_xfrm_ipv4 # SKIP Test requires IPv4 connectivity
  # Sym input xfrm already enabled: {'sym-or-xor'}
  ok 2 rss_input_xfrm.test_rss_input_xfrm_ipv6
  # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:1 error:0

 # ethtool -X eth0 xfrm none

 # ./drivers/net/hw/rss_input_xfrm.py
  TAP version 13
  1..2
  ok 1 rss_input_xfrm.test_rss_input_xfrm_ipv4 # SKIP Test requires IPv4 connectivity
  # Sym input xfrm configured: {'sym-or-xor'}
  ok 2 rss_input_xfrm.test_rss_input_xfrm_ipv6
  # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:1 error:0

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: shuah@kernel.org
CC: gal@nvidia.com
CC: noren@nvidia.com
CC: linux-kselftest@vger.kernel.org
---
 .../drivers/net/hw/rss_input_xfrm.py          | 44 ++++++++++++++++---
 1 file changed, 38 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py b/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
index 72880e388478..503f1a2a2872 100755
--- a/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
+++ b/tools/testing/selftests/drivers/net/hw/rss_input_xfrm.py
@@ -5,9 +5,9 @@ import multiprocessing
 import socket
 from lib.py import ksft_run, ksft_exit, ksft_eq, ksft_ge, cmd, fd_read_timeout
 from lib.py import NetDrvEpEnv
-from lib.py import EthtoolFamily, NetdevFamily
+from lib.py import EthtoolFamily, NetdevFamily, NlError
 from lib.py import KsftSkipEx, KsftFailEx
-from lib.py import rand_port
+from lib.py import defer, ksft_pr, rand_port
 
 
 def traffic(cfg, local_port, remote_port, ipver):
@@ -21,6 +21,40 @@ from lib.py import rand_port
     return sock.getsockopt(socket.SOL_SOCKET, socket.SO_INCOMING_CPU)
 
 
+def _rss_input_xfrm_try_enable(cfg):
+    """
+    Check if symmetric input-xfrm is already enabled, if not try to enable it
+    and register a cleanup.
+    """
+    rss = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}})
+    orig_xfrm = rss.get('input-xfrm', set())
+    sym_xfrm = set(filter(lambda x: 'sym' in x, orig_xfrm))
+
+    if sym_xfrm:
+        ksft_pr("Sym input xfrm already enabled:", sym_xfrm)
+        return sym_xfrm
+
+    for xfrm in cfg.ethnl.consts["input-xfrm"].entries:
+        # Skip non-symmetric transforms
+        if "sym" not in xfrm:
+            continue
+
+        try_xfrm = {xfrm} | orig_xfrm
+        try:
+            cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
+                               "input-xfrm": try_xfrm})
+        except NlError:
+            continue
+
+        ksft_pr("Sym input xfrm configured:", try_xfrm)
+        defer(cfg.ethnl.rss_set,
+              {"header": {"dev-index": cfg.ifindex},
+               "input-xfrm": orig_xfrm})
+        return {xfrm}
+
+    return set()
+
+
 def test_rss_input_xfrm(cfg, ipver):
     """
     Test symmetric input_xfrm.
@@ -37,12 +71,10 @@ from lib.py import rand_port
     if not hasattr(socket, "SO_INCOMING_CPU"):
         raise KsftSkipEx("socket.SO_INCOMING_CPU was added in Python 3.11")
 
-    rss = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}})
-    input_xfrm = set(filter(lambda x: 'sym' in x, rss.get('input-xfrm', {})))
-
     # Check for symmetric xor/or-xor
+    input_xfrm = _rss_input_xfrm_try_enable(cfg)
     if not input_xfrm:
-        raise KsftSkipEx("Symmetric RSS hash not requested")
+        raise KsftSkipEx("Symmetric RSS hash not supported by device")
 
     cpus = set()
     successful = 0
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start
  2026-01-04 18:46 [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start Jakub Kicinski
@ 2026-01-06  1:09 ` Jakub Kicinski
  2026-01-07  1:00 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Jakub Kicinski @ 2026-01-06  1:09 UTC (permalink / raw)
  To: Przemek Kitszel, adrian.pielech
  Cc: davem, netdev, edumazet, pabeni, andrew+netdev, horms, shuah, gal,
	noren, linux-kselftest

On Sun,  4 Jan 2026 10:46:00 -0800 Jakub Kicinski wrote:
> The test currently SKIPs if the symmetric RSS xfrm is not enabled
> by default. This leads to spurious SKIPs in the Intel CI reporting
> results to NIPA.
> 
> Testing on CX7:
> 
>  # ./drivers/net/hw/rss_input_xfrm.py
>   TAP version 13
>   1..2
>   ok 1 rss_input_xfrm.test_rss_input_xfrm_ipv4 # SKIP Test requires IPv4 connectivity
>   # Sym input xfrm already enabled: {'sym-or-xor'}
>   ok 2 rss_input_xfrm.test_rss_input_xfrm_ipv6
>   # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:1 error:0
> 
>  # ethtool -X eth0 xfrm none
> 
>  # ./drivers/net/hw/rss_input_xfrm.py
>   TAP version 13
>   1..2
>   ok 1 rss_input_xfrm.test_rss_input_xfrm_ipv4 # SKIP Test requires IPv4 connectivity
>   # Sym input xfrm configured: {'sym-or-xor'}
>   ok 2 rss_input_xfrm.test_rss_input_xfrm_ipv6
>   # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:1 error:0

Weird, looking at Intel's results for net-next-hw-2026-01-06--00-00
it's still skipping. What's going on Intel folks? This test seems to
skip / pass on your setup rather randomly:
https://netdev.bots.linux.dev/contest.html?test=rss-input-xfrm-py

While I have you - could you configure your HTTP server to serve the
logs as plain text? FWIW for nginx in NIPA we use:

location /logs {
    default_type        text/plain;
    charset utf-8;

    location ~ (stderr|stdout|retcode|summary) {
        gzip on;
        gzip_min_length 16000;
        gzip_types text/plain;
	charset utf-8;
    }
}

Otherwise every time we click on the link to your logs in NIPA 
the browser downloads the logs instead of displaying them.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start
  2026-01-04 18:46 [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start Jakub Kicinski
  2026-01-06  1:09 ` Jakub Kicinski
@ 2026-01-07  1:00 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-01-07  1:00 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: davem, netdev, edumazet, pabeni, andrew+netdev, horms, shuah, gal,
	noren, linux-kselftest

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Sun,  4 Jan 2026 10:46:00 -0800 you wrote:
> The test currently SKIPs if the symmetric RSS xfrm is not enabled
> by default. This leads to spurious SKIPs in the Intel CI reporting
> results to NIPA.
> 
> Testing on CX7:
> 
>  # ./drivers/net/hw/rss_input_xfrm.py
>   TAP version 13
>   1..2
>   ok 1 rss_input_xfrm.test_rss_input_xfrm_ipv4 # SKIP Test requires IPv4 connectivity
>   # Sym input xfrm already enabled: {'sym-or-xor'}
>   ok 2 rss_input_xfrm.test_rss_input_xfrm_ipv6
>   # Totals: pass:1 fail:0 xfail:0 xpass:0 skip:1 error:0
> 
> [...]

Here is the summary with links:
  - [net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start
    https://git.kernel.org/netdev/net-next/c/c4df070a57de

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-01-07  1:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-04 18:46 [PATCH net-next] selftests: hw-net: rss-input-xfrm: try to enable the xfrm at the start Jakub Kicinski
2026-01-06  1:09 ` Jakub Kicinski
2026-01-07  1:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox