summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_gre.c
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2016-06-13 10:31:06 +0200
committerDavid S. Miller <davem@davemloft.net>2016-06-14 22:21:44 -0700
commitda6f1da819d4b9c081a477dec74dc468a0b44290 (patch)
tree3ccbcb93d34cd33ec7cfc4692570c292e4e57510 /net/ipv4/ip_gre.c
parentcf5da330bbdd0c06b05c525a3d1d58ccd82c87a6 (diff)
downloadlinux-da6f1da819d4b9c081a477dec74dc468a0b44290.tar.gz
linux-da6f1da819d4b9c081a477dec74dc468a0b44290.tar.bz2
linux-da6f1da819d4b9c081a477dec74dc468a0b44290.zip
ovs/gre: fix rtnl notifications on iface deletion
The function gretap_fb_dev_create() (only used by ovs) never calls rtnl_configure_link(). The consequence is that dev->rtnl_link_state is never set to RTNL_LINK_INITIALIZED. During the deletion phase, the function rollback_registered_many() sends a RTM_DELLINK only if dev->rtnl_link_state is set to RTNL_LINK_INITIALIZED. Fixes: b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of vport") CC: Thomas Graf <tgraf@suug.ch> CC: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_gre.c')
-rw-r--r--net/ipv4/ip_gre.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 08deba679c8c..07c5cf1838d8 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -1149,6 +1149,10 @@ struct net_device *gretap_fb_dev_create(struct net *net, const char *name,
if (err)
goto out;
+ err = rtnl_configure_link(dev, NULL);
+ if (err < 0)
+ goto out;
+
return dev;
out:
ip_tunnel_dellink(dev, &list_kill);