IPv6 BFD interop with Huawei, checksum 0 UDP

Ville O vojamo at gmail.com
Wed Jun 26 08:56:28 CEST 2024


Hello All,

On Tue, Jun 25, 2024 at 9:05 PM Alexander Zubkov via Bird-users
<bird-users at network.cz> wrote:
> On Tue, Jun 25, 2024 at 3:04 PM Ondrej Zajicek <santiago at 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



More information about the Bird-users mailing list