[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87mtwd4du1.fsf@waldekranz.com>
Date: Tue, 09 Feb 2021 13:37:10 +0100
From: Tobias Waldekranz <tobias@...dekranz.com>
To: Andrew Lunn <andrew@...n.ch>, Jakub Kicinski <kuba@...nel.org>
Cc: Vadym Kochan <vadym.kochan@...ision.eu>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
Mickey Rachamim <mickeyr@...vell.com>,
linux-kernel@...r.kernel.org,
Vladimir Oltean <vladimir.oltean@....com>
Subject: Re: [PATCH net-next 5/7] net: marvell: prestera: add LAG support
On Mon, Feb 08, 2021 at 23:30, Andrew Lunn <andrew@...n.ch> wrote:
>> > I took a quick look at it, and what I found left me very puzzled. I hope
>> > you do not mind me asking a generic question about the policy around
>> > switchdev drivers. If someone published a driver using something similar
>> > to the following configuration flow:
>> >
>> > iproute2 daemon(SDK)
>> > | ^ |
>> > : : : user/kernel boundary
>> > v | |
>> > netlink | |
>> > | | |
>> > v | |
>> > driver | |
>> > | | |
>> > '--------' |
>> > : kernel/hardware boundary
>> > v
>> > ASIC
>> >
>> > My guess is that they would be (rightly IMO) told something along the
>> > lines of "we do not accept drivers that are just shims for proprietary
>> > SDKs".
>> >
>> > But it seems like if that same someone has enough area to spare in their
>> > ASIC to embed a CPU, it is perfectly fine to run that same SDK on it,
>> > call it "firmware", and then push a shim driver into the kernel tree.
>> >
>> > iproute2
>> > |
>> > : user/kernel boundary
>> > v
>> > netlink
>> > |
>> > v
>> > driver
>> > |
>> > |
>> > : kernel/hardware boundary
>> > '-------------.
>> > v
>> > daemon(SDK)
>> > |
>> > v
>> > ASIC
>> >
>> > What have we, the community, gained by this? In the old world, the
>> > vendor usually at least had to ship me the SDK in source form. Having
>> > seen the inside of some of those sausage factories, they are not the
>> > kinds of code bases that I want at the bottom of my stack; even less so
>> > in binary form where I am entirely at the vendor's mercy for bugfixes.
>> >
>> > We are talking about a pure Ethernet fabric here, so there is no fig
>> > leaf of "regulatory requirements" to hide behind, in contrast to WiFi
>> > for example.
>> >
>> > Is it the opinion of the netdev community that it is OK for vendors to
>> > use this model?
>
> What i find interesting is the comparison between Microchip Sparx5 and
> Marvell Prestera. They offer similar capabilities. Both have a CPU on
> them. As you say Marvell is pushing their SDK into this CPU, black
> box. Microchip decided to open everything, no firmware, the kernel
> driver is directly accessing the hardware, the datasheet is available,
> and microchip engineers are here on the list.
Indeed, it is a very stark difference in approach. Perhaps a silly
example, but it speaks to their developer focus, just the fact that they
have an online register reference on GitHub[1] amazed me. What a breath
of fresh air! ...and speaks to the general state of things, I guess :)
Unsurprisingly the team behind it are also really great to work with!
> I really hope that Sparx5 takes off, and displaces Prestera. In terms
We are certainly keeping our eyes on it!
> of being able to solve issues, we the community can work with
> Sparx5. Prestera is too much a black box.
I would only add that I still, perhaps naively, hope Marvell will
eventually see the benefits of having a truly open driver.
> Andrew
[1]: https://microchip-ung.github.io/sparx-5_reginfo/reginfo_sparx-5.html
Powered by blists - more mailing lists