GNOME Bugzilla – Bug 643414
IPv6 address from SLAAC not flushed when disconnecting (mode=ignore)
Last modified: 2012-05-11 13:24:06 UTC
This is actually a very old bug (see https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/215497). When Network Manager is not doing anything in IPv6 at all (which was the only available method until it gained IPv6 support recently, and is still default in the IPv6-capable 0.8.x series) it does not flush the global address and default route the kernel got on its own (SLAAC/RA) when an interface goes down (wifi out of range, manual disconnect). While this is sort of correct from the NM perspective (it was told to ignore IPv6 and it does so), it causes quite some reachability issues, since address and route are still there. Worse, when you roam from a network to another where both have IPv6 enabled, you end up on the second network with the address of the first one, completely breaking your connectivity. Or maintaing a default route pointing to eth0 when you have disconnected the ethernet cable and roamed to WiFi. NM 0.8.x actually does the correct thing today when it has mode=automatic, but only very few people will use that. I think non-global addresses and routes should be flushed when an interface goes down, regardless of the ipv6 method setting.
IMO the only correct way is to switch to something that is not mode=ignore.
Correct, ignore means "ignore anything to do with IPv6 on this interface". NM simply won't touch IPv6 at all. Changing the mode will make NM start caring.
May I then suggest closing as NOTABUG?
I agree, but maybe mode=automatic should be default for new connections then. Unless it has serious regressions on IPv4-only networks that is.
AFAIK mode=automatic *is* default for new connections. It does have regressions, though.
right, automatic is the default in 0.9.x, so closing