dhcpcd-discuss

Re: Not getting IPv6 link local address when link carrier goes up -> down -> up

Floris Bos

Tue Oct 22 11:21:09 2019

On 22/10/2019 09:56, Roy Marples wrote:
On 21/10/2019 21:56, Floris Bos wrote:
On 21/10/2019 12:33, Roy Marples wrote:
On 20/10/2019 23:04, Floris Bos wrote:
Played a bit with adding a couple more debug logging statements to the code.


The problem seems to be that after the link local address is added, the kernel eventually sends you a RTM_NEWADDR event. Upon receipt of the event you add the IPv6 address to your state->addrs list. After it gets removed the kernel eventually sends a RTM_DELADDR and you remove it again from the list.

The problem is that those events arrive delayed, and we are hitting a situation in which the RTM_NEWADDR event is not delivered until after the address has been deleted. And RTM_DELADDR is even lagging further behind.

Since state->addr still has the address in the list, ipv6_tryaddlinklocal() thinks there is already a link local address, so does no attempt to add one.

Does this patch help at all?


No difference.

OK ..... try this one instead :)
Remove the prior one please first.


Yes, I now do have an IPv6 LL address.


Yours sincerely,

Floris Bos


Follow-Ups:
Re: Not getting IPv6 link local address when link carrier goes up -> down -> upRoy Marples
References:
Not getting IPv6 link local address when link carrier goes up -> down -> upFloris Bos
Re: Not getting IPv6 link local address when link carrier goes up -> down -> upFloris Bos
Re: Not getting IPv6 link local address when link carrier goes up -> down -> upRoy Marples
Re: Not getting IPv6 link local address when link carrier goes up -> down -> upFloris Bos
Re: Not getting IPv6 link local address when link carrier goes up -> down -> upRoy Marples
Archive administrator: postmaster@marples.name