Re: [PATCH net] net: Have netpoll bring-up DSA management interface
From: Florian Fainelli
Date: Mon Nov 16 2020 - 18:07:03 EST
On 10/20/20 6:12 PM, Jakub Kicinski wrote:
> On Tue, 20 Oct 2020 00:19:16 +0300 Vladimir Oltean wrote:
>> On Mon, Oct 19, 2020 at 02:03:40PM -0700, Florian Fainelli wrote:
>>>> Completely crazy and outlandish idea, I know, but what's wrong with
>>>> doing this in DSA?
>>>
>>> I really do not have a problem with that approach however other stacked
>>> devices like 802.1Q do not do that. It certainly scales a lot better to
>>> do this within DSA rather than sprinkling DSA specific knowledge
>>> throughout the network stack. Maybe for "configuration less" stacked
>>> devices such as DSA, 802.1Q (bridge ports?), bond etc. it would be
>>> acceptable to ensure that the lower device is always brought up?
>>
>> For upper interfaces with more than one lower (bridge, bond) I'm not so
>> sure. For uppers with a single lower (DSA, 8021q), it's pretty much a
>> no-brainer to me. Question is, where to code this? I think it's ok to
>> leave it in DSA, then 8021q could copy it as well if there was a need.
>
> FWIW no strong preference here. Maybe I'd lean slightly towards
> Florian's approach since we can go to the always upping the CPU netdev
> from that, if we start with auto-upping CPU netdev - user space may
> depend on that in general so we can't go back.
>
> But up to you folks, this seems like a DSA-specific problem, vlans don't
> get created before user space is up (AFAIK), so there is no compelling
> reason to change them in my mind.
Right I remembered in my previous job we had a patch that would support
creating VLAN devices when specified over ipconfig on the kernel command
line, but that as never upstream AFAICT.
>
> Florian for you patch specifially - can't we use
> netdev_for_each_lower_dev()?
Looks like I forgot to respond here, yes we could do that because we do
call netdev_upper_dev_link() in net/dsa/slave.c. Let me re-post with
that done.
--
Florian