diff options
author | Paolo Abeni <pabeni@redhat.com> | 2025-07-21 19:20:22 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-07-22 18:21:15 -0700 |
commit | b115c7758802f8d14ba8797e0ba979c47d78f310 (patch) | |
tree | f01f7761091af9c48eeac8295d838ca67c984384 /net/ipv4/tcp_input.c | |
parent | 972ca7a3bc9a136b15ba698713b056a4900e2634 (diff) |
tcp: do not increment BeyondWindow MIB for old seq
The mentioned MIB is currently incremented even when a packet
with an old sequence number (i.e. a zero window probe) is received,
which is IMHO misleading.
Explicitly restrict such MIB increment at the relevant events.
Fixes: 6c758062c64d ("tcp: add LINUX_MIB_BEYOND_WINDOW")
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Link: https://patch.msgid.link/20d147292eb4b13b6535e0ad6f56be64d9c330d3.1753118029.git.pabeni@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 81b6d3770812..71b76e98371a 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5915,7 +5915,11 @@ step1: if (!th->rst) { if (th->syn) goto syn_challenge; - NET_INC_STATS(sock_net(sk), LINUX_MIB_BEYOND_WINDOW); + + if (reason == SKB_DROP_REASON_TCP_INVALID_SEQUENCE || + reason == SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE) + NET_INC_STATS(sock_net(sk), + LINUX_MIB_BEYOND_WINDOW); if (!tcp_oow_rate_limited(sock_net(sk), skb, LINUX_MIB_TCPACKSKIPPEDSEQ, &tp->last_oow_ack_time)) |