From: Nicolas Dichtel nicolas.dichtel@6wind.com
commit 41009481b690493c169ce85f591b9d32c6fd9422 upstream.
The function geneve_dev_create_fb() (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: e305ac6cf5a1 ("geneve: Add support to collect tunnel metadata.") CC: Pravin B Shelar pshelar@nicira.com CC: Jesse Gross jesse@nicira.com CC: Thomas Graf tgraf@suug.ch Signed-off-by: Nicolas Dichtel nicolas.dichtel@6wind.com Signed-off-by: David S. Miller davem@davemloft.net Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/net/geneve.c | 4 ++++ 1 file changed, 4 insertions(+)
--- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -1363,6 +1363,10 @@ struct net_device *geneve_dev_create_fb( if (err) goto err;
+ err = rtnl_configure_link(dev, NULL); + if (err < 0) + goto err; + return dev;
err: