summaryrefslogtreecommitdiffstats
path: root/net/ipv6/esp6.c
diff options
context:
space:
mode:
authorYossi Kuperman <yossiku@mellanox.com>2017-08-01 12:49:06 +0300
committerSteffen Klassert <steffen.klassert@secunet.com>2017-08-02 11:00:15 +0200
commite9cba69448df7686e1c35e74be48fc715d41ac45 (patch)
tree4b3931944d089bc8c5c5f16f29a1a46c62d46048 /net/ipv6/esp6.c
parente51a64727079f46fc3a99f380de384d5ab01fffa (diff)
downloadlinux-e9cba69448df7686e1c35e74be48fc715d41ac45.tar.bz2
xfrm6: Fix CHECKSUM_COMPLETE after IPv6 header push
xfrm6_transport_finish rebuilds the IPv6 header based on the original one and pushes it back without fixing skb->csum. Therefore, CHECKSUM_COMPLETE is no longer valid and the packet gets dropped. Fix skb->csum by calling skb_postpush_rcsum. Note: A valid IPv4 header has checksum 0, unlike IPv6. Thus, the change is not needed in the sibling xfrm4_transport_finish function. Signed-off-by: Yossi Kuperman <yossiku@mellanox.com> Signed-off-by: Ilan Tayari <ilant@mellanox.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'net/ipv6/esp6.c')
0 files changed, 0 insertions, 0 deletions