[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190930142349.GE2211@nanopsycho>
Date: Mon, 30 Sep 2019 16:23:49 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Andrew Lunn <andrew@...n.ch>
Cc: netdev@...r.kernel.org, davem@...emloft.net, idosch@...lanox.com,
pabeni@...hat.com, edumazet@...gle.com, petrm@...lanox.com,
sd@...asysnail.net, f.fainelli@...il.com,
stephen@...workplumber.org, mlxsw@...lanox.com
Subject: Re: [patch net-next 2/3] net: introduce per-netns netdevice notifiers
Mon, Sep 30, 2019 at 03:38:24PM CEST, andrew@...n.ch wrote:
>> static int call_netdevice_notifiers_info(unsigned long val,
>> struct netdev_notifier_info *info)
>> {
>> + struct net *net = dev_net(info->dev);
>> + int ret;
>> +
>> ASSERT_RTNL();
>> +
>> + /* Run per-netns notifier block chain first, then run the global one.
>> + * Hopefully, one day, the global one is going to be removed after
>> + * all notifier block registrators get converted to be per-netns.
>> + */
>
>Hi Jiri
>
>Is that really going to happen? register_netdevice_notifier() is used
>in 130 files. Do you plan to spend the time to make it happen?
That's why I prepended the sentency with "Hopefully, one day"...
>
>> + ret = raw_notifier_call_chain(&net->netdev_chain, val, info);
>> + if (ret & NOTIFY_STOP_MASK)
>> + return ret;
>> return raw_notifier_call_chain(&netdev_chain, val, info);
>> }
>
>Humm. I wonder about NOTIFY_STOP_MASK here. These are two separate
>chains. Should one chain be able to stop the other chain? Are there
Well if the failing item would be in the second chain, at the beginning
of it, it would be stopped too. Does not matter where the stop happens,
the point is that the whole processing stops. That is why I added the
check here.
>other examples where NOTIFY_STOP_MASK crosses a chain boundary?
Not aware of it, no. Could you please describe what is wrong?
>
> Andrew
Powered by blists - more mailing lists