]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ss: display pacing_rate/max_pacing_rate
authorEric Dumazet <edumazet@google.com>
Thu, 5 Jun 2014 13:47:37 +0000 (06:47 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 9 Jun 2014 19:36:49 +0000 (12:36 -0700)
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 <edumazet@google.com>
misc/ss.c

index 187c8524b46c65bbe090cc34bfb71ed9736eb6b0..c8479545d1068186d992e1cb8f995e22d0cc71b8 100644 (file)
--- 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)