in.c autoadding prefix route

Vladimir Grebenschikov vova at fbsd.ru
Wed Nov 17 08:50:36 PST 2004


В чт, 11/11/2004 в 21:24 +0100, Max Laier пишет: 
> All,
> 
> I know I have sent this a couple of times before, but never got anywhere. This 
> time I am set to commit!
> 
> The attached patch (http://people.freebsd.org/~mlaier/in.c.patch) derived from 
> WIDE via OpenBSD in.c, rev 1.21 improves the handling of automatic prefix 
> routes.
> 
> Right now you can't have two legs into the same network. If you want to, you 
> must give on of the interfaces a host address only (netmask /32). This way it 
> is not possible to hand over the route if one of the interfaces is 
> "removed" (however this is done in the special case).
> 
> The patch allows to add more than on IPv4 address with the same prefix. In the 
> case that there is a route already, we leave it alone and add the new address 
> without the IFA_ROUTE flag. When we remove an address later on, that has a 
> route associated, we try to find an alternative address to use for the route 
> and hand it over.
> 
> This is required for CARP, but should be helpful for other situations as well.
> 
> Any objections?

This change actually broke one simple thing:

# ifconfig lo0 alias 10.0.16.111/32
# ping 10.0.16.111
PING 10.0.16.111 (10.0.16.111): 56 data bytes
ping: sendto: No route to host
^C
#

You should (anyway should) add routing of interface address itself to
loop-back interface, like it usually done in all other cases.

Please fix.

-- 
Vladimir B. Grebenchikov
vova at fbsd.ru


More information about the freebsd-net mailing list