[SRU][Xenial][PATCH 3/4] ovs/gre: fix rtnl notifications on iface deletion

Joseph Salisbury joseph.salisbury at canonical.com
Thu Dec 8 15:06:04 UTC 2016


From: Nicolas Dichtel <nicolas.dichtel at 6wind.com>

BugLink: http://bugs.launchpad.net/bugs/1593235

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 at suug.ch>
CC: Pravin B Shelar <pshelar at nicira.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel at 6wind.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry picked from commit da6f1da819d4b9c081a477dec74dc468a0b44290)
Signed-off-by: Joseph Salisbury <joseph.salisbury at canonical.com>
---
 net/ipv4/ip_gre.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 7ccde7e..052dc3a 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -1258,6 +1258,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);
-- 
2.7.4





More information about the kernel-team mailing list