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