Re: IPv6 across suspend / resume -- who is responsible for flushing?
Michael Richardson <mcr@sandelman.ca> writes:
> I suspended my laptop from my home (wifi) network which has native IPv6.
> I resume it on the VIA train which does not have any IPv6.
>
> I still have the prefix from home, so my laptop thinks it should still
> use it. I could turn the lifetime in the RA down a bunch, but that
> seems wrong.
>
> marajade-[~] mcr 10013 %sudo ip -6 addr show
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
> inet6 ::1/128 scope host
> valid_lft forever preferred_lft forever
> 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
> inet6 2607:f0b0:f:4:205:4eff:fe4a:55da/64 scope global dynamic
> valid_lft 85432sec preferred_lft 13432sec
> inet6 fe80::205:4eff:fe4a:55da/64 scope link
> valid_lft forever preferred_lft forever
>
> Whose fault is this? Should the kernel aggressively do RS' when it
> resumes? Should some userspace thing run rdisc6 upon resume?
> Should the kernel flush IPv6 routes when the essid is changed?
> Should NetworkManager be doing this?
I have regularily been doing something similar for years without any
such problem. I suspend my laptop at home where I do have IPv6 and
resume it at work where I don't have IPv6. Now I don't use
NetworkManager, but when wpa_supplicant associates with a new network, I
get something like this in the kernel log:
[273590.424781] wlan0: associated
[273590.431735] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[273601.240056] wlan0: no IPv6 routers present
with or without the last line depending on RA availability. Which is
what I would expect on any network link change, wlan or fixed. It just
works.
> I'm running squeeze, with 2.6.32-bpo.5-686. (because I got here upgrade
> From lenny+backports)
I'm running a squeeze kernel:
Linux nemi 2.6.32-5-amd64 #1 SMP Wed May 4 22:04:54 UTC 2011 x86_64 GNU/Linux
but I doubt that should make any difference.
Bjørn
Reply to: