Commit 0b67eceb authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by David S. Miller

[GRE]: Allow to create IPGRE tunnels in net namespaces.

I.e. set the proper net and mark as NETNS_LOCAL.
Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 96635522
...@@ -278,6 +278,8 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct net *net, ...@@ -278,6 +278,8 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct net *net,
if (!dev) if (!dev)
return NULL; return NULL;
dev_net_set(dev, net);
if (strchr(name, '%')) { if (strchr(name, '%')) {
if (dev_alloc_name(dev, name) < 0) if (dev_alloc_name(dev, name) < 0)
goto failed_free; goto failed_free;
...@@ -1236,6 +1238,7 @@ static void ipgre_tunnel_setup(struct net_device *dev) ...@@ -1236,6 +1238,7 @@ static void ipgre_tunnel_setup(struct net_device *dev)
dev->flags = IFF_NOARP; dev->flags = IFF_NOARP;
dev->iflink = 0; dev->iflink = 0;
dev->addr_len = 4; dev->addr_len = 4;
dev->features |= NETIF_F_NETNS_LOCAL;
} }
static int ipgre_tunnel_init(struct net_device *dev) static int ipgre_tunnel_init(struct net_device *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment