From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> 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@xxxxxxxxxx> CC: Jesse Gross <jesse@xxxxxxxxxx> CC: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- 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: