diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-04-16 04:17:18 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-16 04:17:18 -0400 |
commit | 7a97146cc6e8145f65abfee36e56de7b8061c34f (patch) | |
tree | 08a2f8e5ecaf0368cd6db2ec908974d48a45acbd /net/ipv6 | |
parent | 907a08c4023b54ffebf3fb966efcbcc1312abe32 (diff) |
[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>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/sit.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 7badac6c7416..4b2f1033994e 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c | |||
@@ -182,6 +182,8 @@ static struct ip_tunnel * ipip6_tunnel_locate(struct net *net, | |||
182 | if (dev == NULL) | 182 | if (dev == NULL) |
183 | return NULL; | 183 | return NULL; |
184 | 184 | ||
185 | dev_net_set(dev, net); | ||
186 | |||
185 | if (strchr(name, '%')) { | 187 | if (strchr(name, '%')) { |
186 | if (dev_alloc_name(dev, name) < 0) | 188 | if (dev_alloc_name(dev, name) < 0) |
187 | goto failed_free; | 189 | goto failed_free; |
@@ -1029,6 +1031,7 @@ static void ipip6_tunnel_setup(struct net_device *dev) | |||
1029 | dev->flags = IFF_NOARP; | 1031 | dev->flags = IFF_NOARP; |
1030 | dev->iflink = 0; | 1032 | dev->iflink = 0; |
1031 | dev->addr_len = 4; | 1033 | dev->addr_len = 4; |
1034 | dev->features |= NETIF_F_NETNS_LOCAL; | ||
1032 | } | 1035 | } |
1033 | 1036 | ||
1034 | static int ipip6_tunnel_init(struct net_device *dev) | 1037 | static int ipip6_tunnel_init(struct net_device *dev) |