| From 191ef5e4983d64395d2f179f9646ae19f0da6c17 Mon Sep 17 00:00:00 2001 |
| From: Niko Kortstrom <niko.kortstrom@nokia.com> |
| Date: Thu, 16 Jan 2020 11:43:27 +0200 |
| Subject: [PATCH] net: ip6_gre: fix moving ip6gre between namespaces |
| |
| commit 690afc165bb314354667f67157c1a1aea7dc797a upstream. |
| |
| Support for moving IPv4 GRE tunnels between namespaces was added in |
| commit b57708add314 ("gre: add x-netns support"). The respective change |
| for IPv6 tunnels, commit 22f08069e8b4 ("ip6gre: add x-netns support") |
| did not drop NETIF_F_NETNS_LOCAL flag so moving them from one netns to |
| another is still denied in IPv6 case. Drop NETIF_F_NETNS_LOCAL flag from |
| ip6gre tunnels to allow moving ip6gre tunnel endpoints between network |
| namespaces. |
| |
| Signed-off-by: Niko Kortstrom <niko.kortstrom@nokia.com> |
| Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> |
| Acked-by: William Tu <u9012063@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c |
| index 2d218973a219..d0510b4979d9 100644 |
| --- a/net/ipv6/ip6_gre.c |
| +++ b/net/ipv6/ip6_gre.c |
| @@ -1466,7 +1466,6 @@ static int ip6gre_tunnel_init_common(struct net_device *dev) |
| dev->mtu -= 8; |
| |
| if (tunnel->parms.collect_md) { |
| - dev->features |= NETIF_F_NETNS_LOCAL; |
| netif_keep_dst(dev); |
| } |
| ip6gre_tnl_init_features(dev); |
| @@ -1894,7 +1893,6 @@ static void ip6gre_tap_setup(struct net_device *dev) |
| dev->needs_free_netdev = true; |
| dev->priv_destructor = ip6gre_dev_free; |
| |
| - dev->features |= NETIF_F_NETNS_LOCAL; |
| dev->priv_flags &= ~IFF_TX_SKB_SHARING; |
| dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; |
| netif_keep_dst(dev); |
| @@ -2196,7 +2194,6 @@ static void ip6erspan_tap_setup(struct net_device *dev) |
| dev->needs_free_netdev = true; |
| dev->priv_destructor = ip6gre_dev_free; |
| |
| - dev->features |= NETIF_F_NETNS_LOCAL; |
| dev->priv_flags &= ~IFF_TX_SKB_SHARING; |
| dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; |
| netif_keep_dst(dev); |
| -- |
| 2.7.4 |
| |