[prev in list] [next in list] [prev in thread] [next in thread]
List: netbsd-tech-net
Subject: netstat -r output vs. "ARP table" entries
From: Ignatios Souvatzis <is () jocelyn ! rhein ! de>
Date: 1999-09-09 19:33:11
[Download RAW message or body]
Hi,
as you will know, with the 4.4BSD changes to the ARP table, namely
incorporating it in the general routing table, netstat -r started to
show the ARP entries, too. (I guess that it also will show Neighbour Cache
entries for IPv6...)
On big Ethernet segments, this can be nasty if you forget to |less or
|grep -v UHL.
I looked at the code, and found that a relatively small patch (see below)
will allow to switch to the <= 4.3 behaviour by adding the -L flag. Works
fine for me. Any objections?
Regards,
Ignatios
Index: main.c
===================================================================
RCS file: /cvsroot/basesrc/usr.bin/netstat/main.c,v
retrieving revision 1.23
diff -u -r1.23 main.c
--- main.c 1999/07/01 18:40:36 1.23
+++ main.c 1999/09/09 19:28:21
@@ -304,7 +304,8 @@
af = AF_UNSPEC;
pcbaddr = 0;
- while ((ch = getopt(argc, argv, "Aabdf:ghI:liM:mN:nP:p:rstuvw:")) != -1)
+ while ((ch = getopt(argc, argv, "Aabdf:ghI:LliM:mN:nP:p:rstuvw:"))
+ != -1)
switch(ch) {
case 'A':
Aflag = 1;
@@ -347,6 +348,9 @@
break;
case 'i':
iflag = 1;
+ break;
+ case 'L':
+ Lflag = 1;
break;
case 'l':
lflag = 1;
Index: netstat.h
===================================================================
RCS file: /cvsroot/basesrc/usr.bin/netstat/netstat.h,v
retrieving revision 1.14
diff -u -r1.14 netstat.h
--- netstat.h 1999/07/01 18:40:36 1.14
+++ netstat.h 1999/09/09 19:28:22
@@ -45,6 +45,7 @@
int gflag; /* show group (multicast) routing or stats */
#endif
int iflag; /* show interfaces */
+int Lflag; /* don't show LLINFO entries */
int lflag; /* show routing table with use and ref */
int mflag; /* show memory stats */
int nflag; /* show addresses numerically */
Index: route.c
===================================================================
RCS file: /cvsroot/basesrc/usr.bin/netstat/route.c,v
retrieving revision 1.38
diff -u -r1.38 route.c
--- route.c 1999/07/01 18:40:36 1.38
+++ route.c 1999/09/09 19:28:23
@@ -368,6 +368,8 @@
static int old_af;
int af = 0, interesting = RTF_UP | RTF_GATEWAY | RTF_HOST;
+ if (Lflag && (rtm->rtm_flags & RTF_LLINFO))
+ return;
#ifdef notdef
/* for the moment, netmasks are skipped over */
if (!banner_printed) {
@@ -558,6 +560,9 @@
static struct ifnet ifnet, *lastif;
union sockaddr_union addr_un, mask_un;
struct sockaddr *addr, *mask;
+
+ if (Lflag && (rt->rt_flags & RTF_LLINFO))
+ return;
memset(&addr_un, 0, sizeof(addr_un));
memset(&mask_un, 0, sizeof(mask_un));
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic