dhcpcd-discuss

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

Floris Bos

Mon Oct 21 20:54:04 2019

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.


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
Archive administrator: postmaster@marples.name