Re: [PATCH v3 0/6] staging: Introduce DPAA2 Ethernet Switch driver

From: Linus Walleij
Date: Sat Oct 14 2017 - 05:35:28 EST


On Thu, Oct 5, 2017 at 11:16 AM, Razvan Stefanescu
<razvan.stefanescu@xxxxxxx> wrote:

> This patchset introduces the Ethernet Switch Driver for Freescale/NXP SoCs
> with DPAA2 (DataPath Acceleration Architecture v2). The driver manages
> switch objects discovered on the fsl-mc bus. A description of the driver
> can be found in the associated README file.
>
> The patchset consists of:
> * A set of libraries containing APIs for configuring and controlling
> Management Complex (MC) switch objects
> * The DPAA2 Ethernet Switch driver
> * Patch adding ethtool support

So it appears that ethernet switches is a class of device that need their own
subsystem in Linux, before this driver can move out of staging.

I ran into the problem in OpenWRT that has these out-of-tree patches for
off-chip ethernet switches, conveniently placed under net/phy:
https://github.com/openwrt/openwrt/tree/master/target/linux/generic/files/drivers/net/phy

These are some 12 different ethernet switches. It is used in more or
less every home router out there.

It's not really working to have all of this out-of-tree, there must have been
discussions about the requirements for a proper ethernet switch subsystem.

I'm not a good net developers, just a grumpy user having to deal with all
of this out-of-tree code that's not helpful with changing interfaces like
device tree and so on.

Can you people who worked on this over the years pit in with your
requirements for an ethernet switch subsystem so we can house these
drivers in a proper way?

What we need AFAICT:

- Consensus on userspace ABI
- Consensus on ethtool extenstions
- Consensus on where in drivers/net this goes

You can kick me for not knowing what I'm talking about and how complex the
problem is now.

Yours,
Linus Walleij