Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Aug 2022 09:46:36 +0100
From:      Roy Marples <roy@marples.name>
To:        "Bjoern A. Zeeb" <bz@FreeBSD.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Import dhcpcd(8) into FreeBSD base
Message-ID:  <42806dc8-e030-b4fb-73f2-f978ae8cd21c@marples.name>
In-Reply-To: <alpine.BSF.2.00.2208081552160.68830@ai.fobar.qr>
References:  <e401671f-6a67-49ed-bc41-e8fbb9de27cb@www.fastmail.com> <20220807.232337.383956020917382126.hrs@FreeBSD.org> <64e22fba-3f34-a419-2e51-7dfa21199919@marples.name> <alpine.BSF.2.00.2208081552160.68830@ai.fobar.qr>

next in thread | previous in thread | raw e-mail | index | archive | help
On 08/08/2022 17:43, Bjoern A. Zeeb wrote:
>>>   2) Keep the dhclient utility intact and add a knob to choose dhclient
>>>      or dhcpcd (or something else) for DHCPv4.  The current rc.d
>>>      scripts for DHCPv4 can be adjusted to use another client
>>>      supporting a per-interface mode.
>>
>> I would argue that having knobs to control dhcpcd (or any other similar 
>> network tool for that matter) in rc.conf per interface is a bad idea because 
>> this discourages running dhcpcd in manager mode. You even note this below, but 
>> here are some more comments.
> 
> FreeBSD since we last time changed dhclient have had a very liberal way of
> allowing users to choose while still providing a default.  These things never
> go without hiccups.
> 
> I believe what some of us actually have a problem with is (a) the actual
> way this is integrated into the rc framework and (b) to some extend that
> the original proposal indicates to possibly remove the current defaults
> (soon).  We've lived with these things for 2 decades and throwing everything
> out over night and replacing it doesn't work for (some of) us.
> 
> I see some benefits of it but I also see a lot of drawback in the
> one-thing-fits-all approach.  It's not the UNIX philosophy.

So you're arguing that ifconfig(8) does not follow UNIX philosohy?

The scope of dhcpcd is automated network configuration.
The scope if ifconfig is manual (or static) link setup AND network configuration.

dhcpcd handles DHCP and DHCPv6 (also handles ND/RA).
ifconfig handles INET and INET6 (also handles link creation and such as bridge).

I think that dhcpcd does follow the UNIX philosophy of having a best in class 
tool to do a specific job.

But this is course is a matter of personal opinion where there is no good answer.
See FreeBSD's ping6(8) BUGS for mor debate about this.
dhcpcd's rationale is that DHCP and DHCPv6 actually share quite a chunk of 
common code.

> 
> *Personally* for a decade++ I've been running IPv6-only systems, I have a branch
> somewhere where I started to work through the entire base system to make things
> compile if they lack IPv4 header(s) or bits thereof.  I *personally* see very
> little gain from importing new IPv4 code which replaces something which worked
> well for a looong time providing close to no new benefits (and I emphasize the
> personally as I do understand and accept that IPv4 is very important thing to
> a lot of people and business still and that it needs to be maintained and
> supported for those in need).
> 
> At the same time I agree that integration on the IPv6 side of FreeBSD lacks
> behind and I do see the advantages of an intertwined RS/RA/DHCPv6 solution
> though for a lot of situations the split solution will be "just fine" as the
> real challanges come with the integration of other services or other missing
> bits we simply haven't done.
> 
> I was hoping this proposal would help solve two problems not just replacing
> X and Y for Z.

It is possible compile dhcpcd for INET6 and DHCPv6 only.
You can even go the other way and do DHCP only.
There are a few other compile knobs to save on size so dhcpcd can fit on boot 
floppies.

Roy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42806dc8-e030-b4fb-73f2-f978ae8cd21c>