Hello All, On Tue, Jun 25, 2024 at 9:05 PM Alexander Zubkov via Bird-users <bird-users@network.cz> wrote: > On Tue, Jun 25, 2024 at 3:04 PM Ondrej Zajicek <santi...@crfreenet.org> wrote: > > Seems to me (from cursory look at the kernel code, as it seems to be an > > undocumented option) that the socket option UDP_NO_CHECK6_RX does not > > disable UDP checksum verification in general, just allows to accept UDP > > packets with zero checksum, while UDP packets with invalid non-zero > > checksums would still be rejected. Which fits better to what we need for > > this. > > I've grepped the kernel source and I agree, it seems to only accept > zero checksums. Then maybe some phrases need to be reworded and the > configuration option to be renamed? >
This is the impression I, too, got while doing research into this matter and looking at the patches [1] that implemented this feature. The commit message is very clear: only a checksum of 0 is special-case accepted. By the way it seems the patch has been backported by RH at least as far back as EL7 kernel version 3.10.0. And I have an update on my problem that started all this: The peer managed to update their devices to the latest Huawei OS version and this fixed IPv6 BFD checksums. Unfortunately the peer could not give me the old/current versions so I cannot give information on which versions are broken and which are fixed. I tried to get more detailed information but it just was not possible; I can only say "latest version". Since the problem was fixed with the Huawei update I then regret that I am unable to usefully test the diff. I tested the new UDP socket option simply with scapy and maybe something similar could work for functional testing if required. A big thank you to everyone! Regards, V O [1]: https://github.com/torvalds/linux/commit/1c19448c9ba6545b80ded18488a64a7f3d8e6998