“Open Network Linux” Helps OCP Move Towards a Fully Open Network Stack
I just got back from this year's Open Compute Summit and I have to say -- I was blown away. Somewhere between the 3500 attendees, keynote talks from industry heavy weights, a surprise appearance from Mark Zuckerberg, and some hard numbers on open hardware cost savings ("Estimate over $1.2 billion over the last 3 years" - Frank Frankovsky, VP of Hardware Design and Supply Chain Operations at Facebook), it became very clear to me that the days of proprietary, vertically integrated, closed vendor stacks are numbered.
While the Summit had a broad scope including rack design, cooling systems, compute, and storage, I was--not surprisingly--most interested in the advances in the networking sessions (http://www.opencompute.org/projects/networking/). Joining Broadcom’s design from last year, Intel and Mellanox published their own open hardware designs for top-of-rack switches. Perhaps even more significantly, Broadcom and Mellanox unveiled plans to publish the APIs to their until-now proprietary switch silicon.
Here at Big Switch, we contributed "Open Network Linux" (ONL), the Linux distribution for bare metal switches that runs underneath our commercial Switch Light OS. ONL’s goal is to give people deploying OCP switches a simplified experience with a standard Linux distribution that comes prepackaged with all of the relevant drivers, loaders, and platform-independent goodness. If ONL is successful and becomes a popular distribution for open network hardware, it will also mean less integration work for hardware and software vendors and thus fewer bugs and other surprises once ONL-based products get to end customers. In fact, we’re already starting to receive kernel patches and contributions from other vendors, including from Cumulus Networks.
Included with ONL is the Linux kernel (currently v3.9.6), a litany of drivers, installation scripts and a netboot-capable bootloader -- all customized for a variety of bare metal switch devices. Users can install ONL on any bare metal hardware that supports the newly standardized Open Network Install Environment (ONIE - http://onie.github.io/onie/). ONL also includes several advanced features that we built out over the course of Switch Light OS development, such as overlays to minimize the number of writes to the flash memories and the ability to boot switch images remotely over the network.
ONL does not currently configure or manage the switch packet forwarding hardware, e.g., ASICs, because the APIs to manage these devices are still proprietary and are only available under strict NDA. That said, as Broadcom and Mellanox proceed with their plans to publish the APIs to their switching chips, we expect that these forwarding agents will follow. In the mean time, it’s possible to OpenFlow-enable ONL switches using Big Switch’s enterprise-grade Indigo forwarding agent which is available in open source with a precompiled binary for the ASIC SDK code that we can’t yet release.
Big Switch’s Switch Light OS is based on ONL, adding on Indigo's monitoring utilities and other production hardened tools.
We at Big Switch believe that a common switch Linux distribution like ONL is an important step forward for the community as we accelerate bare-metal adoption and drive the cost savings that Frank mentioned. We are excited to be participating and contributing to the Open Compute Project.
The Open Network Linux source code is available at http://github.com/opennetworklinux/ONL.
--Rob Sherwood, Big Switch CTO