r239356: does it mean, that synchronous dhcp and dhcplcinet with disabled devd gone?

John Baldwin jhb at freebsd.org
Tue Aug 21 14:52:55 UTC 2012


On Tuesday, August 21, 2012 7:53:08 am Lev Serebryakov wrote:
> Hello, Garrett.
> You wrote 21 августа 2012 г., 15:40:35:
> 
> GC>> Try reverting r239356 -- if that works, then please let jhb@ know.
> LS>   I'm confused by  this commit, because it seems (from comment alone),
> LS> that  dhclient  will not work without devd anymore (with "synchronous
> LS> dhcp" option in rc.conf).
> LS>   Am I right?
>   And if I'm right about understanding what this change does, it is
>  POLA violation for sure. Both consequences: unable to use dhcclient
>  without devd (user will need to restart it by hands after each cable
>  unplugging event) and removing IP address from interface on cable
>  unplugging or other interface down event but before lease is expired.
> 
>   If I'm right in understanding this commit, I vote to back it out and
>  find better solution, may be, two new options: one to remove IP and
>  one to exit on interface down. And default behavior should be OLD
>  ONE about IP address in any case and OLD ONE about exit in case when
>  dhclient isn't started by devd, but by rc scripts directly.

Humm.  devd is the more common case, and we explicitly don't use devd to start 
dhclient on boot even when devd is enabled (so out of the box dhcp would first 
be started by rc, but would be restarted by devd).

Another option is to rework dhclient to work like it does on OpenBSD where it
renews its lease if the link bounces, but to not exit when the link goes down.  
That case would fix the currently broken case that you unplug your cable, take 
your laptop over to another network (e.g. take it home if suspend/resume 
works), then plug it back in and are still stuck with your old IP.

-- 
John Baldwin


More information about the freebsd-current mailing list