diff options
author | Thomas Higdon <tph@fb.com> | 2019-09-14 02:23:34 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-09-16 17:26:11 +0300 |
commit | f9af2dbbfe01def62765a58af7fbc488351893c3 (patch) | |
tree | 87f014f2ed384ae68fbab1d470b532135220f7d5 /include/linux/tcp.h | |
parent | 40ba6a12a5488e0fbcfae2f21a4f62bdb02d44d3 (diff) | |
download | linux-f9af2dbbfe01def62765a58af7fbc488351893c3.tar.xz |
tcp: Add TCP_INFO counter for packets received out-of-order
For receive-heavy cases on the server-side, we want to track the
connection quality for individual client IPs. This counter, similar to
the existing system-wide TCPOFOQueue counter in /proc/net/netstat,
tracks out-of-order packet reception. By providing this counter in
TCP_INFO, it will allow understanding to what degree receive-heavy
sockets are experiencing out-of-order delivery and packet drops
indicating congestion.
Please note that this is similar to the counter in NetBSD TCP_INFO, and
has the same name.
Also note that we avoid increasing the size of the tcp_sock struct by
taking advantage of a hole.
Signed-off-by: Thomas Higdon <tph@fb.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r-- | include/linux/tcp.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index f3a85a7fb4b1..99617e528ea2 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -354,6 +354,8 @@ struct tcp_sock { #define BPF_SOCK_OPS_TEST_FLAG(TP, ARG) 0 #endif + u32 rcv_ooopack; /* Received out-of-order packets, for tcpinfo */ + /* Receiver side RTT estimation */ u32 rcv_rtt_last_tsecr; struct { |