Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Sep 2025 19:28:51 +0200
From:      Michael Tuexen <michael.tuexen@lurchi.franken.de>
To:        Karl Denninger <karl@denninger.net>
Cc:        freebsd-net@freebsd.org
Subject:   Re: IPv6 networking problems in 14.3
Message-ID:  <85063FCE-0FCE-4E4D-B03D-2B67FCCC21B7@lurchi.franken.de>
In-Reply-To: <d6c1831f-fa17-4518-8b04-dfda99ac4066@denninger.net>
References:  <4C00D174-21FE-47C4-A30A-A382138571A5@keehole.org> <A9EBD993-D77D-49F9-9FFB-0E42EA0BEE6E@keehole.org> <DC84D8EC-B084-4AF1-B3F4-413323DA613A@distal.com> <dfa7af0c-334f-4b36-86dc-b2d75d1477d3@denninger.net> <E06E4F40-0E2C-4C4E-9C27-3BCF086347FA@distal.com> <6fce77fb-9ba8-4c7b-bb9b-0e337d91f278@denninger.net> <1780EFAC-DA9C-4593-BE37-28E7FFCE4388@distal.com> <6e7a8fc6-12c8-4097-ad70-bcb1e4967ade@denninger.net> <092f8b7a-9b98-4e2a-b6c5-361b40549cce@denninger.net> <75B331C2-856A-4977-ADCD-D7FA6854AA03@FreeBSD.org> <d6c1831f-fa17-4518-8b04-dfda99ac4066@denninger.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> On 15. Sep 2025, at 19:16, Karl Denninger <karl@denninger.net> wrote:
>=20
> On 9/15/2025 13:00, Michael Tuexen wrote:
>>> On 15. Sep 2025, at 14:59, Karl Denninger <karl@denninger.net> =
wrote:
>>>=20
>>> Hmmmmm.... just came in via git pull:
>>> commit ffd956a3918cd5e64c8850eb77247428a29f7221
>>> Author: Michael Tuexen <tuexen@FreeBSD.org>
>>> Date: Wed Sep 10 17:13:35 2025 +0200
>>>=20
>>> dhclient: improve UDP checksum handling
>>>=20
>>> When sending UDP packets:
>>> * compute the checksum in the correct order. This only has an impact
>>> if the length of the payload is odd.
>>> * don't send packet with a checksum of zero, use 0xffff instead as
>>> required.
>>> When receiving UDP packets:
>>> * don't do any computations when the checksum is zero.
>>> * compute the checksum in the correct order. This only has an impact
>>> if the length of the payload is odd.
>>> * when computing the checksum, store the pseudo header checksum
>>> * if the checksum is computed as zero, use 0xffff instead.
>>> * also accept packets, when the checksum in the packet is the pseudo
>>> header checksum.
>>> The last point fixes a problem when the DHCP client runs in a VM,
>>> the DHCP server runs on the host serving the VM and the network
>>> interface supports transmit checksum offloading. Since dhclient
>>> doesn't use UDP sockets but bpf devices to read the packets, the
>>> checksum will be incorrect and only contain the checksum of the
>>> pseudo header.
>>>=20
>>> This could potentially apply to other bpf-using things -- which =
includes dhcpcd. And you have tso/lro turned on.
>>>=20
>> Hi Karl,
>>=20
>> this is true. Do we have an dhcpd in-tree? Or are you aware of other =
in-tree
>> programs which use UDP via bpf and not via the socket interface?
>>=20
>> Best regards
>> Michael
> dhclient uses it in base but dhcp6c is, I believe, out of =
packages/ports (as is dhcpcd which replaces both dhclient and dhcp6c in =
terms of functionality.)
OK. But this is not something I can easily investigate and possibly fix, =
since that
software is not in the tree I can make changes to. I think fixes to =
ports should
go upstream.

Best regards
Michael
> One of dhcp6c or dhcpcd is necessary to get a delegation from an ISP; =
you can get a SLACC address without either simply by enabling it such =
as:
> ifconfig_mce0_ipv6=3D"inet6 accept_rtadv"
> rtsold_enable=3D"YES"
> That is sufficient on a client machine if your gateway hands out =
addresses based on SLACC, but the gateway then has to get the upstream =
delegation (and run rtadvd in order to send the routing data out on the =
local side so your SLACC client can pick it up) so unless you have that =
delegation hard-coded in your edge device on the outside interface one =
of the above has to be running on the gateway, presuming its a FreeBSD =
gateway of course.
> --=20
> Karl Denninger
> karl@denninger.net
> The Market Ticker
> [S/MIME encrypted email preferred]




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85063FCE-0FCE-4E4D-B03D-2B67FCCC21B7>