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