Messages in this thread | | | Subject | Re: [PATCH net] net: Have netpoll bring-up DSA management interface | From | Florian Fainelli <> | Date | Mon, 16 Nov 2020 15:20:37 -0800 |
| |
On 11/16/20 3:06 PM, Florian Fainelli wrote: > 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.
I remember now there was a reason for me to "open code" this, and this is because since the patch is intended to be a bug fix, I wanted it to be independent from: 2f1e8ea726e9 ("net: dsa: link interfaces with the DSA master to get rid of lockdep warnings")
which we would be depending on and is only two-ish releases away. Let me know if you prefer different fixes for different branches. -- Florian
| |