Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequence
Roy Marples
Fri Sep 02 13:38:54 2016
Hi Guy
On 01/09/2016 22:58, Guy Yur wrote:
> I tracked it down to rip_ctlinput in raw_ip.c, code added in r22672.
> From the comment, it removes all non-static routes on interface down
> and restores the routes on interface up.
> in_scrub sends the RTM_DELADDR and rtinit sends the RTM_NEWADDR.
That does seem like a silly thing to do.
In NetBSD we mark the address as IN_IFF_DETACHED, the same as for INET6
addresses.
>
> https://svnweb.freebsd.org/base/head/sys/netinet/raw_ip.c?revision=22672&view=markup
>
> This is different from rip_ctlinput in NetBSD.
> Also different from rip6_ctlinput in FreeBSD which
> explains the different behavior between IPv4 and IPv6.
I'd love to know their rationale on being inconsistent :)
But heh ho.
> With new patch, addresses are removed on if down too.
> IPv4 is restored on if up but IPv6 RA addresses are not.
>
> lan0: soliciting an IPv6 router
> lan0: sending Router Solicitation
> lan0: ipv6nd_sendrsprobe: sendmsg: Can't assign requested address
>
> IPv6 addresses are restored correctly for link disconnect/reconnect.
>
> I am running with a patched kernel for FreeBSD bug 195197
> so I don't know if that is the reason for the failure.
> I will test with an unpatched kernel until I finish porting your NetBSD
> fix for the bug. I need to find the correct locking to use in FreeBSD.
I was seeing this yesterday, but I'm not anymore.
I'm running the latest dhcpcd trunk with one important kernel patch.
I'm running a FreeBSD-11.0 snapshot from Feb this year with the below
patches:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194485
https://reviews.freebsd.org/D5469
For the last patch, i also undef IPV6_POLLADDRFLAG
Do you still see it with the latest trunk code?
Roy
Archive administrator: postmaster@marples.name