[GRE]: Allow to create IPGRE tunnels in net namespaces.
authorPavel Emelyanov <xemul@openvz.org>
Wed, 16 Apr 2008 08:11:13 +0000 (01:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Apr 2008 08:11:13 +0000 (01:11 -0700)
I.e. set the proper net and mark as NETNS_LOCAL.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_gre.c

index aa973812edc161d30ba8d9d40b5372aab8c465e5..7ff52628a73f2048204eb38a40264d04f9c58e2f 100644 (file)
@@ -278,6 +278,8 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct net *net,
        if (!dev)
          return NULL;
 
+       dev_net_set(dev, net);
+
        if (strchr(name, '%')) {
                if (dev_alloc_name(dev, name) < 0)
                        goto failed_free;
@@ -1236,6 +1238,7 @@ static void ipgre_tunnel_setup(struct net_device *dev)
        dev->flags              = IFF_NOARP;
        dev->iflink             = 0;
        dev->addr_len           = 4;
+       dev->features           |= NETIF_F_NETNS_LOCAL;
 }
 
 static int ipgre_tunnel_init(struct net_device *dev)