How to bind a route to a network adapter and not IP

Hans Petter Selasky hselasky at c2i.net
Mon Jun 18 16:33:50 UTC 2012


On Monday 18 June 2012 00:00:51 H wrote:
> sthaug at nethelp.no wrote:
> >>> I loose packets because I use a WLAN adapter. Sometimes the link is
> >>> down for various reasons, and then the routes start changing for
> >>> manually created routes, and I want to prevent that.
> >> 
> >> well that is certainly not a reason for changing routes
> >> 
> >> I have the feeling you are not explaining good enough what really is
> >> going on and it may help sending your configurations and an example of
> >> routes and IP addresses before and after this route change
> > 
> > Why is this so hard to understand? "Link down" leads to "static route
> > is deleted". This is standard FreeBSD behavior, and has been this way
> > for as long as I can remember (btw, I believe this behavior is from
> > the original BSD, not FreeBSD specific).
> > 
> > You can show this by having a static default route pointing to an
> > address on an Ethernet interface which has link. And then pulling the
> > TP cable from the Ethernet interface. Observe that the default route
> > is automatically removed.
> 
> may be you have not understood your own problem yet
> 
> because so far is nothing to be understood because none of your
> statements is correct, it is also not FreeBSD's standard behavior and
> never has been
> 
> as long as there is the valid IP address on the related interface, no
> static route will be deleted, you can even boot without cable and the
> [default] static route is there
> 
> so you need to explain better your problem in order to understand it
> 
> probably you have some other stuff running, thirdparty network manager
> or something, incorrect or incomplete ppoe or dhc configuration or
> whatever leads to the problem
> 
> FYI static routes usually are the manually configured routes, so what
> you say is redundant and not correct, I guess you're loosing some kind
> of dynamic route
> 
> since WL networks usually do not run RIP/OSPF/BGP I guess the route you
> apparently loose is coming from some dhcp server and may be your
> dhclient configuration is incomplete or none existent, but here now it
> would be useful to see your config

Hi,

I think we need to distinguish between two matters. One is where the route is 
directly reachable on the local-net of the network adapter, and ARP is 
valid/responding. The second case is when the route is not directly reachable. 
The second case is where the problem happens, like Stian kindly explained.

# For example:

ifconfig wlan0 10.0.0.2 255.255.255.0 up

# Assume the router is at 10.0.0.1
# And we want to reach a certain destination through 10.0.0.1
# Then we do:

route add 10.22.1.1 10.0.0.1

#
# First the FreeBSD network stack will resolve the ethernet address for
# 10.0.0.1, and all 10.22.1.1 IP packets will get sent to 10.0.0.1.
#

However, if the wlan0 link goes down, which sometimes happen, then the route 
for 10.22.1.1 is deleted. This is sometimes very annoying, and also, if it 
happens that the 10.22.1.1 is reachable from another network adapter, then 
traffic sometimes can end up mis-routed.

--HPS


More information about the freebsd-stable mailing list