]> git.baikalelectronics.ru Git - kernel.git/commit
vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel
authorSu Yanjun <suyj.fnst@cn.fujitsu.com>
Mon, 7 Jan 2019 02:31:20 +0000 (21:31 -0500)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 9 Jan 2019 13:00:37 +0000 (14:00 +0100)
commit56d36f9997ec00b2a2ebfe9a5c1a20a0fa11b6f6
tree3205a839b0b43a71b8a0bc02901844c1361631b9
parent9b16c94e72de9cbe38bc4b3c2ea2dfb79b3159c9
vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel

Recently we run a network test over ipcomp virtual tunnel.We find that
if a ipv4 packet needs fragment, then the peer can't receive
it.

We deep into the code and find that when packet need fragment the smaller
fragment will be encapsulated by ipip not ipcomp. So when the ipip packet
goes into xfrm, it's skb->dev is not properly set. The ipv4 reassembly code
always set skb'dev to the last fragment's dev. After ipv4 defrag processing,
when the kernel rp_filter parameter is set, the skb will be drop by -EXDEV
error.

This patch adds compatible support for the ipip process in ipcomp virtual tunnel.

Signed-off-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv4/ip_vti.c