提交 0a826406 编写于 作者: P Pavel Emelyanov 提交者: David S. Miller

[IPIP]: Allow to create IPIP tunnels in net namespaces.

Set the proper net before calling register_netdev and disable 
the tunnel device netns changing.
Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 b99f0152
...@@ -239,6 +239,8 @@ static struct ip_tunnel * ipip_tunnel_locate(struct net *net, ...@@ -239,6 +239,8 @@ static struct ip_tunnel * ipip_tunnel_locate(struct net *net,
if (dev == NULL) if (dev == NULL)
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;
...@@ -839,6 +841,7 @@ static void ipip_tunnel_setup(struct net_device *dev) ...@@ -839,6 +841,7 @@ static void ipip_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 ipip_tunnel_init(struct net_device *dev) static int ipip_tunnel_init(struct net_device *dev)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册