On 01/10/15(Thu) 19:00, Daniel Gillen wrote:
> [...] 
> I managed to reproduce the issue and executed the commands you told me.
> 
> # ifconfig pppoe0
> IPv4 address is 80.XX.XX.227
> Autoconfigured IPv6 address is 2001:XX:XX:707:XX:XX:XX:6c3a
> 
> # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009
> Pinging google with that source address works
> 
> # ndp -p
> 2001:XX:XX:707::/64 if=pppoe0
> flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m39s, ref=2
> advertised by
> fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state)
> 
> # route -n show -inet6
> See long version below
> 
> # ndp -r
> fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium,
> expire=29m59s
> 
> Now I simmulated a PPPoE dis-/re-connect (Thx again to Todd for the tip)
> # ifconfig pppoe0 down up
> 
> # ifconfig pppoe0
> New IPv4 address is 85.XX.XX.98
> But now I have 2 autoconfigured IPv6 addresses, the old
> 2001:XX:XX:707:XX:XX:XX:6c3a address and the new
> 2001:XX:XX:7c5:XX:XX:XX:6c3a address.
> 
> # ping6 -c 1 -S 2001:XX:XX:707:XX:XX:XX:6c3a 2a00:1450:4001:806::1009
> # ping6 -c 1 -S 2001:XX:XX:7c5:XX:XX:XX:6c3a 2a00:1450:4001:806::1009
> Pinging google with the old 2001:XX:XX:707::/64 prefix address does not
> work anymore, but the new 2001:XX:XX:7c5::/64 prefix address works.
> 
> # ndp -p
> 2001:XX:XX:7c5::/64 if=pppoe0
> flags=LAD vltime=2592000, pltime=604800, expire=29d23h59m47s, ref=2
> advertised by
> fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state)
> 2001:XX:XX:707::/64 if=pppoe0
> flags=LAD vltime=2592000, pltime=604800, expire=29d23h58m45s, ref=2
> advertised by
> fe80::46d3:caff:fe9c:ef00%pppoe0 (no neighbor state)
> 
> # route -n show -inet6
> Again, see below
> 
> # ndp -r
> fe80::46d3:caff:fe9c:ef00%pppoe0 if=pppoe0, flags=O, pref=medium,
> expire=29m28
> 
> I think the old 2001:XX:XX:707::/64 prefix should be removed as soon as
> the same router (fe80::46d3:caff:fe9c:ef00) advertises a new prefix.
> 
> Or am I getting something wrong here?

I can confirm that our kernel does not remove prefixes if a router stops
to advertise it.  Although it's unclear to me *when* we should remove
this prefix (and the associated autoconf address) except when it expires.

In your use case it seems clear to me that removing a previously
configured address makes sense.  Although this requires some non
trivial code refactoring, so I'd like to hear what others think
about this prior to start coding.

Any comment?

An alternate solution^Whack would be to give higher priority to the
last autoconfigured address, but I'm sure this would have downsides.

Reply via email to