My understanding was that when you buy software such as Cumulus Linux, what
you are actually paying for is the Broadcom license. You can actually go
and download Cumulus Linux and it's all open source except, you guessed it,
switchd, which is what takes the info from the linux kernel and programs it
into the hardware.
I believe that is Cumulus' business model where they ride the requirement for the Broadcom license. So part of the license fee is for Broadcom and part is for Cumulus.
Cumulus has used their licensing fees to develop and maintain tooling for their ecosystem. In that process, they have released many of their tools to the opensource world. Things like ifupdown2 and Free Range Routing are a result of that model.
My understanding was that the rest the "open source" OSs operate the same
Pica8 does something similar.
Please, correct me if it is at all possible to buy a whitebox switch and
then load a "no cost OS" on it and it starts switching packets through
The only case in which I know that you can purchase a bare metal switch and put a 'no cost OS' such as Linux on is Mellanox. They are the ones who have developed the switchdev module I mentioned in an earlier post. There is _no_ requirement for a black box module to interface between the software and the hardware. That whole path down to but not including the hardware is opensource.
There is a large carrier who is making use of switchdev:
so to clarify I am interested only in bare-metal or whitebox switches
and freeware, open source software.
There is something else called SAI, which may do something similar to switchdev:
It's my understanding that there simply is no such thing. Because none of
the HARDWARE has open source code. Sure, anyone can write software to
spirit packets between NICs (linux and *BSD has had that capability for
decades.) But doing that "at scale" with the various manufacturers SoCs
requires vendor specific code to setup and control the chip. The broadcom
"NDK" is just a shim on top of a pre-compiled proprietary SDK blob.
As mentioned above, and in another message, Mellanox is the only one, that I know of, for providing a mechanism to drive the hardware (both switch and network cards) from the OS, without a pre-compiled proprietary SDK blob (black box).
Disclaimer: I not affiliated with Mellanox, only a customer.