* [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
@ 2026-08-04 15:10 Jakub Kicinski
2026-08-05 13:00 ` Simon Horman
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Jakub Kicinski @ 2026-08-04 15:10 UTC (permalink / raw)
To: davem
Cc: netdev, edumazet, pabeni, andrew+netdev, horms, Jakub Kicinski,
shuah, hawk, john.fastabend, sdf, bobbyeshleman, linux-kselftest
HDS mode has confusing semantics. On GET kernel reports
effective mode. On SET kernel expects explicit config.
Effective mode on GET means that we know the current
state, but we don't know if it's a driver default
or user setting. This matter because driver default
can change automatically when e.g. XDP is attached.
Explicit user setting must not be lost.
With that in mind, we can't restore the HDS setting
like we restore other NIC config. We should always
reset to default ("unknown").
This fixes an issue with tests running after the devmem
test not being able to attach XDP, e.g.
Exception| File "./xdp_metadata.py", line 105, in test_xdp_rss_hash
[...]
Exception| net.lib.py.utils.CmdExitFailure: Command failed
Exception| CMD: ip link set dev ens9np0 xdpdrv pinned /sys/fs/bpf/xdp_metadata_test/xdp_rss_hash
Exception| EXIT: 2
Exception| STDERR: Error: unable to install XDP to device using tcp-data-split.
not ok 1 xdp_metadata.test_xdp_rss_hash.tcp
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: shuah@kernel.org
CC: hawk@kernel.org
CC: john.fastabend@gmail.com
CC: sdf@fomichev.me
CC: bobbyeshleman@meta.com
CC: linux-kselftest@vger.kernel.org
---
tools/testing/selftests/drivers/net/hw/devmem_lib.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/drivers/net/hw/devmem_lib.py b/tools/testing/selftests/drivers/net/hw/devmem_lib.py
index 0921ff03eb81..4e6316c7de96 100644
--- a/tools/testing/selftests/drivers/net/hw/devmem_lib.py
+++ b/tools/testing/selftests/drivers/net/hw/devmem_lib.py
@@ -37,14 +37,13 @@ from lib.py import (bkg, cmd, defer, ethtool, rand_port, wait_port_listen,
rings = ethnl.rings_get({'header': {'dev-index': cfg.ifindex}})
orig_rx_rings = rings['rx']
orig_hds_thresh = rings.get('hds-thresh', 0)
- orig_data_split = rings.get('tcp-data-split', 'unknown')
ethnl.rings_set({'header': {'dev-index': cfg.ifindex},
'tcp-data-split': 'enabled',
'hds-thresh': 0,
'rx': min(64, orig_rx_rings)})
defer(ethnl.rings_set, {'header': {'dev-index': cfg.ifindex},
- 'tcp-data-split': orig_data_split,
+ 'tcp-data-split': 'unknown',
'hds-thresh': orig_hds_thresh,
'rx': orig_rx_rings})
--
2.55.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
2026-08-04 15:10 [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests Jakub Kicinski
@ 2026-08-05 13:00 ` Simon Horman
2026-08-05 13:50 ` Breno Leitao
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Simon Horman @ 2026-08-05 13:00 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, andrew+netdev, shuah, hawk,
john.fastabend, sdf, bobbyeshleman, linux-kselftest
On Tue, Aug 04, 2026 at 08:10:40AM -0700, Jakub Kicinski wrote:
> HDS mode has confusing semantics. On GET kernel reports
> effective mode. On SET kernel expects explicit config.
> Effective mode on GET means that we know the current
> state, but we don't know if it's a driver default
> or user setting. This matter because driver default
> can change automatically when e.g. XDP is attached.
> Explicit user setting must not be lost.
>
> With that in mind, we can't restore the HDS setting
> like we restore other NIC config. We should always
> reset to default ("unknown").
>
> This fixes an issue with tests running after the devmem
> test not being able to attach XDP, e.g.
>
> Exception| File "./xdp_metadata.py", line 105, in test_xdp_rss_hash
> [...]
> Exception| net.lib.py.utils.CmdExitFailure: Command failed
> Exception| CMD: ip link set dev ens9np0 xdpdrv pinned /sys/fs/bpf/xdp_metadata_test/xdp_rss_hash
> Exception| EXIT: 2
> Exception| STDERR: Error: unable to install XDP to device using tcp-data-split.
> not ok 1 xdp_metadata.test_xdp_rss_hash.tcp
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
2026-08-04 15:10 [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests Jakub Kicinski
2026-08-05 13:00 ` Simon Horman
@ 2026-08-05 13:50 ` Breno Leitao
2026-08-05 20:02 ` Bobby Eshleman
2026-08-06 0:40 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Breno Leitao @ 2026-08-05 13:50 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, andrew+netdev, horms, shuah,
hawk, john.fastabend, sdf, bobbyeshleman, linux-kselftest
On Tue, Aug 04, 2026 at 08:10:40AM -0700, Jakub Kicinski wrote:
> HDS mode has confusing semantics. On GET kernel reports
> effective mode. On SET kernel expects explicit config.
> Effective mode on GET means that we know the current
> state, but we don't know if it's a driver default
> or user setting. This matter because driver default
> can change automatically when e.g. XDP is attached.
> Explicit user setting must not be lost.
>
> With that in mind, we can't restore the HDS setting
> like we restore other NIC config. We should always
> reset to default ("unknown").
>
> This fixes an issue with tests running after the devmem
> test not being able to attach XDP, e.g.
>
> Exception| File "./xdp_metadata.py", line 105, in test_xdp_rss_hash
> [...]
> Exception| net.lib.py.utils.CmdExitFailure: Command failed
> Exception| CMD: ip link set dev ens9np0 xdpdrv pinned /sys/fs/bpf/xdp_metadata_test/xdp_rss_hash
> Exception| EXIT: 2
> Exception| STDERR: Error: unable to install XDP to device using tcp-data-split.
> not ok 1 xdp_metadata.test_xdp_rss_hash.tcp
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Breno Leitao <leitao@debian.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
2026-08-04 15:10 [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests Jakub Kicinski
2026-08-05 13:00 ` Simon Horman
2026-08-05 13:50 ` Breno Leitao
@ 2026-08-05 20:02 ` Bobby Eshleman
2026-08-06 0:40 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Bobby Eshleman @ 2026-08-05 20:02 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, andrew+netdev, horms, shuah,
hawk, john.fastabend, sdf, bobbyeshleman, linux-kselftest
On Tue, Aug 04, 2026 at 08:10:40AM -0700, Jakub Kicinski wrote:
> HDS mode has confusing semantics. On GET kernel reports
> effective mode. On SET kernel expects explicit config.
> Effective mode on GET means that we know the current
> state, but we don't know if it's a driver default
> or user setting. This matter because driver default
> can change automatically when e.g. XDP is attached.
> Explicit user setting must not be lost.
>
> With that in mind, we can't restore the HDS setting
> like we restore other NIC config. We should always
> reset to default ("unknown").
>
> This fixes an issue with tests running after the devmem
> test not being able to attach XDP, e.g.
>
> Exception| File "./xdp_metadata.py", line 105, in test_xdp_rss_hash
> [...]
> Exception| net.lib.py.utils.CmdExitFailure: Command failed
> Exception| CMD: ip link set dev ens9np0 xdpdrv pinned /sys/fs/bpf/xdp_metadata_test/xdp_rss_hash
> Exception| EXIT: 2
> Exception| STDERR: Error: unable to install XDP to device using tcp-data-split.
> not ok 1 xdp_metadata.test_xdp_rss_hash.tcp
>
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: shuah@kernel.org
> CC: hawk@kernel.org
> CC: john.fastabend@gmail.com
> CC: sdf@fomichev.me
> CC: bobbyeshleman@meta.com
> CC: linux-kselftest@vger.kernel.org
> ---
> tools/testing/selftests/drivers/net/hw/devmem_lib.py | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/drivers/net/hw/devmem_lib.py b/tools/testing/selftests/drivers/net/hw/devmem_lib.py
> index 0921ff03eb81..4e6316c7de96 100644
> --- a/tools/testing/selftests/drivers/net/hw/devmem_lib.py
> +++ b/tools/testing/selftests/drivers/net/hw/devmem_lib.py
> @@ -37,14 +37,13 @@ from lib.py import (bkg, cmd, defer, ethtool, rand_port, wait_port_listen,
> rings = ethnl.rings_get({'header': {'dev-index': cfg.ifindex}})
> orig_rx_rings = rings['rx']
> orig_hds_thresh = rings.get('hds-thresh', 0)
> - orig_data_split = rings.get('tcp-data-split', 'unknown')
>
> ethnl.rings_set({'header': {'dev-index': cfg.ifindex},
> 'tcp-data-split': 'enabled',
> 'hds-thresh': 0,
> 'rx': min(64, orig_rx_rings)})
> defer(ethnl.rings_set, {'header': {'dev-index': cfg.ifindex},
> - 'tcp-data-split': orig_data_split,
> + 'tcp-data-split': 'unknown',
> 'hds-thresh': orig_hds_thresh,
> 'rx': orig_rx_rings})
>
> --
> 2.55.0
>
Reviewed-by: Bobby Eshleman <bobbyeshleman@meta.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
2026-08-04 15:10 [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests Jakub Kicinski
` (2 preceding siblings ...)
2026-08-05 20:02 ` Bobby Eshleman
@ 2026-08-06 0:40 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-08-06 0:40 UTC (permalink / raw)
To: Jakub Kicinski
Cc: davem, netdev, edumazet, pabeni, andrew+netdev, horms, shuah,
hawk, john.fastabend, sdf, bobbyeshleman, linux-kselftest
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Tue, 4 Aug 2026 08:10:40 -0700 you wrote:
> HDS mode has confusing semantics. On GET kernel reports
> effective mode. On SET kernel expects explicit config.
> Effective mode on GET means that we know the current
> state, but we don't know if it's a driver default
> or user setting. This matter because driver default
> can change automatically when e.g. XDP is attached.
> Explicit user setting must not be lost.
>
> [...]
Here is the summary with links:
- [net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests
https://git.kernel.org/netdev/net-next/c/481e86a82219
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] 5+ messages in thread
end of thread, other threads:[~2026-08-06 0:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-04 15:10 [PATCH net-next] selftests: drv-net: hw: reset HDS mode after netkit devmem tests Jakub Kicinski
2026-08-05 13:00 ` Simon Horman
2026-08-05 13:50 ` Breno Leitao
2026-08-05 20:02 ` Bobby Eshleman
2026-08-06 0:40 ` 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