Hi all, Slightly modified the patch (names & description) in spite of the checksum verify semantics. On Wed, Jun 26, 2024 at 9:03 AM Ville O <vojamo@gmail.com> wrote:
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 <santiago@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/1c19448c9ba6545b80ded18488a64a7f3d8...