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: b2acd1dc39 ("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>
This commit is contained in:
Nicolas Dichtel 2016-06-13 10:31:06 +02:00 committed by David S. Miller
parent cf5da330bb
commit da6f1da819
1 changed files with 4 additions and 0 deletions

View File

@ -1149,6 +1149,10 @@ struct net_device *gretap_fb_dev_create(struct net *net, const char *name,
if (err) if (err)
goto out; goto out;
err = rtnl_configure_link(dev, NULL);
if (err < 0)
goto out;
return dev; return dev;
out: out:
ip_tunnel_dellink(dev, &list_kill); ip_tunnel_dellink(dev, &list_kill);