summaryrefslogtreecommitdiffstats
path: root/usr.bin/netstat
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2015-09-09 08:40:17 +0000
committerhrs <hrs@FreeBSD.org>2015-09-09 08:40:17 +0000
commitc02639b79471c7dcfd8094a16aff3ef9975fd6f8 (patch)
tree63ca040e3d9e0f832d294b9c250243deca6895e8 /usr.bin/netstat
parentbd8403067b81807e02a0814dc81f12e204ba384a (diff)
downloadFreeBSD-src-c02639b79471c7dcfd8094a16aff3ef9975fd6f8.zip
FreeBSD-src-c02639b79471c7dcfd8094a16aff3ef9975fd6f8.tar.gz
MFC r287406:
Divide statistics in the number of packets with 1000 instead of 1024 in human-readable form. PR: 183598
Diffstat (limited to 'usr.bin/netstat')
-rw-r--r--usr.bin/netstat/if.c44
1 files changed, 23 insertions, 21 deletions
diff --git a/usr.bin/netstat/if.c b/usr.bin/netstat/if.c
index 47f8a1f..0bb2581 100644
--- a/usr.bin/netstat/if.c
+++ b/usr.bin/netstat/if.c
@@ -165,7 +165,8 @@ pfsync_stats(u_long off, const char *name, int af1 __unused, int proto __unused)
* Display a formatted value, or a '-' in the same space.
*/
static void
-show_stat(const char *fmt, int width, u_long value, short showvalue)
+show_stat(const char *fmt, int width, u_long value, short showvalue,
+ int div1000)
{
const char *lsep, *rsep;
char newfmt[32];
@@ -192,7 +193,8 @@ show_stat(const char *fmt, int width, u_long value, short showvalue)
/* Format in human readable form. */
humanize_number(buf, sizeof(buf), (int64_t)value, "",
- HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL);
+ HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL | \
+ ((div1000) ? HN_DIVISOR_1000 : 0));
sprintf(newfmt, "%s%%%ds%s", lsep, width, rsep);
printf(newfmt, buf);
} else {
@@ -287,7 +289,7 @@ intpr(int interval, void (*pfunc)(char *), int af)
printf("%-5.5s", ifa->ifa_name);
#define IFA_MTU(ifa) (((struct if_data *)(ifa)->ifa_data)->ifi_mtu)
- show_stat("lu", 6, IFA_MTU(ifa), IFA_MTU(ifa));
+ show_stat("lu", 6, IFA_MTU(ifa), IFA_MTU(ifa), 0);
#undef IFA_MTU
switch (ifa->ifa_addr->sa_family) {
@@ -373,18 +375,18 @@ intpr(int interval, void (*pfunc)(char *), int af)
}
#define IFA_STAT(s) (((struct if_data *)ifa->ifa_data)->ifi_ ## s)
- show_stat("lu", 8, IFA_STAT(ipackets), link|network);
- show_stat("lu", 5, IFA_STAT(ierrors), link);
- show_stat("lu", 5, IFA_STAT(iqdrops), link);
+ show_stat("lu", 8, IFA_STAT(ipackets), link|network, 1);
+ show_stat("lu", 5, IFA_STAT(ierrors), link, 1);
+ show_stat("lu", 5, IFA_STAT(iqdrops), link, 1);
if (bflag)
- show_stat("lu", 10, IFA_STAT(ibytes), link|network);
- show_stat("lu", 8, IFA_STAT(opackets), link|network);
- show_stat("lu", 5, IFA_STAT(oerrors), link);
+ show_stat("lu", 10, IFA_STAT(ibytes), link|network, 0);
+ show_stat("lu", 8, IFA_STAT(opackets), link|network, 1);
+ show_stat("lu", 5, IFA_STAT(oerrors), link, 1);
if (bflag)
- show_stat("lu", 10, IFA_STAT(obytes), link|network);
- show_stat("NRSlu", 5, IFA_STAT(collisions), link);
+ show_stat("lu", 10, IFA_STAT(obytes), link|network, 0);
+ show_stat("NRSlu", 5, IFA_STAT(collisions), link, 1);
if (dflag)
- show_stat("LSlu", 5, IFA_STAT(oqdrops), link);
+ show_stat("LSlu", 5, IFA_STAT(oqdrops), link, 1);
putchar('\n');
if (!aflag)
@@ -569,16 +571,16 @@ loop:
fill_iftot(new);
- show_stat("lu", 10, new->ift_ip - old->ift_ip, 1);
- show_stat("lu", 5, new->ift_ie - old->ift_ie, 1);
- show_stat("lu", 5, new->ift_id - old->ift_id, 1);
- show_stat("lu", 10, new->ift_ib - old->ift_ib, 1);
- show_stat("lu", 10, new->ift_op - old->ift_op, 1);
- show_stat("lu", 5, new->ift_oe - old->ift_oe, 1);
- show_stat("lu", 10, new->ift_ob - old->ift_ob, 1);
- show_stat("NRSlu", 5, new->ift_co - old->ift_co, 1);
+ show_stat("lu", 10, new->ift_ip - old->ift_ip, 1, 1);
+ show_stat("lu", 5, new->ift_ie - old->ift_ie, 1, 1);
+ show_stat("lu", 5, new->ift_id - old->ift_id, 1, 1);
+ show_stat("lu", 10, new->ift_ib - old->ift_ib, 1, 0);
+ show_stat("lu", 10, new->ift_op - old->ift_op, 1, 1);
+ show_stat("lu", 5, new->ift_oe - old->ift_oe, 1, 1);
+ show_stat("lu", 10, new->ift_ob - old->ift_ob, 1, 0);
+ show_stat("NRSlu", 5, new->ift_co - old->ift_co, 1, 1);
if (dflag)
- show_stat("LSlu", 5, new->ift_od - old->ift_od, 1);
+ show_stat("LSlu", 5, new->ift_od - old->ift_od, 1, 1);
putchar('\n');
fflush(stdout);
OpenPOWER on IntegriCloud