summaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_output.c
diff options
context:
space:
mode:
authorWei Wang2018-08-01 02:46:22 +0200
committerDavid S. Miller2018-08-01 18:56:10 +0200
commitfb31c9b9f6c85b1bad569ecedbde78d9e37cd87b (patch)
tree7568903b4ab7b5784169b51d342ffb28ec6e31e2 /net/ipv4/tcp_output.c
parenttcp: add data bytes sent stats (diff)
downloadkernel-qcow2-linux-fb31c9b9f6c85b1bad569ecedbde78d9e37cd87b.tar.gz
kernel-qcow2-linux-fb31c9b9f6c85b1bad569ecedbde78d9e37cd87b.tar.xz
kernel-qcow2-linux-fb31c9b9f6c85b1bad569ecedbde78d9e37cd87b.zip
tcp: add data bytes retransmitted stats
Introduce a new TCP stat to record the number of bytes retransmitted (RFC4898 tcpEStatsPerfOctetsRetrans) and expose it in both tcp_info (TCP_INFO) and opt_stats (SOF_TIMESTAMPING_OPT_STATS). Signed-off-by: Wei Wang <weiwan@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Neal Cardwell <ncardwell@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Acked-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r--net/ipv4/tcp_output.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 861531fe0e97..50cabf7656f3 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2871,6 +2871,7 @@ int __tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb, int segs)
if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_SYN)
__NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSYNRETRANS);
tp->total_retrans += segs;
+ tp->bytes_retrans += skb->len;
/* make sure skb->data is aligned on arches that require it
* and check if ack-trimming & collapsing extended the headroom