Re: software checksuming on IPv6 multicasting is not working

Peter Philipp <[email protected]> Wed, 5 Aug 2026 08:29:00 +0200
Newsgroups gmane.os.openbsd.bugs
Message-ID <[email protected]>
On Tue, Aug 04, 2026 at 10:16:54PM +0200, Alexander Bluhm wrote:
> On Sun, Aug 02, 2026 at 11:17:44AM +0200, [email protected] wrote:
> > >Description:
> > 	In writing IPv6 multicasting code, I have determined after a full day 
> > 	of debugging, that software checksumming from udp6_output/ip6_output
> > 	does not work.  After examining all my devices there is two that do
> > 	hardware offloading of IPv6 UDP packets and this turned out to work.
> > 	Conclusion is obvious, software checksumming doesn't work in this
> > 	multicast.
> 
> I tried to reproduce the issue with regress/sys/netinet6/mcast6 .
> For that I disabled UDPv6 checksum offloading in em.  netstat -s
> counter went up.
> 
> udp:
>         6 output packets software-checksummed
> 
> On the receiving machine the checksum is correct.  Both are connected
> by a direct cable.
> 
> 22:13:44.842191 fdd7:e83e:66bc:145::70.15971 > ff04::123.12345: [udp sum ok] udp 5 [flowlabel 0x1e8b4] [hlim 1] (len 13)
> 
> Please check your setup.  Maybe something is different.  Try to
> create a simpler test case.
> 
> bluhm

OK, will do.  Just a thought, I see a difference here in the fdd7:: address
which I had not configured, I use fe80::, could be that?  Also flowlabel
I don't have.

It would be cool to test my multicasting code against something that provably
works.  Do you have a suggestion for a receiving program?  Kinda like netcat
but that in OpenBSD doesn't have multicast receive right?

For the time being I'm not stalled anymore.  The riscv64 hosts (one using
axen0 and the other dwqe(4)) seem to do what I want, by doing the checksum
correct.  I just have to get back into the coding spirit, if you know what
I mean.  Have a great summer!

-peter

-- 
Peter J. Philipp
Am Deutschhof 5
97422 Schweinfurt
Contact by mobile: +49 151 7226 5695