[ovs-discuss] Fwd: TCP Checksum issue on OVS 2.6.1

Ben Pfaff blp at ovn.org
Thu Dec 22 17:54:55 UTC 2016


On Thu, Dec 22, 2016 at 01:32:01PM +0000, John Hurley wrote:
> I ran more tests and found that setting the CHECKSUM_PARTIAL flag corrupts
> the checksum in non mangled NAT packets when hitting the
> queue_userspace_packet() function (as reported below).
> When I tried to reset the flag after the helper function call, non mangled
> packets had the correct checksum but mangled FTP packets were still
> incorrect.
> Instead of setting the CHECKSUM_PARTIAL to avoid hitting the skb_dst on pre
> kernel 4.5, I have attached a patch that gives the skb the required skb_dst
> and the flags that are checked in the kernel checksum calculation.
> This essentially causes the pre kernel 4.5 version to hit the same code as
> post 4.5 and recalculate the layer 4 checksums in the Netfilter modules.
> I have tested this and the checksums are now correct for both mangled and
> non mangled NATed packet that go through the FTP helper.
> 
> Is it ok to submit this patch here? If this approach seems valid I can
> prepare it for the dev email list.

It sounds like this bug is one that has already been fixed in upstream
Linux.  If so, then submitting a patch to ovs-dev is the right thing to
do; thank you!  (If not, then please first submit a patch to netdev to
get the bug fixed there, before backporting it to OVS.)

Thanks,

Ben.


More information about the discuss mailing list