Ctrl-c abort of dhclient during rc.d start aborts all network configuration

Robert Watson rwatson at FreeBSD.org
Wed Aug 31 20:42:59 GMT 2005


On Wed, 31 Aug 2005, Brooks Davis wrote:

> The wait should be 10 seconds plus some startup time.

It seemed a bit longer, but maybe I was counting fast.  I'll time it next 
time and see if there's more going on there.

>> (1) It would be good to configure lo0 first.
>
> Interfaces are configured in order of index by default.  If lo0 were 
> attached sooner, it would be configured sooner.  I'm somewhat tempted to 
> change it from it's current (apparently bogus) position in the startup 
> process at SI_SUB_PROTO_IFATTACHDOMAIN to SI_SUB_INIT_IF/SI_ORDER_ANY 
> and push the l2com attachments from SI_ORDER_ANY to SI_ORDER_MIDDLE. 
> Strictly speaking I think lo(4) should be SI_SUB_PSEUDO, but moving it 
> up so it attached first makes some sense given how critical it is.
>
> Alternativly, one could add code to sort the result of "ifconfig -l" to 
> configure lo0 first.

I wonder if we could sed out lo0 from the automatic list and just 
configure it first by fiat?  While if_loop is in theory optional, it turns 
out not to be very practical using our default boot scripts (since many 
tools assume you can bind 0.0.0.0).

>> (2) If a dhclient is ctrl-c'd, it would be nice if the rest of the network
>>     configuration continued.
>
> I don't see any code in the startup scripts that would cause them to 
> exit on failure so the issue is probalby that the signal is being 
> delivered to the /etc/rc.d/netif instance.  I don't really know what the 
> solution to that is.

Me neither.  All I know is that I don't remember seeing this before.

>> The printing of '.'s in dhclient is also a bit excessive.
>
> Hanging with no output seems even less unhelpful. :( Longer term I want 
> to get rid of syncronous calls to dhclient in the startup process, but I 
> haven't had time to work on it and IMO, it's a bit late in the game for 
> 6.0.

I thought a bit about this, but concluded that we probably still have 
components that assume a one IP (no more, no less) world, and slide by now 
due to luck.  A gradual conversion towards the assumptions of changing IPs 
has been happening over time (vis natd -dynamic), but perhaps we need to 
accelerate it some by forcing the issue in 7.x after 6.0 gets out the 
door?

Robert N M Watson


More information about the freebsd-current mailing list