Date: Sun, 07 Aug 2022 23:23:37 +0900 (JST) From: Hiroki Sato <hrs@FreeBSD.org> To: woodsb02@freebsd.org Cc: freebsd-net@freebsd.org, emaste@freebsd.org, roy@marples.name, brooks@freebsd.org, cy@freebsd.org, philip@freebsd.org, hrs@FreeBSD.org Subject: Re: Import dhcpcd(8) into FreeBSD base Message-ID: <20220807.232337.383956020917382126.hrs@FreeBSD.org> In-Reply-To: <e401671f-6a67-49ed-bc41-e8fbb9de27cb@www.fastmail.com> References: <e401671f-6a67-49ed-bc41-e8fbb9de27cb@www.fastmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
"Ben Woods" <woodsb02@freebsd.org> wrote
in <e401671f-6a67-49ed-bc41-e8fbb9de27cb@www.fastmail.com>:
wo> If accepted, I would recommend a phased implementation such as that
wo> suggested below - open to ideas.
wo>
wo> - 14.0 (and perhaps 13.2) - dhcpcd included but off by default
wo> - (WITH_DHCPCD=on, but rc.conf/network.subr continue to use
wo> - dhclient/rtsold). Release notes list forward plan.
While I have no objection (or rather agree with) importing a client,
replacing the existing dhclient and rtsold would be a destructive
change from the user's perspective. I would suggest the following:
1) Import dhcpcd and make it invoked via Other Configuration flag
in RA for DHCPv6. This means that the rtsold daemon remains a
consumer of RA messages, and the default value of the -O option is
set to run dhcpcd.
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.
The dhcpcd daemon can handle various protocols of IPv4/IPv6 and watch
multiple interfaces, so the suggestions above might sound like an
underestimation of the capability. I am concerned that changes to
replacing dhclient/rtsold will break the existing configurations.
Especially for IPv4, dhclient is mature, and many people have used
custom dhclient.conf and dhclient-script for years. I believe we
will get little gain from such change.
In 1)+2), there is no POLA for users of other DHCPv6 clients such as
dhcp6c or ISC's dhclient -6. A full-blown dhcpcd configuration,
which replaces dhclient/rtsold, is still possible. The cons are that
this is a partial integration of dhcpcd, which prevents some useful
feature available in the master mode, and some complexity remains in
the rc.d scripts. I think these are a trade-off. I am interested in
whether this integration has a big problem when people use the
imported dhcpcd.
And probably we have to revisit this integration when we want to
support DHCP 4o6 or something that involves IPv4 and IPv6 at the same
time. The flexibility of the "toolbox" approach would be helpful in
minimizing the impact on the existing configurations when more future
integration change occurs.
wo> I should point out that I have a ports commit bit - not src. If
wo> accepted, I¢d either need a src committer to land it, or approve me
wo> committing (via phabricator).
wo>
wo> https://reviews.freebsd.org/D22012
wo> https://github.com/NetworkConfiguration/dhcpcd
I am happy to help in this regard.
-- Hiroki
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
iMoEABMKAC4WIQRsDSNTJ8+Ax5Ae/dLbsH3Gbx9zfwUCYu/K6RAcaHJzQGZyZWVi
c2Qub3JnAAoJENuwfcZvH3N/wBgCCQHXqWSyxx2OmXV0ezOMMiSSLq3Jwh9QUYDA
5pvs+uFgKcfD8j3Kl7aLoWJjNtJ2lQwULjLgG5OWDFd26lD3QAinvwIJAZurEtnH
aD3rzWtEqRTujIU0acubGKGLzrFhnbn0xAd4Cn9lp9alYAzbwjhaZBo76Sdx+G3u
bsOEg5Xpu6IqIQQw
=3zqU
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20220807.232337.383956020917382126.hrs>
