From nobody Mon Aug 8 11:15:45 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 4M1YXp0SgXz4YsZy for ; Mon, 8 Aug 2022 11:15:54 +0000 (UTC) (envelope-from roy@marples.name) Received: from server111-2.web-hosting.com (server111-2.web-hosting.com [198.54.115.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4M1YXn1tFbz3c10 for ; Mon, 8 Aug 2022 11:15:53 +0000 (UTC) (envelope-from roy@marples.name) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=marples.name; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:References:Cc:Subject:From:MIME-Version:Date:Message-ID:Sender: Reply-To:To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=erco00GNqLDReIcNdrdcpSdmFApB4XD1dPnyNhNWc0Q=; b=CzUsXOuGUfL98tYJaVFe4K8U0Z MOK/OGCNFZChKUctYb5UpF0RHPRdqrIlDBZ/dFafbWUnRYvzztLcOeuN7FkJSqnz9YW7Uz8JPghgl JUoEh9QM0/qAHim/dmX3/RezpnphqdiknIY0uC+IfuyajZC9Fu6hc/2JQPla3RkbDBXpofE0Dsjk/ K4z8zXuBbXUh1UacFYiod/Yise1LnfI7zTgUH11gVHzvqa/yPtTo2W1e1l2YUakS3NfhetIZyv1tG 88G3OYNcGzCD3YWQAfFcQpVlaazjiQy47GnzKAA5VKlAluqKyHP3UNlNMAYDidgOFeSEPw1MFg4k6 dokbVnKQ==; Received: from cpc115020-bour7-2-0-cust1507.15-1.cable.virginm.net ([82.3.253.228]:1026 helo=[192.168.1.13]) by server111.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.95) (envelope-from ) id 1oL0jb-007VQi-A4 for freebsd-net@freebsd.org; Mon, 08 Aug 2022 07:15:52 -0400 Message-ID: Date: Mon, 8 Aug 2022 12:15:45 +0100 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 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 From: Roy Marples Subject: Re: Import dhcpcd(8) into FreeBSD base Cc: FreeBSD Net References: <9831CA1D-1AE2-4B46-A781-D6B98BECDFBA@opnsense.org> In-Reply-To: <9831CA1D-1AE2-4B46-A781-D6B98BECDFBA@opnsense.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - server111.web-hosting.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - marples.name X-Get-Message-Sender-Via: server111.web-hosting.com: authenticated_id: roy@marples.name X-Authenticated-Sender: server111.web-hosting.com: roy@marples.name X-Source: X-Source-Args: X-Source-Dir: X-From-Rewrite: unmodified, already matched X-Rspamd-Queue-Id: 4M1YXn1tFbz3c10 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=marples.name header.s=default header.b=CzUsXOuG; dmarc=pass (policy=quarantine) header.from=marples.name; spf=softfail (mx1.freebsd.org: 198.54.115.96 is neither permitted nor denied by domain of roy@marples.name) smtp.mailfrom=roy@marples.name X-Spamd-Result: default: False [-1.80 / 15.00]; MISSING_TO(2.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW_WITH_FAILURES(-0.50)[]; R_DKIM_ALLOW(-0.20)[marples.name:s=default]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; HAS_X_GMSV(0.00)[roy@marples.name]; HAS_X_AS(0.00)[roy@marples.name]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:22612, ipnet:198.54.115.0/24, country:US]; TO_DN_ALL(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all:c]; HAS_X_SOURCE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DKIM_TRACE(0.00)[marples.name:+]; HAS_X_ANTIABUSE(0.00)[]; DMARC_POLICY_ALLOW(0.00)[marples.name,quarantine]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi Franco On 07/08/2022 08:08, Franco Fichtner wrote: > The basic question is: what's not working in dhclident? How is rtsold inferior? Both dhclient and rtsold are only activated manually. For dhclient there is an exponential backoff after each message is sent. If the messages go nowhere (ie LINK_STATE_DOWN) then this delays the configuration aquisition and can slow down the boot process. For rtsold this is actually quite tricky as it requires a working LL address before it can work. This leads to sleep commands in rc which results in a slower than optimal boot time. dhcpcd reacts to state changes - however FreeBSD does not announce all state changes needed for this. For example here is a changeset I made 6 years ago for FreeBSD which allows this IPv6 addresses to announce state transitions from TENTATIVE to non TENTATIVE/DUPLICATED here: https://reviews.freebsd.org/D5469 Any DHCPv6 client also needs either a sleep or the above state changes to be made available. There is a swathe of DHCP related RFC's that dhclient does not support, although none are necessary to actually get a working configuration for most users. rtsold (in FreeBSD-13 at least) has no mechanism to get RDNSS and DNSSL options from RA messages into the local nameserver. dhclient and FreeBSD kernel RA handling do not support a predictable configuration for multi-homed boxes. It operates on a first come, first served basis. dhcpcd supports a predictable configuration allowing a "better" interface to take over the default route, preferred nameservers, etc. > > It seems like "It’s well supported, full featured, included in NetBSD and > DragonflyBSD base" incorporates none of the real world concerns for migratory > work so for the time being I don't think it's a solid proposal, also because > it will cause heavy downstream disruption in OPNsense/pfSense in a few years > as well. Why? There's no proposal to remove dhclient or rtsold yet. Roy