dhcpcd-discuss

Re: dhcpcd 7.1.1 (and 7.2.0) time out on boot

Stuart Henderson

Thu Apr 25 14:52:21 2019

On 2019/04/25 10:16, Matt Horan wrote:
> On Thu, Apr 25, 2019 at 02:33:34PM +0100, Roy Marples wrote:
> > On 25/04/2019 14:18, Matt Horan wrote:
> > > On Thu, Apr 25, 2019 at 02:06:46PM +0100, Roy Marples wrote:
> > >> Well, dhcpcd is meant to handle everything.
> > >> But if you want to continue using slaacd or something else that causes a
> > >> PHY reset (which can trigger carrier loss) you still can!
> > >>
> > >> Send dhcpcd right to the background with the -b flag OR start it in
> > >> master mode (ie don't specify an interface on the command line) and use
> > >> the allowinterfaces directive instead to limit the interfaces dhcpcd uses.
> > > 
> > > Interesting. I am using the second option. The rc.d script starts dhcpcd
> > > with -Mq and no interface is specified. I snipped the allowinterfaces
> > > from my dhcpcd.conf, but that's in there too.
> > > 
> > > Here was the non-working dhcpcd.conf in its entirety:
> > > 
> > > option rapid_commit
> > > 
> > > allowinterfaces em0 em1
> > > ipv6only
> > > 
> > > nohook resolv.conf
> > > 
> > > noipv6rs
> > > interface em0
> > >      ipv6rs
> > >      ia_pd 0 em1/0
> > > 
> > > So perhaps something else is going wrong?
> > 
> > Hmmm, well in this case, dhcpcd should still continue fine and recover 
> > from carrier loss.
> > 
> > Saying that, there were a few fixes to link detection between the dhcpcd 
> > versions you mentioned, but to be fair I only tested this on NetBSD. 
> > There's no reason why they are not applicable to the other BSD's, but I 
> > cannot easily test that on my OpenBSD vm right now.
> > 
> > Does dhcpcd recover from carrier loss?
> 
> It doesn't seem so. After the first reboot I waited over a minute and
> dhcpcd never got a lease. When I restarted dhcpcd it got a lease
> immediately.
> 
> I do see that dhcpcd forks to the background, so it should still be
> running, but seems to not detect that carrier has returned. IPv4 works
> fine during the entire process, so I believe the interface is still up.
> 
> > Does OpenBSD announce interface down/up via route monitor correctly?
> 
> I'm not sure. Since this only happens on boot I'll have to wire
> something up to capture this when it happens. I haven't been able to
> reproduce after boot.
> 
> Thanks,
> 
> -- 
> Matt Horan matt@xxxxxxxxxxxxx https://matthoran.com/
> 

You should be able to add '!route -n monitor &' to an /etc/hostname.* file
and pick up the output on the console with 'dmesg -s', alternatively use
'!route -n monitor | logger -t route &' and pick it up from syslog.


References:
dhcpcd 7.1.1 (and 7.2.0) time out on bootMatt Horan
Re: dhcpcd 7.1.1 (and 7.2.0) time out on bootMatt Horan
Re: dhcpcd 7.1.1 (and 7.2.0) time out on bootRoy Marples
Re: dhcpcd 7.1.1 (and 7.2.0) time out on bootMatt Horan
Re: dhcpcd 7.1.1 (and 7.2.0) time out on bootRoy Marples
Re: dhcpcd 7.1.1 (and 7.2.0) time out on bootMatt Horan
Archive administrator: postmaster@marples.name