Re: Correct behavior for IPv6 RA selection?



On Sat, 2013-01-19 at 10:38 -0600, Martin Jackson wrote:
> 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.

This behavior is currently expected, but your point is well taken and
the current behavior should be changed to ensure that failover with
multiple IPv6 routers on the same link is not broken.  We'll need a bit
more developer discussion on whether NM should be adding static routes
for each router (with the appropriate metric based on which interface NM
sets as default/primary) or something else.

The reason NM adds a static default route is for the case of multiple
connected IPv6 interfaces.  The two interfaces may be connected to
different networks, and those two networks are unlikely to be
coordinated, and so the RAs may have similar or conflicting priorities.
In this situation, NM can automatically pick an interface as the
"default" one, or the user can override this choice with "Only use this
connection for resources on its network" in which case NM should ensure
that there is *no* default route on that interface, even if the router
says it should be one.  Which would imply deleting the kernel-provided
default routes or ensuring the kernel doesn't add them (because the user
asked NM to).

Dan

> 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,
> 




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