Date: Sun, 07 Aug 2022 13:31:42 +0800 From: "Ben Woods" <woodsb02@freebsd.org> To: freebsd-net@freebsd.org Cc: emaste@freebsd.org, roy@marples.name, hrs@freebsd.org, brooks@freebsd.org, cy@freebsd.org, "Philip Paeps" <philip@freebsd.org> Subject: Import dhcpcd(8) into FreeBSD base Message-ID: <e401671f-6a67-49ed-bc41-e8fbb9de27cb@www.fastmail.com>
next in thread | raw e-mail | index | archive | help
--4ac2e87f860c42b1a90fd5385279aaf3 Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi freebsd-net, I would like to propose dhcpcd is imported into FreeBSD base. Reason: ensure fresh installs of FreeBSD support using DHCPv6 and prefix= delegation to obtain an IP address (not supported by dhclient or rtsold= ). Having it in ports/packages could be problematic if people cannot obt= ain an IPv6 address to download it. Why dhcpcd vs other DHCPv6 clients? It=E2=80=99s well supported, full fe= atured, included in NetBSD and DragonflyBSD base, and is now sandboxed w= ith capsicum. The other DHCP clients tend to either not support DHCPv6 (= dhcpleased) or are no longer actively maintained (wide-dhcpv6-client). For those not familiar with dhcpcd, it=E2=80=99s a DHCP client, not serv= er. It can be run either in master mode (single instances manages DHCPv4= and DHCPv6 on all available network interfaces unless disabled in confi= g), or single interface mode if preferred. This was discussed once before on this mailing list in 2019, and I=E2=80= =99ve had a review open on phabricator for a few years. The main technic= al concern raised (capsicum sandboxing) was resolved upstream with the d= hcpcd 9.1.0 release in May 2020. What is perhaps missing is the broader = community agreement of the change and forward plan. If accepted, I would recommend a phased implementation such as that sugg= ested below - open to ideas. - 14.0 (and perhaps 13.2) - dhcpcd included but off by default (WITH_DHC= PCD=3Don, but rc.conf/network.subr continue to use dhclient/rtsold). Rel= ease notes list forward plan. - 14.1 - switch defaults in rc.conf/network.subr to use dhcpcd instead o= f dhclient/rtsold. Subject to any issues being addressed prior. Release = notes could list deprecation of dhclient/rtsold - this deprecation step = could be done slower if desired. - 15.0 - remove dhclient/rtsold - again, could be done slower if desired. I=E2=80=99d be keen to hear the thoughts of the community. If you want t= o try out dhcpcd today, it=E2=80=99s available in ports/packages. I should point out that I have a ports commit bit - not src. If accepted= , I=E2=80=99d either need a src committer to land it, or approve me comm= itting (via phabricator). https://reviews.freebsd.org/D22012 https://github.com/NetworkConfiguration/dhcpcd Regards, Ben -- From: Ben Woods woodsb02@freebsd.org --4ac2e87f860c42b1a90fd5385279aaf3 Content-Type: text/html;charset=utf-8 Content-Transfer-Encoding: quoted-printable <!DOCTYPE html><html><head><title></title><style type=3D"text/css">p.Mso= Normal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hi freebsd-net,= <br></div><div><br></div><div>I would like to propose dhcpcd is imported= into FreeBSD base.<br></div><div><br></div><div>Reason: ensure fresh in= stalls of FreeBSD support using DHCPv6 and prefix delegation to obtain a= n IP address (not supported by dhclient or rtsold). Having it in ports/p= ackages could be problematic if people cannot obtain an IPv6 address to = download it.<br></div><div><br></div><div>Why dhcpcd vs other DHCPv6 cli= ents? It=E2=80=99s well supported, full featured, included in NetBSD and= DragonflyBSD base, and is now sandboxed with capsicum. The other DHCP c= lients tend to either not support DHCPv6 (dhcpleased) or are no longer a= ctively maintained (wide-dhcpv6-client).<br></div><div><br></div><div>Fo= r those not familiar with dhcpcd, it=E2=80=99s a DHCP client, not server= . It can be run either in master mode (single instances manages DHC= Pv4 and DHCPv6 on all available network interfaces unless disabled in co= nfig), or single interface mode if preferred.<br></div><div><br></div><d= iv>This was discussed once before on this mailing list in 2019, and I=E2= =80=99ve had a review open on phabricator for a few years. The main tech= nical concern raised (capsicum sandboxing) was resolved upstream with th= e dhcpcd 9.1.0 release in May 2020. What is perhaps missing is the broad= er community agreement of the change and forward plan.<br></div><div><br= ></div><div>If accepted, I would recommend a phased implementation such = as that suggested below - open to ideas.<br></div><div><br></div><div>- = 14.0 (and perhaps 13.2) - dhcpcd included but off by default (WITH_DHCPC= D=3Don, but <a href=3D"http://rc.conf/network.subr">rc.conf/network.subr= </a> continue to use dhclient/rtsold). Release notes list forward p= lan.<br></div><div><br></div><div>- 14.1 - switch defaults in <a href=3D= "http://rc.conf/network.subr">rc.conf/network.subr</a> to use dhcpc= d instead of dhclient/rtsold. Subject to any issues being addressed prio= r. Release notes could list deprecation of dhclient/rtsold - this deprec= ation step could be done slower if desired.<br></div><div><br></div><div= >- 15.0 - remove dhclient/rtsold - again, could be done slower if desire= d.<br></div><div><br></div><div>I=E2=80=99d be keen to hear the thoughts= of the community. If you want to try out dhcpcd today, it=E2=80=99s ava= ilable in ports/packages.<br></div><div><br></div><div>I should point ou= t that I have a ports commit bit - not src. If accepted, I=E2=80=99d eit= her need a src committer to land it, or approve me committing (via phabr= icator).<br></div><div><br></div><div><a href=3D"https://reviews.freebsd= .org/D22012">https://reviews.freebsd.org/D22012</a><br></div><div><a hre= f=3D"https://github.com/NetworkConfiguration/dhcpcd">https://github.com/= NetworkConfiguration/dhcpcd</a></div><div><br></div><div>Regards,<br></d= iv><div>Ben<br></div><div><br></div><div id=3D"sig109366288"><div class=3D= "signature">--<br></div><div class=3D"signature">From: Ben Woods<br></di= v><div class=3D"signature"><a href=3D"mailto:woodsb02@freebsd.org">woods= b02@freebsd.org</a><br></div></div><div><br></div></body></html> --4ac2e87f860c42b1a90fd5385279aaf3--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e401671f-6a67-49ed-bc41-e8fbb9de27cb>