From: Pavel Emelyanov <xemul@openvz.org>
Date: Wed, 16 Apr 2008 08:11:13 +0000 (-0700)
Subject: [GRE]: Allow to create IPGRE tunnels in net namespaces.
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0b67eceb198b77045950011e12bf176a7c11ad98;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

[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>
---

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)