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

Set proper net and mark a new device as NETNS_LOCAL before registering.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Pavel Emelyanov 2008-04-16 01:17:18 -07:00 committed by David S. Miller
parent 907a08c402
commit 7a97146cc6
1 changed files with 3 additions and 0 deletions

View File

@ -182,6 +182,8 @@ static struct ip_tunnel * ipip6_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;
@ -1029,6 +1031,7 @@ static void ipip6_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 ipip6_tunnel_init(struct net_device *dev) static int ipip6_tunnel_init(struct net_device *dev)