* [PATCH net-next] selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt
@ 2026-03-16 18:51 Simon Baatz via B4 Relay
2026-03-19 9:30 ` patchwork-bot+netdevbpf
0 siblings, 1 reply; 2+ messages in thread
From: Simon Baatz via B4 Relay @ 2026-03-16 18:51 UTC (permalink / raw)
To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Simon Horman, Shuah Khan
Cc: netdev, linux-kselftest, linux-kernel, Simon Baatz
From: Simon Baatz <gmbnomis@gmail.com>
The test depends on accepting a packet that is larger than the
advertised window and that does not trigger an immediate ACK.
Previously, the test might still pass even if kernel behavior changed
unexpectedly. Add assertions verifying that the large packet was
accepted and no ACK was sent.
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
---
.../selftests/net/packetdrill/tcp_rcv_neg_window.pkt | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/net/packetdrill/tcp_rcv_neg_window.pkt b/tools/testing/selftests/net/packetdrill/tcp_rcv_neg_window.pkt
index 15a9b4938f16d175ac54f3fd192ed2b59b0a4399..b9ab264b2a118f273af269d83a371740ae47359c 100644
--- a/tools/testing/selftests/net/packetdrill/tcp_rcv_neg_window.pkt
+++ b/tools/testing/selftests/net/packetdrill/tcp_rcv_neg_window.pkt
@@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
+// Test maximum advertised window limit when rcv_nxt advances past
+// rcv_mwnd_seq. The "usable window" must be properly clamped to zero
+// rather than becoming negative.
--mss=1000
@@ -17,10 +20,15 @@
+0 accept(3, ..., ...) = 4
-// A too big packet is accepted if the receive queue is empty
+// A too big packet is accepted if the receive queue is empty. It
+// does not trigger an immediate ACK.
+0 < P. 1:20001(20000) ack 1 win 257
+ +0 %{ assert tcpi_bytes_received == 20000, tcpi_bytes_received; }%
+
// Send a RST immediately so that there is no rcv_wup/rcv_mwnd_seq update yet
+0 < R. 20001:20001(0) ack 1 win 257
- +.1 %{ assert tcpi_state == TCP_CLOSE, tcpi_state }%
-
+// Verify that the RST was accepted. Indirectly this also verifies that no
+// immediate ACK was sent for the data packet above.
+ +0 < . 20001:20001(0) ack 1 win 257
+ +0 > R 1:1(0)
---
base-commit: 5446b8691eb8278f10deca92048fad84ffd1e4d5
change-id: 20260315-improve_tcp_neg_usable_wnd_test-2a1329d4ca15
Best regards,
--
Simon Baatz <gmbnomis@gmail.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net-next] selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt
2026-03-16 18:51 [PATCH net-next] selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt Simon Baatz via B4 Relay
@ 2026-03-19 9:30 ` patchwork-bot+netdevbpf
0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-03-19 9:30 UTC (permalink / raw)
To: Simon Baatz
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel
Hello:
This patch was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:
On Mon, 16 Mar 2026 19:51:10 +0100 you wrote:
> From: Simon Baatz <gmbnomis@gmail.com>
>
> The test depends on accepting a packet that is larger than the
> advertised window and that does not trigger an immediate ACK.
>
> Previously, the test might still pass even if kernel behavior changed
> unexpectedly. Add assertions verifying that the large packet was
> accepted and no ACK was sent.
>
> [...]
Here is the summary with links:
- [net-next] selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt
https://git.kernel.org/netdev/net-next/c/96a584db75bb
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] 2+ messages in thread
end of thread, other threads:[~2026-03-19 9:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-16 18:51 [PATCH net-next] selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt Simon Baatz via B4 Relay
2026-03-19 9:30 ` 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