Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Feb 2006 11:32:54 +0200
From:      Nikos Vassiliadis <nvass@teledomenet.gr>
To:        Giorgos Keramidas <keramida@ceid.upatras.gr>
Cc:        freebsd-hackers@freebsd.org, Gary Corcoran <gcorcoran@rcn.com>, Eugene Grosbein <eugen@kuzbass.ru>
Subject:   Re: (feature change request) remove link-layer generated routes	from netstat -r
Message-ID:  <200602241132.54728.nvass@teledomenet.gr>
In-Reply-To: <20060223182412.GA33297@flame.pc>
References:  <200602221550.17842.nvass@teledomenet.gr> <43FDED8A.90208@rcn.com> <20060223182412.GA33297@flame.pc>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 23 February 2006 20:24, Giorgos Keramidas wrote:
> On 2006-02-23 12:14, Gary Corcoran <gcorcoran@rcn.com> wrote:
> >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@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@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@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. :)
>
> How about making the new behavior non-default, i.e. toggled by a -s
> switch to the netstat -r command?
>
>         % netstat -rs
>
> Then 's' can stand for 'short' output, and everyone can experiment with
> the new feature.  Then, after a couple of minor releases, if we find
> that this is a feature that is very often used, we can make it the
> default.

That would be a well balanced compromise. I can live with it.

>
> - Giorgos




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602241132.54728.nvass>