svn commit: r200736 - stable/8/usr.bin/netstat
Attilio Rao
attilio at FreeBSD.org
Sat Dec 19 19:25:35 UTC 2009
Author: attilio
Date: Sat Dec 19 19:25:35 2009
New Revision: 200736
URL: http://svn.freebsd.org/changeset/base/200736
Log:
MFC r199803:
Add the possibility to show informations about dropped packets on the
input path when showing interfaces informations.
Sponsored by: Sandvine Incorporated
Modified:
stable/8/usr.bin/netstat/if.c
Directory Properties:
stable/8/usr.bin/netstat/ (props changed)
Modified: stable/8/usr.bin/netstat/if.c
==============================================================================
--- stable/8/usr.bin/netstat/if.c Sat Dec 19 19:23:25 2009 (r200735)
+++ stable/8/usr.bin/netstat/if.c Sat Dec 19 19:25:35 2009 (r200736)
@@ -198,6 +198,7 @@ intpr(int interval1, u_long ifnetaddr, v
u_long imcasts;
u_long oerrors;
u_long ierrors;
+ u_long idrops;
u_long collisions;
short timer;
int drops;
@@ -225,8 +226,8 @@ intpr(int interval1, u_long ifnetaddr, v
printf("%-7.7s", "Name");
else
printf("%-5.5s", "Name");
- printf(" %5.5s %-13.13s %-17.17s %8.8s %5.5s",
- "Mtu", "Network", "Address", "Ipkts", "Ierrs");
+ printf(" %5.5s %-13.13s %-17.17s %8.8s %5.5s %5.5s",
+ "Mtu", "Network", "Address", "Ipkts", "Ierrs", "Idrop");
if (bflag)
printf(" %10.10s","Ibytes");
printf(" %8.8s %5.5s", "Opkts", "Oerrs");
@@ -285,6 +286,7 @@ intpr(int interval1, u_long ifnetaddr, v
imcasts = ifnet.if_imcasts;
oerrors = ifnet.if_oerrors;
ierrors = ifnet.if_ierrors;
+ idrops = ifnet.if_iqdrops;
collisions = ifnet.if_collisions;
timer = ifnet.if_timer;
drops = ifnet.if_snd.ifq_drops;
@@ -423,6 +425,7 @@ intpr(int interval1, u_long ifnetaddr, v
show_stat("lu", 8, ipackets, link_layer|network_layer);
show_stat("lu", 5, ierrors, link_layer);
+ show_stat("lu", 5, idrops, link_layer);
if (bflag)
show_stat("lu", 10, ibytes, link_layer|network_layer);
@@ -513,6 +516,7 @@ struct iftot {
char ift_name[IFNAMSIZ]; /* interface name */
u_long ift_ip; /* input packets */
u_long ift_ie; /* input errors */
+ u_long ift_id; /* input drops */
u_long ift_op; /* output packets */
u_long ift_oe; /* output errors */
u_long ift_co; /* collisions */
@@ -598,8 +602,9 @@ banner:
printf("%17s %14s %16s", "input",
interesting ? interesting->ift_name : "(Total)", "output");
putchar('\n');
- printf("%10s %5s %10s %10s %5s %10s %5s",
- "packets", "errs", "bytes", "packets", "errs", "bytes", "colls");
+ printf("%10s %5s %5s %10s %10s %5s %10s %5s",
+ "packets", "errs", "idrops", "bytes", "packets", "errs", "bytes",
+ "colls");
if (dflag)
printf(" %5.5s", "drops");
putchar('\n');
@@ -615,6 +620,7 @@ loop:
if (!first) {
show_stat("lu", 10, ifnet.if_ipackets - ip->ift_ip, 1);
show_stat("lu", 5, ifnet.if_ierrors - ip->ift_ie, 1);
+ show_stat("lu", 5, ifnet.if_iqdrops - ip->ift_id, 1);
show_stat("lu", 10, ifnet.if_ibytes - ip->ift_ib, 1);
show_stat("lu", 10, ifnet.if_opackets - ip->ift_op, 1);
show_stat("lu", 5, ifnet.if_oerrors - ip->ift_oe, 1);
@@ -636,6 +642,7 @@ loop:
} else {
sum->ift_ip = 0;
sum->ift_ie = 0;
+ sum->ift_id = 0;
sum->ift_ib = 0;
sum->ift_op = 0;
sum->ift_oe = 0;
@@ -651,6 +658,7 @@ loop:
}
sum->ift_ip += ifnet.if_ipackets;
sum->ift_ie += ifnet.if_ierrors;
+ sum->ift_id += ifnet.if_iqdrops;
sum->ift_ib += ifnet.if_ibytes;
sum->ift_op += ifnet.if_opackets;
sum->ift_oe += ifnet.if_oerrors;
@@ -662,6 +670,7 @@ loop:
if (!first) {
show_stat("lu", 10, sum->ift_ip - total->ift_ip, 1);
show_stat("lu", 5, sum->ift_ie - total->ift_ie, 1);
+ show_stat("lu", 5, sum->ift_id - total->ift_id, 1);
show_stat("lu", 10, sum->ift_ib - total->ift_ib, 1);
show_stat("lu", 10, sum->ift_op - total->ift_op, 1);
show_stat("lu", 5, sum->ift_oe - total->ift_oe, 1);
More information about the svn-src-all
mailing list