(feature change request) remove link-layer generated routes from netstat -r

Gary Corcoran gcorcoran at rcn.com
Thu Feb 23 09:10:40 PST 2006


John Baldwin wrote:
> On Thursday 23 February 2006 02:56, Nikos Vassiliadis wrote:
>> On Thursday 23 February 2006 07:06, Eugene Grosbein wrote:
>>> On Wed, Feb 22, 2006 at 03:50:17PM +0200, Nikos Vassiliadis wrote:
>>>> netstat -r prints link-layer generated routes and many
>>>> times the output becomes somehow obscure. For
>>>> example:
>>>>
>>>> root at brad:0:/usr/home/src/FreeBSD-6/src/usr.bin/netstat# netstat
>>>> -ranfinet Routing tables
>>>>
>>>> Internet:
>>>> Destination        Gateway            Flags    Refs      Use  Netif
>>>> Expire default            10.1.1.244         UGS         0    31016   
>>>> rl0 10.1.1/24          link#1             UC          0        0    rl0
>>>> 10.1.1.181         00:0f:1f:fb:02:f5  UHLW        1        0    rl0
>>>> 10.1.1.182         00:e0:fc:38:d4:40  UHLW        1        0    rl0
>>>> 10.1.1.183         00:e0:fc:65:07:fd  UHLW        1        0    rl0
>>>> 10.1.1.244         00:50:fc:fe:74:3b  UHLW        2        1    rl0
>>>> 10.1.1.254         00:0c:cf:70:50:06  UHLW        1        0    rl0
>>>> 127.0.0.1          127.0.0.1          UH          0     1117    lo0
>>>> 192.168.1          link#5             UC          0        0   fxp0
>>>> 192.168.1.25       00:05:5d:4d:19:58  UHLW        1        0   fxp0
>>>> 192.168.1.45       00:11:43:b6:a1:55  UHLW        1        0   fxp0
>>>> 192.168.1.71       00:0c:f1:b9:38:50  UHLW        1     1645   fxp0
>>>> 192.168.1.84       00:04:23:af:79:66  UHLW        1        0   fxp0
>>>> 192.168.1.112      00:30:4f:21:3b:8a  UHLW        1        0   fxp0
>>>> 192.168.1.196      00:07:e9:40:1f:c5  UHLW        1        0   fxp0
>>>> 192.168.1.199      00:e0:81:21:28:21  UHLW        1        0   fxp0
>>>> 192.168.1.200      00:30:4f:03:88:03  UHLW        1        0   fxp0
>>>>
>>>>
>>>> when the information I was actually looking for is:
>>>>
>>>> root at brad:0:/usr/home/src/FreeBSD-6/src/usr.bin/netstat# netstat -rnfinet
>>>> Routing tables
>>>>
>>>> Internet:
>>>> Destination        Gateway            Flags    Refs      Use  Netif
>>>> Expire default            10.1.1.244         UGS         0    31016   
>>>> rl0 10.1.1/24          link#1             UC          0        0    rl0
>>>> 127.0.0.1          127.0.0.1          UH          0     1117    lo0
>>>> 192.168.1          link#5             UC          0        0   fxp0
>>>> root at brad:0:/usr/home/src/FreeBSD-6/src/usr.bin/netstat#
>>>>
>>>>
>>>> The attachment patch ("cvs diff -u -rHEAD route.c" generated) prints
>>>> link-layer generated routes when -a is specified and ignores them
>>>> the rest of the time.
>>>>
>>>> Thoughts? POLA violation?
>>> Just use:
>>>
>>> netstat -rn | awk '$3 !~ /L/ { print }'
>> That's exactly the point Eugene, I don't want to find ways to filter it out.
>> It happens frequently. I didn't say it's difficult to remove it, I just don't 
>> want it there all the time. That's why you can use -a to get the old
>> behavior.
> 
> Using simple pipelines with awk and sed, etc. is the UN*X way though.  Instead
> of building all-singing all-dancing programs you build simpler utilities that
> you "glue" together to build more complex behavior.

Yes, when you want do do something "complicated", which doesn't belong in
a single program, that's the way.  But IMO that doesn't apply here.  I agree
with Nikos.  He just wants to limit the often-useless (to most users) output
which is *already* in the program.  Just providing a simple command line option
to get back the full output, if ever needed, seems like a good, simple solution,
to make things easier for us poor humans to scan. :)

Gary






More information about the freebsd-hackers mailing list