]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
ss: update to bw print
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 5 May 2020 17:18:58 +0000 (10:18 -0700)
committerStephen Hemminger <stephen@networkplumber.org>
Tue, 5 May 2020 17:18:58 +0000 (10:18 -0700)
Display kilobit with the standard suffix.
Add comment to describe where data rate suffixes come from.
Add support for terrabit.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
misc/ss.c

index ab206b2011ec92b899709d2c78ce7310e88ec80e..75fde231201ddb534e937114286612e2d687cff4 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -2378,16 +2378,23 @@ static int proc_inet_split_line(char *line, char **loc, char **rem, char **data)
        return 0;
 }
 
+/*
+ * Display bandwidth in standard units
+ * See: https://en.wikipedia.org/wiki/Data-rate_units
+ * bw is in bits per second
+ */
 static char *sprint_bw(char *buf, double bw)
 {
        if (numeric)
                sprintf(buf, "%.0f", bw);
+       else if (bw >= 1e12)
+               sprintf(buf, "%.3gT", bw / 1e12);
        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);
+               sprintf(buf, "%.3gk", bw / 1e3);
        else
                sprintf(buf, "%g", bw);