Commit 6c758062 authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski
Browse files

tcp: add LINUX_MIB_BEYOND_WINDOW



Add a new SNMP MIB : LINUX_MIB_BEYOND_WINDOW

Incremented when an incoming packet is received beyond the
receiver window.

nstat -az | grep TcpExtBeyondWindow

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20250711114006.480026-3-edumazet@google.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 9ca48d61
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ unsigned_long LINUX_MIB_TIMEWAITRECYCLED
unsigned_long  LINUX_MIB_TIMEWAITKILLED
unsigned_long  LINUX_MIB_PAWSACTIVEREJECTED
unsigned_long  LINUX_MIB_PAWSESTABREJECTED
unsigned_long  LINUX_MIB_BEYOND_WINDOW
unsigned_long  LINUX_MIB_TSECR_REJECTED
unsigned_long  LINUX_MIB_PAWS_OLD_ACK
unsigned_long  LINUX_MIB_PAWS_TW_REJECTED
+1 −0
Original line number Diff line number Diff line
@@ -309,6 +309,7 @@ enum skb_drop_reason {
	/**
	 * @SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE:
	 * Not acceptable END_SEQ field.
	 * Corresponds to LINUX_MIB_BEYOND_WINDOW.
	 */
	SKB_DROP_REASON_TCP_INVALID_END_SEQUENCE,
	/**
+1 −0
Original line number Diff line number Diff line
@@ -186,6 +186,7 @@ enum
	LINUX_MIB_TIMEWAITKILLED,		/* TimeWaitKilled */
	LINUX_MIB_PAWSACTIVEREJECTED,		/* PAWSActiveRejected */
	LINUX_MIB_PAWSESTABREJECTED,		/* PAWSEstabRejected */
	LINUX_MIB_BEYOND_WINDOW,		/* BeyondWindow */
	LINUX_MIB_TSECRREJECTED,		/* TSEcrRejected */
	LINUX_MIB_PAWS_OLD_ACK,			/* PAWSOldAck */
	LINUX_MIB_PAWS_TW_REJECTED,		/* PAWSTimewait */
+1 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ static const struct snmp_mib snmp4_net_list[] = {
	SNMP_MIB_ITEM("TWKilled", LINUX_MIB_TIMEWAITKILLED),
	SNMP_MIB_ITEM("PAWSActive", LINUX_MIB_PAWSACTIVEREJECTED),
	SNMP_MIB_ITEM("PAWSEstab", LINUX_MIB_PAWSESTABREJECTED),
	SNMP_MIB_ITEM("BeyondWindow", LINUX_MIB_BEYOND_WINDOW),
	SNMP_MIB_ITEM("TSEcrRejected", LINUX_MIB_TSECRREJECTED),
	SNMP_MIB_ITEM("PAWSOldAck", LINUX_MIB_PAWS_OLD_ACK),
	SNMP_MIB_ITEM("PAWSTimewait", LINUX_MIB_PAWS_TW_REJECTED),
+1 −0
Original line number Diff line number Diff line
@@ -5900,6 +5900,7 @@ static bool tcp_validate_incoming(struct sock *sk, struct sk_buff *skb,
		if (!th->rst) {
			if (th->syn)
				goto syn_challenge;
			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))