From: Pavel Emelyanov Date: Wed, 16 Apr 2008 08:06:18 +0000 (-0700) Subject: [IPIP]: Allow to create IPIP tunnels in net namespaces. X-Git-Tag: v2.6.26-rc1~1138^2~47 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a826406d4adf0c4b7cd47f116cb8e8ef65b92a3;p=linux-2.6 [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: Pavel Emelyanov Signed-off-by: David S. Miller --- diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 1de39e1dc4..149111f08e 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -239,6 +239,8 @@ static struct ip_tunnel * ipip_tunnel_locate(struct net *net, if (dev == NULL) return NULL; + dev_net_set(dev, net); + if (strchr(name, '%')) { if (dev_alloc_name(dev, name) < 0) goto failed_free; @@ -839,6 +841,7 @@ static void ipip_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 ipip_tunnel_init(struct net_device *dev)