summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/tcp.h
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2015-04-28 15:28:17 -0700
committerDavid S. Miller <davem@davemloft.net>2015-04-29 17:10:37 -0400
commit0df48c26d8418c5c9fba63fac15b660d70ca2f1c (patch)
tree3dbdd83937001fde41106b43cae4a3cd1a84bdd0 /include/uapi/linux/tcp.h
parent2decb2682f80759f631c8332f9a2a34a02150a03 (diff)
downloadlinux-stable-0df48c26d8418c5c9fba63fac15b660d70ca2f1c.tar.gz
linux-stable-0df48c26d8418c5c9fba63fac15b660d70ca2f1c.tar.bz2
linux-stable-0df48c26d8418c5c9fba63fac15b660d70ca2f1c.zip
tcp: add tcpi_bytes_acked to tcp_info
This patch tracks total number of bytes acked for a TCP socket. This is the sum of all changes done to tp->snd_una, and allows for precise tracking of delivered data. RFC4898 named this : tcpEStatsAppHCThruOctetsAcked This is a 64bit field, and can be fetched both from TCP_INFO getsockopt() if one has a handle on a TCP socket, or from inet_diag netlink facility (iproute2/ss patch will follow) Note that tp->bytes_acked was placed near tp->snd_una for best data locality and minimal performance impact. Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Cc: Matt Mathis <mattmathis@google.com> Cc: Eric Salo <salo@google.com> Cc: Martin Lau <kafai@fb.com> Cc: Chris Rapier <rapier@psc.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/tcp.h')
-rw-r--r--include/uapi/linux/tcp.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h
index 3b9718328d8b..6666e98a0af9 100644
--- a/include/uapi/linux/tcp.h
+++ b/include/uapi/linux/tcp.h
@@ -189,6 +189,7 @@ struct tcp_info {
__u64 tcpi_pacing_rate;
__u64 tcpi_max_pacing_rate;
+ __u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */
};
/* for TCP_MD5SIG socket option */