[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOrHB_DCupNkAz+BSaOKKE+KLYhK-hytqW2vEV1yQ-iYr6hakg@mail.gmail.com>
Date: Fri, 10 Jun 2016 10:50:35 -0700
From: pravin shelar <pshelar@....org>
To: Nicolas Dichtel <nicolas.dichtel@...nd.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Thomas Graf <tgraf@...g.ch>,
Pravin B Shelar <pshelar@...ira.com>
Subject: Re: [PATCH net 1/2] ovs/vxlan: fix rtnl notifications on iface deletion
On Fri, Jun 10, 2016 at 2:32 AM, Nicolas Dichtel
<nicolas.dichtel@...nd.com> wrote:
> The function vxlan_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: dcc38c033b32 ("openvswitch: Re-add CONFIG_OPENVSWITCH_VXLAN")
> CC: Thomas Graf <tgraf@...g.ch>
> CC: Pravin B Shelar <pshelar@...ira.com>
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@...nd.com>
> ---
> drivers/net/vxlan.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
> index f999db2f97b4..f7669d60b3f7 100644
> --- a/drivers/net/vxlan.c
> +++ b/drivers/net/vxlan.c
> @@ -2972,6 +2972,12 @@ struct net_device *vxlan_dev_create(struct net *net, const char *name,
> return ERR_PTR(err);
> }
>
> + err = rtnl_configure_link(dev, NULL);
> + if (err < 0) {
> + free_netdev(dev);
> + return ERR_PTR(err);
> + }
> +
Patch looks good except the error handling code. earlier call to
vxlan_dev_configure() registers the net-device and add the device to
vxlan device list. it needs to be undone before freeing the device.
Powered by blists - more mailing lists