@@ -280,6 +280,7 @@ enum
LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */
LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */
LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */
+ LINUX_MIB_TCPTSECRFAIL, /* TCPTSecrFail */
__LINUX_MIB_MAX
};
@@ -302,6 +302,7 @@ static const struct snmp_mib snmp4_net_list[] = {
SNMP_MIB_ITEM("TCPKeepAlive", LINUX_MIB_TCPKEEPALIVE),
SNMP_MIB_ITEM("TCPMTUPFail", LINUX_MIB_TCPMTUPFAIL),
SNMP_MIB_ITEM("TCPMTUPSuccess", LINUX_MIB_TCPMTUPSUCCESS),
+ SNMP_MIB_ITEM("TCPTSecrFail", LINUX_MIB_TCPTSECRFAIL),
SNMP_MIB_SENTINEL
};
@@ -5287,6 +5287,7 @@ syn_challenge:
/* last step: ofo and not pure ack: check tsecr */
if (!tcp_validate_tsecr(sk, th)) {
+ NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPTSECRFAIL);
goto discard;
}
useful to detect packet drop due to enabled tcp_timestamps=2 mode. Signed-off-by: Florian Westphal <fw@strlen.de> --- include/uapi/linux/snmp.h | 1 + net/ipv4/proc.c | 1 + net/ipv4/tcp_input.c | 1 + 3 files changed, 3 insertions(+)