While the name doesn’t exactly roll off the tongue, the project is designed to help companies, whether web scale-type companies like Facebook or others looking to take advantage of the Open Compute Project’s open source switches, to use the platform as a base to configure the switch’s forwarding algorithms (more on that in a minute) in a way that makes sense to them.
Up until now, the project has consisted of a set of disparate components that engineers had to stitch together. Open Network Linux helps bring these components together in a flexible way, while removing some of the engineering complexity.
The project began about 18 months ago when Big Switch Networks contributed the beginnings of a switch OS to OCP. “The switch OS is a complicated beast,” Kyle Forster, co-founder at Big Switch explained. It involves two big components: the platform code and forwarding agent, he said. The hardware for the switch itself is an OCP design originally contributed by Facebook
Without getting too technical, the platform, as the name suggests, is the base operating system code to configure the various components that make up the switch such as front panel LED behavior, environmental sensors, fan drivers and so forth. But where it gets interesting, according to Big Switch CTO Rob Sherwood, is when an engineer begins building on top of that base code and designs the forwarding agent component, which helps define how the switch interacts with the network.
This is where companies can begin to differentiate themselves. Once the platform code has been written and is stable, engineers tend to expect that it will work, but the forwarding agent is another matter. “What we’ve been seeing is everyone has different idea of packet forwarding agent,” Sherwood said.
Today’s announcement means everyone can build this piece to their liking and plug it into the stack. The three partners — Big Switch Networks, Facebook and NTT — will demo this ability for the first time later this week. Out of the box, they have included three reference forwarding agents: Facebook Open Switch System (FBOSS) from Facebook, L3 Routing from NTT and OpenFlow from Big Switch Networks.
These reference components give engineers something to work with to begin to build their own agents. In the future, some will contribute them to the open source project while others will keep them proprietary, Sherwood explained.
Open Compute Project Explained
As a bit of background, when Facebook moved from buying hardware to creating its own, it created the Open Compute Project (OCP) and began contributing designs and underlying software to that project. One such project was the Facebook’s top of rack switch, also known as The Wedge.
The idea behind the OCP was two-fold. First of all, it was about being a good corporate citizen and sharing what it had learned about creating web-scale hardware with the broader community, but in doing that, Facebook could also get engineers outside the company with other ideas thinking about and contributing to the project too.
Big Switch Networks came along to help companies, who were interested in OCP hardware, but didn’t have the skill or personnel to install and implement it in their organizations.
This is admittedly complex stuff, but at its core it comes down to something fundamental about open source projects. They are designed to help companies build solutions on top of the open source foundation. The Open Source code provides a starting point, so each engineer doesn’t have to reinvent the wheel, yet each one can build on top of that or modify it as they see fit.
This project is no different.