Ilya Maximets <[email protected]> writes:

> OVS kernel module is incorrectly updating checksums while changing
> IPv6 fields of later fragments that doesn't really have L4 headers.
>
> This makes the 'ping6 between two ports with header modify' test
> fail on most of the distribution kernels.
>
> The issue got indirectly fixed in latest 5.19 with commit:
>
>   12378a5a75e3 ("net: openvswitch: fix parsing of nw_proto for IPv6 
> fragments")
>
> The reason is that set_ipv6() function in net/openvswitch/actions.c
> is using the protocol number from the parsed flow key and not from
> the packet itself, and nw_proto=44 is not a protocol where we can
> update the checksum.
>
> It was backported to all supported upstream stable trees, but didn't
> find its way to most of the distributions yet.
>
> Restricting the test to 5.19+ kernels to avoid failures on distro
> kernels.  Additionally allowing the previous test for later fragments
> to be executed in userspace testsuite.
>
> Fixes: 2ff43c78c685 ("packets: Re-calculate IPv6 checksum only for first frag 
> upon modify.")
> Signed-off-by: Ilya Maximets <[email protected]>
> ---

Acked-by: Aaron Conole <[email protected]>

I guess we could try and test against the kernel to see if it
has the revert applied instead of just disabling, but not sure how
simple such a test would be.

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to