]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
ss: add support for Gbit speeds in sprint_bw()
authorEric Dumazet <edumazet@google.com>
Tue, 5 May 2020 15:37:41 +0000 (08:37 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 5 May 2020 16:50:22 +0000 (09:50 -0700)
Also use 'g' specifier instead of 'f' to remove trailing zeros,
and increase precision.

Examples of output :
 Before        After
 8.0Kbps       8Kbps
 9.9Mbps       9.92Mbps
 55001Mbps     55Gbps

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
misc/ss.c

index 3ef151fbf1f1b3856e95a1baa751a1cdd27d10b7..ab206b2011ec92b899709d2c78ce7310e88ec80e 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2382,10 +2382,12 @@ static char *sprint_bw(char *buf, double bw)
 {
        if (numeric)
                sprintf(buf, "%.0f", bw);
-       else if (bw > 1000000.)
-               sprintf(buf, "%.1fM", bw / 1000000.);
-       else if (bw > 1000.)
-               sprintf(buf, "%.1fK", bw / 1000.);
+       else if (bw >= 1e9)
+               sprintf(buf, "%.3gG", bw / 1e9);
+       else if (bw >= 1e6)
+               sprintf(buf, "%.3gM", bw / 1e6);
+       else if (bw >= 1e3)
+               sprintf(buf, "%.3gK", bw / 1e3);
        else
                sprintf(buf, "%g", bw);