• Su Yanjun's avatar
    vti4: Fix a ipip packet processing bug in 'IPCOMP' virtual tunnel · dd9ee344
    Su Yanjun authored
    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: default avatarSu Yanjun <suyj.fnst@cn.fujitsu.com>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    dd9ee344
ip_vti.c 16.2 KB