| cf94b3c0 | 22-Apr-2026 |
Jiayuan Chen <jiayuan.chen@linux.dev> |
selftests/net: packetdrill: cover RFC 5961 5.2 challenge ACK on both edges
RFC 5961 Section 5.2 / RFC 793 Section 3.9 require a challenge ACK whenever an incoming SEG.ACK falls outside [SND.UNA - MA
selftests/net: packetdrill: cover RFC 5961 5.2 challenge ACK on both edges
RFC 5961 Section 5.2 / RFC 793 Section 3.9 require a challenge ACK whenever an incoming SEG.ACK falls outside [SND.UNA - MAX.SND.WND, SND.NXT]. There is currently no packetdrill coverage for either edge.
Add tcp_rfc5961_ack-out-of-window.pkt, which in a single passive-open connection exercises:
- Upper edge (SEG.ACK > SND.NXT): peer ACKs data that was never sent before the server has transmitted anything. - Lower edge (SEG.ACK < SND.UNA - MAX.SND.WND): after the server has sent 2000 bytes (the peer-advertised rwnd forces two 1000-byte segments, both acknowledged), peer sends an ACK that is older than the acceptable window.
Both cases must elicit a challenge ACK <SEQ = SND.NXT, ACK = RCV.NXT, CTL = ACK>. The per-socket RFC 5961 Section 7 rate limit is disabled for the duration of the test so that both challenge ACKs can fire back-to-back.
Signed-off-by: Jiayuan Chen <jiayuan.chen@linux.dev> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260422123605.320000-3-jiayuan.chen@linux.dev Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| 3eb371ed | 09-Mar-2026 |
Simon Baatz <gmbnomis@gmail.com> |
selftests/net: packetdrill: add tcp_rcv_neg_window.pkt
The test ensures we correctly apply the maximum advertised window limit when rcv_nxt advances past rcv_mwnd_seq, so that the "usable window" is
selftests/net: packetdrill: add tcp_rcv_neg_window.pkt
The test ensures we correctly apply the maximum advertised window limit when rcv_nxt advances past rcv_mwnd_seq, so that the "usable window" is properly clamped to zero rather than becoming negative.
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260309-tcp_rfc7323_retract_wnd_rfc-v3-6-4c7f96b1ec69@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| ba58b3e7 | 09-Mar-2026 |
Simon Baatz <gmbnomis@gmail.com> |
selftests/net: packetdrill: add tcp_rcv_wnd_shrink_allowed.pkt
This test verifies the sequence number checks using the maximum advertised window sequence number when net.ipv4.tcp_shrink_window is en
selftests/net: packetdrill: add tcp_rcv_wnd_shrink_allowed.pkt
This test verifies the sequence number checks using the maximum advertised window sequence number when net.ipv4.tcp_shrink_window is enabled.
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260309-tcp_rfc7323_retract_wnd_rfc-v3-5-4c7f96b1ec69@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| ec1adf8e | 09-Mar-2026 |
Simon Baatz <gmbnomis@gmail.com> |
selftests/net: packetdrill: add tcp_rcv_wnd_shrink_nomem.pkt
This test verifies - the sequence number checks using the maximum advertised window sequence number and - the logic for handling receiv
selftests/net: packetdrill: add tcp_rcv_wnd_shrink_nomem.pkt
This test verifies - the sequence number checks using the maximum advertised window sequence number and - the logic for handling received data in tcp_data_queue()
for the cases:
1. The window is reduced to zero because of memory
2. The window grows again but still does not reach the originally advertised window
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260309-tcp_rfc7323_retract_wnd_rfc-v3-4-4c7f96b1ec69@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|