Subject: strange routing behavior: wrong route picked
To: None <tech-net@netbsd.org, tech-kern@netbsd.org>
From: Tad Hunt <tad@entrisphere.com>
List: tech-kern
Date: 11/05/2002 16:54:47
I've attached what I think is the relevant output below.
Notice the route for 192.168.1.1, which should be reachable via
interface tun8. For some reason that I cannot fathom, "route get
192.168.1.1" tells me that it's using the default route out the
"fe0" interface, instead of the the more specific route (which
appears to be marked UP) as far as I can tell.
According to route(4), the most specific route should be picked:
"When routing a packet, the kernel will attempt to find the
most specific route matching the destination. (If there are
two different mask and value-under-the-mask pairs that match,
the more specific is the one with more bits in the mask. A
route to a host is regarded as being supplied with a mask of
as many ones as there are bits in the destination). If no
entry is found, the destination is declared to be unreachable,
and a routing-miss message is generated if there are any
listers on the routing control socket described below.
Does anyone have any idea what is happening here?
If additional information would be helpful, let me know and I'll provide
it!
Background:
* I'm running gated(8)
* I seem to notice this problem after bringing an interface down
and back up. It works correctly after the interface comes
up the first time. The "route get" starts returning the wrong route
after the interface goes down and comes back up.
Thanks,
-Tad
----------------------------------------------------------------------
# ifconfig tun8
tun8: flags=51<UP,POINTOPOINT,RUNNING> mtu 576
inet 192.168.1.2 -> 192.168.1.1 netmask 0xffffffff
#
# netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Mtu Interface
default 192.168.167.1 UGS 2 2194 1500 fe0
127 127.0.0.1 UR 0 0 33228 lo0
127.0.0.1 127.0.0.1 UH 1 3 33228 lo0
192.168.1.1 192.168.1.2 UH 0 0 576 tun8
192.168.1.2 127.0.0.1 UGH 0 3 33228 lo0
192.168.167 link#1 UC 0 0 1500 fe0
192.168.167.1 00:01:30:1e:4d:c0 UHL 1 0 1500 fe0
#
# route get 192.168.1.1
route to: 192.168.1.1
destination: default
mask: default
gateway: 192.168.167.1
local addr: fab1318.int.entrisphere.com
interface: fe0
flags: <UP,GATEWAY,DONE,STATIC>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
#