Correct behavior for IPv6 RA selection?



I have several machines on a couple of different VLANs (same physical
interface) doing IPv4 and IPv6 DHCP.  I have two vm's running Quagga on
Ubuntu 12.10 doing router advertisements with different preferences set.
(Host 741e is advertising a "high" preference RA, b6dc is offering
"medium" preference).

I see that recently there was an issue and a fix for n-m making cache
routes permanent in the IPv6 routing table on the client.  I believe
there may also be an issue with n-m creating a static route in the
presence of multiple devices advertising RAs.

I have Windows 7, Ubuntu 12.10 (with n-m), Fedora 18 (with n-m).

My question relates to the "static metric 1" route to one of these
routers.  I believe that it is incorrect for n-m to add this, as this
static route does not disappear when its advertising router goes away,
and hinders failover to the surviving router.

Here is my IPv6 route table from one of my Ubuntu clients:

2001:470:79::14:123 via fe80::5054:ff:fe9c:741e dev wlan0  proto static
metric 1024 
2001:470:bd11:4::2749:6f83 dev wlan0  proto kernel  metric 256 
2001:470:bd11:4::/64 dev wlan0  proto kernel  metric 256  expires
2592321sec
2001:470:d8d3:1::1 via fe80::5054:ff:fe9c:741e dev wlan0  proto static
metric 1024 
2600:3c03::f03c:91ff:fedf:9b84 via fe80::5054:ff:fe9c:741e dev wlan0
proto static  metric 1024 
2607:f0d0:2001:de::add via fe80::5054:ff:fe9c:741e dev wlan0  proto
static  metric 1024 
fe80::/64 dev wlan0  proto kernel  metric 256 
default via fe80::5054:ff:fe64:aad0 dev wlan0  proto static  metric 1 
default via fe80::5054:ff:fe64:aad0 dev wlan0  proto kernel  metric 1024
expires 2sec
default via fe80::5054:ff:fe9c:741e dev wlan0  proto kernel  metric 1024
expires 9sec


Here is my IPv6 route table from my Fedora 18 client:

2001:470:bd11:5::2884:2eff dev eth0  proto kernel  metric 256 
2001:470:bd11:5::/64 dev eth0  proto kernel  metric 256  expires
2591995sec
fe80::/64 dev eth0  proto kernel  metric 256 
default via fe80::5054:ff:fe01:b6dc dev eth0  proto static  metric 1 
default via fe80::5054:ff:fe01:b6dc dev eth0  proto ra  metric 1024
expires 7sec
default via fe80::5054:ff:fe2f:62c2 dev eth0  proto ra  metric 1024
expires 4sec

Finally, here is the route table from my non-nm Ubuntu raring client.  I
believe this displays the correct behavior:

2001:470:bd11:5::/64 dev eth0  proto kernel  metric 256  expires
2591993sec
fe80::/64 dev eth0  proto kernel  metric 256 
default via fe80::5054:ff:fe01:b6dc dev eth0  proto ra  metric 1024
expires 5sec
default via fe80::5054:ff:fe2f:62c2 dev eth0  proto ra  metric 1024
expires 2sec

The windows client does not add a static route, and also shows different
metrics (preferring the router with the higher advertised preference).

I am open to the idea that I am incorrect about how the kernel and n-m
should handle IPv6 default routes, but I believe the addition of the
static route is a bug in n-m.  Since v6 is kind of new, and since I can
observe this behavior in two different distributions, I thought it might
be worthwhile to bring it up on this list to see if it is really that
clear-cut.

Thanks,

-- 
__
Martin Jackson



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]