diff options
| author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2016-06-13 10:31:06 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-05-10 10:26:26 +0200 |
| commit | d65b4ef77ac4d79f47fdab9efb365dde019c3064 (patch) | |
| tree | 16c1dc79182bbb36ddfe6e3cc60f7d73d22b853e /net | |
| parent | 4d5906105b66a5aa87ceafb8ce159fcb5cec405a (diff) | |
ovs/gre: fix rtnl notifications on iface deletion
commit da6f1da819d4b9c081a477dec74dc468a0b44290 upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/ipv4/ip_gre.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 17c8ac0deeca..c9e7a69aa410 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -1265,6 +1265,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); |
