From: Eric Dumazet Date: Wed, 1 Oct 2014 11:17:18 +0000 (-0700) Subject: ss: add more tcp socket diagnostics X-Git-Tag: v3.17.0~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=624a06e63f87b8ac7be325ee36322704545fbd85;p=thirdparty%2Fiproute2.git ss: add more tcp socket diagnostics Display 4 additional tcp socket info fields : backoff : exponential backoff lastsnd : time in milli second since last send lastrcv : time in milli second since last receive lastack : time in milli second since last acknowledgement $ ss -ti dst :22 State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 172.16.5.1:58470 172.17.131.143:ssh cubic wscale:7,7 rto:228 rtt:30/20 ato:40 mss:1256 cwnd:6 ssthresh:4 send 2.0Mbps lastsnd:3480 lastrcv:3464 lastack:3464 rcv_rtt:81.5 rcv_space:87812 Signed-off-by: Eric Dumazet --- diff --git a/misc/ss.c b/misc/ss.c index c8479545d..2420b51dd 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -1554,6 +1554,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, info->tcpi_rcv_wscale); if (info->tcpi_rto && info->tcpi_rto != 3000000) printf(" rto:%g", (double)info->tcpi_rto/1000); + if (info->tcpi_backoff) + printf(" backoff:%u", info->tcpi_backoff); if (info->tcpi_rtt) printf(" rtt:%g/%g", (double)info->tcpi_rtt/1000, (double)info->tcpi_rttvar/1000); @@ -1583,6 +1585,15 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, / rtt)); } + if (info->tcpi_last_data_sent) + printf(" lastsnd:%u", info->tcpi_last_data_sent); + + if (info->tcpi_last_data_recv) + printf(" lastrcv:%u", info->tcpi_last_data_recv); + + if (info->tcpi_last_ack_recv) + printf(" lastack:%u", info->tcpi_last_ack_recv); + if (info->tcpi_pacing_rate && info->tcpi_pacing_rate != ~0ULL) { printf(" pacing_rate %sbps",