From: Eric Dumazet Date: Thu, 5 Jun 2014 13:47:37 +0000 (-0700) Subject: ss: display pacing_rate/max_pacing_rate X-Git-Tag: v3.15.0~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb6028b263dc8eb0eee9ec503b9e1252825fa20f;p=thirdparty%2Fiproute2.git ss: display pacing_rate/max_pacing_rate Since linux-3.15, kernel exports tcpi_pacing_rate and tcpi_max_pacing_rate in tcp_info Add TCP pacing_rate information on ss -i output : lpaa23:~# ./ss -ti dst 10.246.7.151 State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 325800 10.246.7.151:57614 10.246.7.152:46811 cubic wscale:7,7 rto:201 rtt:0.081/0.006 mss:1448 cwnd:90 ssthresh:63 send 12871.1Mbps pacing_rate 15397.8Mbps unacked:90 retrans:0/305 rcv_space:29200 If SO_MAX_PACING_RATE is set on the socket, we add /max_pacing_rate as in : ... pacing_rate 1570.5Mbps/2.0Gbps ... Signed-off-by: Eric Dumazet --- diff --git a/misc/ss.c b/misc/ss.c index 187c8524b..c8479545d 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -1583,6 +1583,16 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, / rtt)); } + if (info->tcpi_pacing_rate && + info->tcpi_pacing_rate != ~0ULL) { + printf(" pacing_rate %sbps", + sprint_bw(b1, info->tcpi_pacing_rate * 8.)); + + if (info->tcpi_max_pacing_rate && + info->tcpi_max_pacing_rate != ~0ULL) + printf("/%sbps", + sprint_bw(b1, info->tcpi_max_pacing_rate * 8.)); + } if (info->tcpi_unacked) printf(" unacked:%u", info->tcpi_unacked); if (info->tcpi_retrans || info->tcpi_total_retrans)