Commit 690afc16 authored by Niko Kortstrom's avatar Niko Kortstrom Committed by David S. Miller

net: ip6_gre: fix moving ip6gre between namespaces

Support for moving IPv4 GRE tunnels between namespaces was added in
commit b57708ad ("gre: add x-netns support"). The respective change
for IPv6 tunnels, commit 22f08069 ("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: default avatarNiko Kortstrom <niko.kortstrom@nokia.com>
Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: default avatarWilliam Tu <u9012063@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7008ee12
...@@ -1466,7 +1466,6 @@ static int ip6gre_tunnel_init_common(struct net_device *dev) ...@@ -1466,7 +1466,6 @@ static int ip6gre_tunnel_init_common(struct net_device *dev)
dev->mtu -= 8; dev->mtu -= 8;
if (tunnel->parms.collect_md) { if (tunnel->parms.collect_md) {
dev->features |= NETIF_F_NETNS_LOCAL;
netif_keep_dst(dev); netif_keep_dst(dev);
} }
ip6gre_tnl_init_features(dev); ip6gre_tnl_init_features(dev);
...@@ -1894,7 +1893,6 @@ static void ip6gre_tap_setup(struct net_device *dev) ...@@ -1894,7 +1893,6 @@ static void ip6gre_tap_setup(struct net_device *dev)
dev->needs_free_netdev = true; dev->needs_free_netdev = true;
dev->priv_destructor = ip6gre_dev_free; dev->priv_destructor = ip6gre_dev_free;
dev->features |= NETIF_F_NETNS_LOCAL;
dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
netif_keep_dst(dev); netif_keep_dst(dev);
...@@ -2197,7 +2195,6 @@ static void ip6erspan_tap_setup(struct net_device *dev) ...@@ -2197,7 +2195,6 @@ static void ip6erspan_tap_setup(struct net_device *dev)
dev->needs_free_netdev = true; dev->needs_free_netdev = true;
dev->priv_destructor = ip6gre_dev_free; dev->priv_destructor = ip6gre_dev_free;
dev->features |= NETIF_F_NETNS_LOCAL;
dev->priv_flags &= ~IFF_TX_SKB_SHARING; dev->priv_flags &= ~IFF_TX_SKB_SHARING;
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
netif_keep_dst(dev); netif_keep_dst(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment