From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 24 09:36:28 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 73B9C16A420; Fri, 24 Feb 2006 09:36:28 +0000 (GMT) (envelope-from nvass@teledomenet.gr) Received: from matrix.teledomenet.gr (dns1.teledomenet.gr [213.142.128.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F46D43D45; Fri, 24 Feb 2006 09:36:27 +0000 (GMT) (envelope-from nvass@teledomenet.gr) Received: from iris ([192.168.1.71]) by matrix.teledomenet.gr (8.12.10/8.12.10) with ESMTP id k1O9aOuq010842; Fri, 24 Feb 2006 11:36:24 +0200 From: Nikos Vassiliadis To: Giorgos Keramidas Date: Fri, 24 Feb 2006 11:32:54 +0200 User-Agent: KMail/1.8.3 References: <200602221550.17842.nvass@teledomenet.gr> <43FDED8A.90208@rcn.com> <20060223182412.GA33297@flame.pc> In-Reply-To: <20060223182412.GA33297@flame.pc> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200602241132.54728.nvass@teledomenet.gr> Cc: freebsd-hackers@freebsd.org, Gary Corcoran , Eugene Grosbein Subject: Re: (feature change request) remove link-layer generated routes from netstat -r X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Feb 2006 09:36:28 -0000 On Thursday 23 February 2006 20:24, Giorgos Keramidas wrote: > On 2006-02-23 12:14, Gary Corcoran 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