]> Pileus Git - ~andy/linux/commitdiff
sit: fix 4in4 + IPsec scenario
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Wed, 26 Jun 2013 15:40:33 +0000 (17:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Jun 2013 20:42:03 +0000 (13:42 -0700)
Since commit 32b8a8e59c9c "sit: add IPv4 over IPv4 support",
tunnel->parms.iph.protocol is 0 when both 4in4 and 6in4 are setup, but
xfrm_lookup() is called only when proto is != 0, thus we need to pass the real
value.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_tunnel.c

index bd227e5ea9dae9cd9d43fdb762f37e59a26d11fe..3b00d81c8f1e26ab0931514b2aed9dcae638168e 100644 (file)
@@ -542,7 +542,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
        }
 
        rt = ip_route_output_tunnel(dev_net(dev), &fl4,
-                                   tunnel->parms.iph.protocol,
+                                   protocol,
                                    dst, tnl_params->saddr,
                                    tunnel->parms.o_key,
                                    RT_TOS(tos),