From nobody Mon Aug 08 07:19:53 2022 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4M1SJY3YYNz4YJB2 for ; Mon, 8 Aug 2022 07:19:57 +0000 (UTC) (envelope-from franco@opnsense.org) Received: from mail.opnsense.org (mail.opnsense.org [81.171.24.236]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4M1SJX3qnxz3Fyg; Mon, 8 Aug 2022 07:19:56 +0000 (UTC) (envelope-from franco@opnsense.org) Received: from localhost (mail.opnsense.org [127.0.0.1]) by mail.opnsense.org (Postfix) with ESMTP id 2D509154FDC; Mon, 8 Aug 2022 09:19:55 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mail.opnsense.org Received: from mail.opnsense.org ([127.0.0.1]) by localhost (mail.opnsense.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PMxPiahH1dpT; Mon, 8 Aug 2022 09:19:55 +0200 (CEST) Content-Type: text/plain; charset=utf-8 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=opnsense.org; s=dkim; t=1659943194; bh=ePzwzkeSBs5PUebkPemw2SRA5vU49nRe0rQdB/0PAXo=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=IIQLFU9mddsa219fsuPG61AjguJjsiJu6hrZ23d2klHK76SC7mP9cx/BsJAzp2Umj 07YTbGWXjv49PYithN5ITrTxxvNHJ04vVm5u3XQUNrtfSeeOEv/AdcjP1VNN7kRSA9 D/aWD8xCCEF5VYeHt4E3PKcCSBkYr9dKzEmGSGkA= List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: Import dhcpcd(8) into FreeBSD base From: Franco Fichtner In-Reply-To: <91d7cdca-977c-4a18-b6a7-5092acae3b06@www.fastmail.com> Date: Mon, 8 Aug 2022 09:19:53 +0200 Cc: FreeBSD Net , emaste@freebsd.org, roy@marples.name, Hiroki Sato , brooks@freebsd.org, cy@freebsd.org, Philip Paeps Content-Transfer-Encoding: quoted-printable Message-Id: References: <9831CA1D-1AE2-4B46-A781-D6B98BECDFBA@opnsense.org> <91d7cdca-977c-4a18-b6a7-5092acae3b06@www.fastmail.com> To: Ben Woods X-Rspamd-Queue-Id: 4M1SJX3qnxz3Fyg X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=opnsense.org header.s=dkim header.b=IIQLFU9m; dmarc=pass (policy=quarantine) header.from=opnsense.org; spf=pass (mx1.freebsd.org: domain of franco@opnsense.org designates 81.171.24.236 as permitted sender) smtp.mailfrom=franco@opnsense.org X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; DMARC_POLICY_ALLOW(-0.50)[opnsense.org,quarantine]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+mx]; R_DKIM_ALLOW(-0.20)[opnsense.org:s=dkim]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; RCPT_COUNT_SEVEN(0.00)[8]; TO_MATCH_ENVRCPT_SOME(0.00)[]; ASN(0.00)[asn:60781, ipnet:81.171.0.0/19, country:NL]; FROM_HAS_DN(0.00)[]; DKIM_TRACE(0.00)[opnsense.org:+]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi Ben, > On 7. Aug 2022, at 11:27 AM, Ben Woods wrote: >=20 > FreeBSD doesn=E2=80=99t have DHCPv6 support in base today, and = therefore should decide the best way to add it. I appreciate you=E2=80=99v= e spent years supporting dhcp6c and the existing tools, and we are = therefore looking at this problem space differently. While that is true what put me off here was the notion that dhclient could be easily replaced. I don't actually mind so much for solving the IPv6 part (it is highly welcome) and even replacing/obsoleting rtsold is good. > For me, dhcpcd has been reliably working for a decade, with the = remaining sandboxing security added years ago. It=E2=80=99s not a new = implementation that is yet to go through teething issues. =46rom my = point of view, a single daemon that manages dynamic ip addressing makes = sense, rather than 3 that have to combine to manage this separately. I = appreciate that this would require re-work to integrate into the = management layer of downstream products that have found alternative = solutions in the mean time. While I understand the dhcpcd motivation the goal here seems to be deferring maintainership in the hope not having to deal with this as much, going through upstream release cycles and potentially unrelated regressions is also a risk that increases the need for local maintenance and native patch inclusion, see below. > What I would ask is that you try dhcpcd for yourself (if you haven=E2=80= =99t already), and provide feedback on your experience. The hooks seem nice. There should be a way to circumvent the hooks in the base system and there must be support for running multiple interfaces through dhcpcd (I couldn't find any reference in the docs so far) for mixed environments. People using FreeBSD as routers often have multiple ISP connections (both IPv4 and IPv6) that need to work in tandem. For dhclient this was never an issue but dhcp6c uses listening facilities that prevent multiple daemons from working. Depending on code ancestry this could be an issue in dhcpcd. > Also, would be keen to hear some of the perks of dhclient and rtsold - = is it existing integration into your downstream management layer? (Not = meant sarcastically). Rtsold is currently the only source of a router address to the client. Even dhcp6c cannot currently provide this. https://github.com/freebsd/freebsd-src/commit/02508a3d4e17 dhclient revently added VLAN 0 reading support: https://github.com/freebsd/freebsd-src/commit/abf5bff71d dhclient VLAN priority support for certain ISPs: https://github.com/freebsd/freebsd-src/commit/1e7fe2fbb9c0 There could be more changes relevant to day-to-day ISP connectivity that eludes most "home lab" use where dhcpcd works well. I know this is tempting but also confirmation bias having worked with a lot of users over the years on their (nasty) ISP connectivity. Cheers, Franco