Date: Thu, 7 Feb 2008 13:50:41 +0300 From: Yuri Pankov <yuri.pankov@gmail.com> To: freebsd-sparc64@freebsd.org, freebsd-net@freebsd.org Subject: Re: Confusing `netstat -rn` output on 7.0-RC1 Message-ID: <20080207105041.GA54305@sparkie.irbis.net.ru> In-Reply-To: <20080201133020.GA83907@sparkie.irbis.net.ru> References: <20080201133020.GA83907@sparkie.irbis.net.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--RnlQjJ0d97Da+TV1 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline (sorry for cross-posting) On Fri, Feb 01, 2008 at 04:30:21PM +0300, Yuri Pankov wrote: > Hi, > > `netstat -rn` on 7.0-RC1/sparc64 shows 0.0.0.0 instead of actual network > numbers, while those networks are accessible. > > > ifconfig > dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=8<VLAN_MTU> > ether 00:03:ba:14:e8:65 > inet 192.168.0.252 netmask 0xffffff00 broadcast 192.168.0.255 > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=8<VLAN_MTU> > ether 00:03:ba:14:e8:65 > inet 10.106.0.3 netmask 0xffffff00 broadcast 10.106.0.255 > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 > inet6 ::1 prefixlen 128 > inet 127.0.0.1 netmask 0xff000000 > vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > ether 00:03:ba:14:e8:65 > inet 10.7.12.254 netmask 0xffffff00 broadcast 10.7.12.255 > media: Ethernet autoselect (100baseTX <full-duplex>) > status: active > vlan: 301 parent interface: dc1 > > > netstat -rn > Routing tables > > Internet: > Destination Gateway Flags Refs Use Netif Expire > 0.0.0.0/24 link#4 UC 0 0 vlan0 > 0.0.0.0/24 link#2 UC 0 0 dc1 > 127.0.0.1 127.0.0.1 UH 0 0 lo0 > 0.0.0.0/24 link#1 UC 0 0 dc0 > 192.168.0.7 00:16:e0:25:c5:e1 UHLW 1 0 dc0 878 > > > Is it a known problem (or, may be, PEBKAC case)? > > > TIA, > Yuri Attached patch fixes the problem for me. Yuri --RnlQjJ0d97Da+TV1 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="netstat.diff" diff -ruN /usr/src/usr.bin/netstat/netstat.h /home/yuri/tmp/netstat/netstat.h --- /usr/src/usr.bin/netstat/netstat.h 2007-07-16 21:15:55.000000000 +0400 +++ /home/yuri/tmp/netstat/netstat.h 2008-02-07 13:37:04.000000000 +0300 @@ -124,7 +124,7 @@ void upHex(char *); char *routename(u_long); -char *netname(u_long, u_long); +char *netname(in_addr_t, u_long); char *atalk_print(struct sockaddr *, int); char *atalk_print2(struct sockaddr *, struct sockaddr *, int); char *ipx_print(struct sockaddr *); diff -ruN /usr/src/usr.bin/netstat/route.c /home/yuri/tmp/netstat/route.c --- /usr/src/usr.bin/netstat/route.c 2007-11-13 01:43:29.000000000 +0300 +++ /home/yuri/tmp/netstat/route.c 2008-02-07 13:43:42.000000000 +0300 @@ -840,7 +840,7 @@ * The address is assumed to be that of a net or subnet, not a host. */ char * -netname(u_long in, u_long mask) +netname(in_addr_t in, u_long mask) { char *cp = 0; static char line[MAXHOSTNAMELEN]; @@ -859,7 +859,7 @@ strncpy(line, cp, sizeof(line) - 1); line[sizeof(line) - 1] = '\0'; } else { - inet_ntop(AF_INET, (char *)&in, line, sizeof(line) - 1); + inet_ntop(AF_INET, &in, line, sizeof(line) - 1); } domask(line + strlen(line), i, mask); return (line); --RnlQjJ0d97Da+TV1--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080207105041.GA54305>