xfrm: Fix GSO for IPsec with GRE tunnel.
authorSteffen Klassert <steffen.klassert@secunet.com>
Mon, 30 Oct 2017 09:04:04 +0000 (10:04 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 31 Oct 2017 08:20:35 +0000 (09:20 +0100)
commit73b9fc49b4c0116a04eda3979f64ed9b540b153c
tree362ece5f48012511aabacfe60ba66a8104d8c12c
parent2b06cdf3e688b98fcc9945873b5d42792bd4eee0
xfrm: Fix GSO for IPsec with GRE tunnel.

We reset the encapsulation field of the skb too early
in xfrm_output. As a result, the GRE GSO handler does
not segment the packets. This leads to a performance
drop down. We fix this by resetting the encapsulation
field right before we do the transformation, when
the inner headers become invalid.

Fixes: f1bd7d659ef0 ("xfrm: Add encapsulation header offsets while SKB is not encrypted")
Reported-by: Vicente De Luca <vdeluca@zendesk.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_output.c