From: Eric Dumazet Date: Mon, 11 May 2015 17:03:49 +0000 (-0700) Subject: ss: add support for bytes_acked & bytes_received X-Git-Tag: v4.2.0~73^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a4dda7103bcd5efcca72ffe03eef43318897dae;p=thirdparty%2Fiproute2.git ss: add support for bytes_acked & bytes_received tcp_info has 2 new fields : bytes_acked & bytes_received $ ss -ti src :22 ... cubic wscale:7,6 rto:234 rtt:33.199/17.225 ato:17.225 mss:1418 cwnd:9 ssthresh:9 send 3.1Mbps lastsnd:3 lastrcv:4 lastack:193 bytes_acked:188396 bytes_received:13639 pacing_rate 6.2Mbps unacked:1 retrans:0/4 reordering:4 rcv_rtt:47.25 rcv_space:28960 Signed-off-by: Eric Dumazet --- diff --git a/misc/ss.c b/misc/ss.c index 347e3a12d..dba090179 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -767,6 +767,8 @@ struct tcpstat unsigned int lastack; double pacing_rate; double pacing_rate_max; + unsigned long long bytes_acked; + unsigned long long bytes_received; unsigned int unacked; unsigned int retrans; unsigned int retrans_total; @@ -1689,6 +1691,11 @@ static void tcp_stats_print(struct tcpstat *s) if (s->ssthresh) printf(" ssthresh:%d", s->ssthresh); + if (s->bytes_acked) + printf(" bytes_acked:%llu", s->bytes_acked); + if (s->bytes_received) + printf(" bytes_received:%llu", s->bytes_received); + if (s->dctcp && s->dctcp->enabled) { struct dctcpstat *dctcp = s->dctcp; @@ -1981,6 +1988,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, info->tcpi_max_pacing_rate != ~0ULL) s.pacing_rate_max = info->tcpi_max_pacing_rate * 8.; } + s.bytes_acked = info->tcpi_bytes_acked; + s.bytes_received = info->tcpi_bytes_received; tcp_stats_print(&s); if (s.dctcp) free(s.dctcp);