On 8/5/22 20:13, Aaron Conole wrote: > 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. >
Yeah, I'm not really sure how to do that in a good way, For now, the current change seems good enough. Applied and backported down to 2.13. Thanks! Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
