dhcpcd-discuss

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

Follow-Ups:
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceGuy Yur
References:
dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceGuy Yur
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceRoy Marples
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceGuy Yur
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceRoy Marples
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceGuy Yur
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceRoy Marples
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceRoy Marples
Re: dhcpcd 6.11.3 core dumps on FreeBSD with link disconnect/connect sequenceGuy Yur
Archive administrator: postmaster@marples.name