diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-04-16 01:11:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-16 01:11:13 -0700 |
commit | 0b67eceb198b77045950011e12bf176a7c11ad98 (patch) | |
tree | 6712704b88a6ea5b1a684f2ffcf47667c034b17b /net/ipv4 | |
parent | 96635522f7930025b8a56a7075db82c48a454a30 (diff) | |
download | lwn-0b67eceb198b77045950011e12bf176a7c11ad98.tar.gz lwn-0b67eceb198b77045950011e12bf176a7c11ad98.zip |
[GRE]: Allow to create IPGRE tunnels in net namespaces.
I.e. set the proper net and mark as NETNS_LOCAL.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/ip_gre.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index aa973812edc1..7ff52628a73f 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -278,6 +278,8 @@ static struct ip_tunnel * ipgre_tunnel_locate(struct net *net, if (!dev) return NULL; + dev_net_set(dev, net); + if (strchr(name, '%')) { if (dev_alloc_name(dev, name) < 0) goto failed_free; @@ -1236,6 +1238,7 @@ static void ipgre_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 ipgre_tunnel_init(struct net_device *dev) |