From nobody Thu Jun 19 10:41:18 2025 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 4bNHGl0Fd1z5yWl6 for ; Thu, 19 Jun 2025 10:41:51 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (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 4bNHGk26f4z3Sr9 for ; Thu, 19 Jun 2025 10:41:50 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net; dmarc=pass (policy=none) header.from=denninger.net Received: from denninger.net (unknown [162.81.137.111]) by colo1.denninger.net (Postfix) with ESMTP id 2982AB11E6 for ; Thu, 19 Jun 2025 06:41:22 -0400 (EDT) Received: from [192.168.10.15] (D5.Denninger.Net [192.168.10.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id 33FCC1F4AE9 for ; Thu, 19 Jun 2025 06:41:19 -0400 (EDT) Message-ID: <1650053f-bae7-435f-9bb7-f2d8cf3ebb7d@denninger.net> Date: Thu, 19 Jun 2025 06:41:18 -0400 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 Thunderbird Subject: Re: dhcpcd(8) into FreeBSD base To: freebsd-net@freebsd.org References: <18ff2d4772a.129dde187836962.5411001908566459400@marples.name> <1188806329.62817.1750321263908@localhost> Content-Language: en-US From: Karl Denninger In-Reply-To: <1188806329.62817.1750321263908@localhost> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms060801030405030101030505" X-Spamd-Result: default: False [-1.51 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; NEURAL_HAM_SHORT(-0.71)[-0.715]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; R_SPF_ALLOW(-0.20)[+mx:c]; MIME_BASE64_TEXT(0.10)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; FREEFALL_USER(0.00)[karl]; MID_RHS_MATCH_FROM(0.00)[]; MLMMJ_DEST(0.00)[freebsd-net@freebsd.org]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; HAS_ATTACHMENT(0.00)[] X-Rspamd-Queue-Id: 4bNHGk26f4z3Sr9 X-Spamd-Bar: - This is a cryptographically signed message in MIME format. --------------ms060801030405030101030505 Content-Type: multipart/alternative; boundary="------------d06Fu6ufBAlcBtrrLSKSMFj1" --------------d06Fu6ufBAlcBtrrLSKSMFj1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiA2LzE5LzIwMjUgMDQ6MjEsIFJvbmFsZCBLbG9wIHdyb3RlOg0KPiBIaSwNCj4NCj4g SSBkb24ndCBrbm93IHRoZSBkZXRhaWxzIGFib3V0IHlvdXIgc2V0dXAsIGJ1dCBJIHRyaWVk IGRoY3BjZCBpbiBteSANCj4gbmV0d29yayBsYXN0IGZldyBtb250aHMgYW5kIEkgZW5jb3Vu dGVyZWQgdGhhdCBpdDoNCj4NCj4gLSBydW5zIGZpbmUgaW4gYSAxNC5YIGphaWwgb24gYSAx NC5YIG1hY2hpbmUgKFJQSTNCKSBmb3IgYm90aCBJUDQgYW5kIA0KPiBJUDYg8J+RjQ0KPiAt IGl0IGRvZXMgbm90IHdvcmsgd2VsbCBvbiBhIDE0LlggamFpbCBvbiBhIDE1LnggbWFjaGlu ZXMuIChSUEk0KQ0KPg0KPiBUaGUgc3ltcHRvbXMgbG9vayBhIGxvdCBsaWtlIHdoYXQgeW91 IGRlc2NyaWJlLiBTb21ldGltZXMgaXQgZ290IGFuIA0KPiBhZGRyZXNzIGFuZCBhIGRheSBs YXRlciBpdCB3YXMgZ29uZSBhZ2Fpbi4gUmVzdGFydGluZyBzb21ldGltZXMgDQo+IGhlbHBl ZCwgb2Z0ZW4gZGlkbid0IGNoYW5nZSBhbnl0aGluZy4NCj4gVXAgdG8gdGhlIHBvaW50IHRo YXQgSSBzdGFydGVkIHJlYWRpbmcgdG8gY29kZSBvZiBkaGNwY2QgYW5kIA0KPiBlbmNvdW50 ZXJlZCB0aGF0IGl0IHdyaXRlcyBhIGxpbmUgaW4gdGhlIGxvZyBhYm91dCBnZXR0aW5nIGEg bGVhc2UgYW5kIA0KPiB0aGUgbmV4dCBzdGF0ZW1lbnQgd2FzIHNlbmRpbmcgYSBwYWNrZXQg b3V0IG9uIHRoZSBuZXR3b3JrIGFuZCBJIG5ldmVyIA0KPiBzZWUgdGhhdCBwYWNrZXQgaW4g dGNwZHVtcC4NCj4NCj4gQW55d2F5IG9uIHRoZSBSUEkzIEkgc3RpbGwgdXNlIGl0LiBPbiB0 aGUgUlBJNCBJIHdlbnQgYmFjayB0byBkaGNsaWVudCANCj4gKyBTTEFBQyBhZnRlciBJIHB1 dCBhIGxvdCBvZiB0aW1lIGluIHRjcGR1bXBpbmcgYW5kIHRlc3RpbmcuIE1heWJlIGl0IA0K PiBpcyBqdXN0IHRoYXQgMTQgdXNlcmxhbmQgZG9lc24ndCBtYXRjaCBlbm91Z2ggd2l0aCAx NSBrZXJuZWwgdG8gZG8gDQo+IEJQRi9kaGNwLiBCdXQgdGhhbiBhZ2Fpbi4uLi4gd2l0aCBk aGNsaWVudCBpdCB3b3JrcyBmaW5lLg0KPg0KPiBJIGRpZG4ndCBydW4gZGhjcGNkIHlldCBv biB0aGUgaG9zdCBPUyB5ZXQgYXMgSSB3YXMgZmlyc3QgdGVzdGluZyBpdCANCj4gaW4gdGhl IFZORVQgamFpbHMuDQo+DQo+IEp1c3QgbXkgMiBjZW50cy4NCj4NCj4gUmVnYXJkcywNCj4g Um9uYWxkLg0KDQpUaGUgaXNzdWUgSSBoYXZlIGhlcmUgaXMgdGhhdCB3aGVuIHRoZSBvdGhl ciBlbmQgZ2V0cyAiYmlnIG1hZCIgSSBoYXZlIA0KdG8gY2FsbCB0aGVtIHRvIHJlc3RvcmUg SVB2Ni7CoCBCZWZvcmUgZGhjcGNkIEkgd2FzIHJ1bm5pbmcgYm90aCBidWlsdC1pbiANCkRI Q1AgZnJvbSBGcmVlQlNEIGFuZCBkaGNwNmMgdG8gZ2V0IHRoZSBJUHY2IHN0dWZmIGFuZCBo YWQgYmVlbiBmb3IgYSANCnZlcnkgbG9uZyB0aW1lLsKgIFRoZSBjb21wbGV4aXR5IHRoZXJl IGlzIHRoYXQgSSBuZWVkIHRvIGRvIHRoaW5ncyB3aGVuIA0KYW4gYWRkcmVzcyBpcyBib3Vu ZCAob3IgbG9zdCkgYW5kIHRoYXQgZ2V0cyBjb25zaWRlcmFibHkgbW9yZS1jb21wbGV4IA0K d2l0aCB1c2luZyB0aGUgdHdvIGRhZW1vbnMgcmF0aGVyIHRoYW4gdGhlIG9uZS4NCg0KSSBj YW4gdHJ5IHRvIGdvIGJhY2sgdG8gdGhlIG90aGVyIHNldHVwIGJ1dCBpZiBpdCBnZXRzIGJp ZyBtYWQgYXQgbWUgDQphZ2FpbiB0aGVuIEkgZ2V0IHRvIGNhbGwgdGhlbSBhZ2Fpbi4uLi4g Oi0pwqAgU2luY2UgaXQgbmV2ZXIgY2xlYXJzIG9uIA0KaXRzIG93biBvbmNlIGl0IGhhcHBl bnMgdGhpcyBpcyBlc3BlY2lhbGx5IHZleGluZyBpbiB0ZXJtcyBvZiBmaWd1cmluZyANCm91 dCBwcmVjaXNlbHkgd2hhdCBpcyBnb2luZyBvbi4NCg0KSSBoYXZlIGEgc3VzcGljaW9uIHRo YXQgaXQgaXMgdGhlIGlwNGxsIG9wdGlvbiBhbmQgYSBzbG93IHJlc3BvbnNlIHRoYXQgDQpt YXkgYmUgaW52b2x2ZWQgaGVyZSAoYW5kIGlwNGxsIGRlZmF1bHRzIC9vbiwgL3doaWNoIG1p Z2h0IGJlIGEgdmVyeSANCnBvb3IgY2hvaWNlKSwgYW5kIHBlcmhhcHMgbm90ICJ0ZWNobmlj YWxseSIgdGhlIElTUHMgZmF1bHQgaW4gdGhhdCBpdHMgDQplbnRpcmVseSBwb3NzaWJsZSB0 aGVpciBPTlQgY29tZXMgcmVhZHkgb24gdGhlIGN1c3RvbWVyLXNpZGUgaW50ZXJmYWNlIA0K KHRodXMgdGhlIGdhdGV3YXkgdGhpbmtzIHRoZSBsaW5lIGlzIHVwKSBiZWZvcmUgdGhlIGZp YmVyLXNpZGUgaGFzIA0KY29tcGxldGVkIHJhbmdpbmcgYW5kIHRodXMgaXQgaXMgbm90IGVu dGlyZWx5IHVwIGFuZCBwcm92aXNpb25lZC7CoCBJbiANCnRoYXQgY2FzZSBkaGNwY2QgaXMg Z29pbmcgdG8gc2VuZCBhIHJlcXVlc3QgdGhhdCBnb2VzIGludG8gYSBibGFjayBob2xlIA0K YW5kLCBoYXZpbmcgZ290dGVuIG5vIHJlcGx5IHdpdGhpbiBhIGNvdXBsZSBvZiBzZWNvbmRz IGl0IGRvZXMgdGhlIGlwNGxsIA0KdGhpbmcuDQoNCklmIFRIQVQgaXMgd2hhdCdzIG1ha2lu ZyBpdCBtYWQgKGl0cyBzZWVpbmcgcmVzZXJ2ZWQgYWRkcmVzcyBwYWNrZXRzIA0KdGhhdCBh cmUgbmV2ZXIgcm91dGFibGUgY29taW5nIGZyb20gbWUpIHRoZW4gbXkgdHVybmluZyBpdCBv ZmYgbWF5IGZpeCANCml0LCBidXQgSSBkb24ndCBrbm93Lg0KDQotLSANCkthcmwgRGVubmlu Z2VyDQprYXJsQGRlbm5pbmdlci5uZXQNCi9UaGUgTWFya2V0IFRpY2tlci8NCi9bUy9NSU1F IGVuY3J5cHRlZCBlbWFpbCBwcmVmZXJyZWRdLw0K --------------d06Fu6ufBAlcBtrrLSKSMFj1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 6/19/2025 04:21, Ronald Klop wrote:=
Hi,

I don't know the details about your setup, but I tried dhcpcd in my network last few months and I encountered that it:

- runs fine in a 14.X jail on a 14.X machine (RPI3B) for both IP4 and IP6 =F0=9F=91=8D
- it does not work well on a 14.X jail on a 15.x machines. (RPI4)
The symptoms look a lot like what you describe. Sometimes it got an address and a day later it was gone again. Restarting sometimes helped, often didn't change anything.
Up to the point that I started reading to code of dhcpcd and encountered that it writes a line in the log about getting a lease and the next statement was sending a packet out on the network and I never see that packet in tcpdump.

Anyway on the RPI3 I still use it. On the RPI4 I went back to dhclient + SLAAC after I put a lot of time in tcpdumping and testing. Maybe it is just that 14 userland doesn't match enough with 15 kernel to do BPF/dhcp. But than again.... with dhclient it works fine.

I didn't run dhcpcd yet on the host OS yet as I was first testing it in the VNET jails.

Just my 2 cents.

Regards,
Ronald.

The issue I have here is that when the other end gets "big mad" I have to call them to restore IPv6.=C2=A0 Before dhcpcd I was runnin= g both built-in DHCP from FreeBSD and dhcp6c to get the IPv6 stuff and had been for a very long time.=C2=A0 The complexity there is th= at I need to do things when an address is bound (or lost) and that gets considerably more-complex with using the two daemons rather than the one.

I can try to go back to the other setup but if it gets big mad at me again then I get to call them again.... :-)=C2=A0 Since it never= clears on its own once it happens this is especially vexing in terms of figuring out precisely what is going on.

I have a suspicion that it is the ip4ll option and a slow response that may be involved here (and ip4ll defaults=C2=A0on,=C2= =A0which might be a very poor choice), and perhaps not "technically" the ISPs fault in that its entirely possible their ONT comes ready on the customer-side interface (thus the gateway thinks the line is up) before the fiber-side has completed ranging and thus it is not entirely up and provisioned.=C2=A0 In that case dhcpcd is going to = send a request that goes into a black hole and, having gotten no reply within a couple of seconds it does the ip4ll thing.

If THAT is what's making it mad (its seeing reserved address packets that are never routable coming from me) then my turning it off may fix it, but I don't know.

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]<= /div> --------------d06Fu6ufBAlcBtrrLSKSMFj1-- --------------ms060801030405030101030505 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwEAAKCC C4owggWZMIIDgaADAgECAhRZU8dKdMneRI1Vq5kv0k54Q5rQuDANBgkqhkiG9w0BAQsFADB2 MQswCQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRYwFAYDVQQKDA1EZW5uaW5nZXIu TmV0MRcwFQYDVQQDDA5EZW5uaW5nZXIgUm9vdDEiMCAGCSqGSIb3DQEJARYTYWRtaW5AZGVu bmluZ2VyLm5ldDAeFw0yNDA1MDkyMTA4MDNaFw00NDA1MDQyMTA4MDNaMF0xCzAJBgNVBAYT AlVTMRIwEAYDVQQIDAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNV BAMMGURlbm5pbmdlci5OZXQgU2lnbmluZyBJbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDbR0tSiuLG5HPfo+cWtdeYQ8jc8Bjfuo0GTcNRT0glHnH1apUtInIktUknEZDH ohahInN+mMBdKg54FCHOiYZrJbyxBIo9FwX7hRmOc+spxmSYWnOd2E/YcGInMK4ZpjPzldzB Yt1n3zygkhx2bssxTJS3x4nv1qAXfLSZd1VwqoQufifEoPyTtymkkvHLv86vLgqAqooM/cXc 4LSIQ5u2uM308n42r8RkKtp7X1v9fJW8oRZN2XnFZtiUPH44YY2rHqyN2Hea9Y3+TXbldXjo xhPHTA+JYVFq8KTmbQBqU7YcMhlIG0cSxPeFLMxnP6pqPcIVTAlK+a6YGRFppfjZAgMBAAGj ggE2MIIBMjAdBgNVHQ4EFgQUH+VuxXhBxaJAQrvDekwkH91hBi4wgbMGA1UdIwSBqzCBqIAU RFYC4p6L6KITnEvrpx2cyt+PcMmheqR4MHYxCzAJBgNVBAYTAlVTMRIwEAYDVQQIDAlUZW5u ZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5OZXQxFzAVBgNVBAMMDkRlbm5pbmdlciBSb290 MSIwIAYJKoZIhvcNAQkBFhNhZG1pbkBkZW5uaW5nZXIubmV0ghQZE7NBItWtQsCouuwU6jZ+ HPPwnjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+gLaAr hilodHRwOi8vd3d3LmRlbm5pbmdlci5uZXQvcm9vdC1yZXZva2VkLmNybDANBgkqhkiG9w0B AQsFAAOCAgEAfFbhPc82AfhyUqONs7IccYD36w+OP4nQgwfC4IWf3y/aQAZ2Zk6IITzYqwf7 PFM0bJRT3zi7xyetolqHDhfMJvnOQWpITZiyM/FSKwIvuBsy/uJUqPuqui4XQMYoSbAA1qmI MW/z7VZZHwaRFoeWE40UirYcf0fNcooBZ72bmd+iBaVyjtZvky0Vgcz0eC6e6LR5kNb23yC6 TkyQIlGyQkK5/afXUYFzk49rOHVbVyxW3oXRfq8Ow6HCrpDGAS8p84S04MFwBVAUfbe4aXs3 bampaI2LzKgkVywyFP14LSvvdjCfLYfnLy1Z9hm2EHMqNHA2tCGdRhWp2d7aZC1MYFqng0ZS fjPJjqHrI1qPU0p6k9A1GxAtrQlL2v/IUzUnMZkiawFV3qlxMGZf/kTYTUOcJhx1KU4zSLHu 80qO7ldRpp5gHssCAGFbeTu2gp6LxfmaFhLPDBJ1VGfdPx9lUrU/9OcoHczcl5x2Rb8IUZyX 9elzP5WdAU8p5R/DLlOAq24VcabhFtYBCA2dOESLupSfWKNQuJCN/1gz7ysSc+mjnnPV77IO mpszJfkFFJEDNJlGIVKX1vwwygtC/9Ulox8frgbZlRAYAgDc/YbOBFxticVVre0Y3Ujx6Kzb tkgZRlgfdZWbT1W5smncqJxg5qAL8e/yTb3fCe2nJ0jhiP4wggXpMIIE0aADAgECAhMAmNFt CiCF3j+FwQLYtBTmGjzkMA0GCSqGSIb3DQEBCwUAMF0xCzAJBgNVBAYTAlVTMRIwEAYDVQQI DAlUZW5uZXNzZWUxFjAUBgNVBAoMDURlbm5pbmdlci5uZXQxIjAgBgNVBAMMGURlbm5pbmdl ci5OZXQgU2lnbmluZyBJbnQwHhcNMjQwNTEwMTkyNjU5WhcNMjkwNTA5MTkyNjU5WjBXMQsw CQYDVQQGEwJVUzESMBAGA1UECAwJVGVubmVzc2VlMRcwFQYDVQQKDA5LYXJsIERlbm5pbmdl cjEbMBkGA1UEAwwSa2FybEBkZW5uaW5nZXIubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAvh1UssVbSYctzobPjwBkbjv/w4WvQNepeRTwE6+sLnXvc41+X9pa5EclPL4Q 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 PMp47IRI0A+CxSzisQNkAAAAAAAA --------------ms060801030405030101030505--