ipip: Set inner IP protocol in ipip
authorTom Herbert <therbert@google.com>
Tue, 30 Sep 2014 03:22:31 +0000 (20:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Oct 2014 01:35:51 +0000 (21:35 -0400)
Call skb_set_inner_ipproto to set inner IP protocol to IPPROTO_IPV4
before tunnel_xmit. This is needed if UDP encapsulation (fou) is
being done.

Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipip.c

index bfec31df8b2123752061d78e536696f27f1cac52..ea88ab3102a869bda9e19b12e11a1a0f0edeec96 100644 (file)
@@ -224,6 +224,8 @@ static netdev_tx_t ipip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev)
        if (IS_ERR(skb))
                goto out;
 
+       skb_set_inner_ipproto(skb, IPPROTO_IPIP);
+
        ip_tunnel_xmit(skb, dev, tiph, tiph->protocol);
        return NETDEV_TX_OK;