summaryrefslogtreecommitdiff
path: root/lib/ofp-util.c
diff options
context:
space:
mode:
authorJohn Hurley <john.hurley@netronome.com>2017-01-06 17:55:11 -0800
committerJarno Rajahalme <jarno@ovn.org>2017-01-06 17:55:11 -0800
commit3d47fa466aea5173a236f826e438b2f4ece83b84 (patch)
treec73a8932718893e29d8d5dc54c8638e8cbba9a7d /lib/ofp-util.c
parent0f6a066f638eb2ebf1b49b0e193fa1f5932edb61 (diff)
downloadopenvswitch-3d47fa466aea5173a236f826e438b2f4ece83b84.tar.gz
datapath: Ensure correct L4 checksum with NAT helpers.
Setting the CHECKSUM_PARTIAL flag before sending to helper mods was missing the checksum update call ('csum_*_magic()'), which caused checksum failures with kernels <4.6. This can mean that the L4 checksum is incorrect when the packet egresses the system. Rather than adding the missing (IP version dependent) calls, give the packet a temp skb_dst with RTCF_LOCAL flag not set, which ensures the skb is properly changed to CHECKSUM_PARTIAL if required and the modified packet will get the correct checksum when fully processed. This has tested with FTP NAT helpers on kernel version 3.13. Signed-off-by: John Hurley <john.hurley@netronome.com> Acked-by: Jarno Rajahalme <jarno@ovn.org>
Diffstat (limited to 'lib/ofp-util.c')
0 files changed, 0 insertions, 0 deletions