xfrm: Fix GSO for IPsec with GRE tunnel.
authorSteffen Klassert <[email protected]>
Mon, 30 Oct 2017 09:04:04 +0000 (10:04 +0100)
committerSteffen Klassert <[email protected]>
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 <[email protected]>
Signed-off-by: Steffen Klassert <[email protected]>
net/xfrm/xfrm_output.c