On Mon, Feb 08, 2021 at 23:30, Andrew Lunn <and...@lunn.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