ipv6: Fix IPsec slowpath fragmentation problem
authorSteffen Klassert <steffen.klassert@secunet.com>
Tue, 11 Oct 2011 01:43:33 +0000 (01:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Oct 2011 03:53:10 +0000 (23:53 -0400)
commit299b0767642a65f0c5446ab6d35e6df0daf43d33
tree30e41c97fe4cef60540964495c15d0be121e3b3e
parentc113464d4351591de8791c0cadfc165836e5a725
ipv6: Fix IPsec slowpath fragmentation problem

ip6_append_data() builds packets based on the mtu from dst_mtu(rt->dst.path).
On IPsec the effective mtu is lower because we need to add the protocol
headers and trailers later when we do the IPsec transformations. So after
the IPsec transformations the packet might be too big, which leads to a
slowpath fragmentation then. This patch fixes this by building the packets
based on the lower IPsec mtu from dst_mtu(&rt->dst) and adapts the exthdr
handling to this.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_output.c
net/ipv6/raw.c