[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKfDRXjM-afW=PD77KSWU3AKk3ow_zUwb5KW3c3pSYDyAuCjqQ@mail.gmail.com>
Date: Mon, 13 Jul 2015 16:11:14 +0200
From: Kristian Evensen <kristian.evensen@...il.com>
To: Nicolas Dichtel <nicolas.dichtel@...nd.com>
Cc: jiri@...nulli.us, David Miller <davem@...emloft.net>,
Network Development <netdev@...r.kernel.org>,
j.vosburgh@...il.com, vfalico@...il.com, gospo@...ulusnetworks.com
Subject: Re: [PATCH net v4] rtnl/bond: don't send rtnl msg for unregistered iface
Hello,
I have a quick question about this patch.
On Wed, May 13, 2015 at 2:19 PM, Nicolas Dichtel
<nicolas.dichtel@...nd.com> wrote:
> diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
> index 837d30b5ffed..7b25f1ef3d75 100644
> --- a/net/core/rtnetlink.c
> +++ b/net/core/rtnetlink.c
> @@ -2415,6 +2415,9 @@ void rtmsg_ifinfo(int type, struct net_device *dev, unsigned int change,
> {
> struct sk_buff *skb;
>
> + if (dev->reg_state != NETREG_REGISTERED)
> + return;
> +
Is this check correct, or placed at the correct location? The reason I
am asking is as follows. In rollback_registered_many(), dev->reg_state
is set to NETREG_UNREGISTERING for devices that will be unregistered.
When rtmsg_ifinfo_build_skb(RTM_DELLINK, ...) is called in the
following loop in rollback_registered_many, this comparison will
always be true and no DELLINK event generated.
This change led to some applications I have not behaving as expected
due to missing DELLINK when network devices are removed. I also see no
DELLINK with ip mon link. Removing the check restores the old behavior
(DELLINK events are generated). My machine is running 3.18.18, which
includes this fix.
Thanks in advance for any help,
Kristian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists