What's Inside Cumulus Linux for Networking?
It's Debian Linux-based, but it's not all open source.
Cumulus Networks officially emerged from stealth mode this week, offering the promise of a new model for network operating systems.
Cumulus takes a different approach than the typical model, in which the hardware switch vendor bakes in its own operating system. The startup wants hardware vendors to build whitebox networking gear, which can then be imaged with an operating system. Cumulus wants that operating system to be its own Cumulus Linux.
The idea of building your own switch is not a new one, but to date, it hasn't been as easy as imaging a new server with an operating system. JR Rivers, co-founder and CEO of Cumulus Networks, explained to Enterprise Networking Planet that though people have been talking about whitebox switches for years, there has been no place to buy them.
"It has always been a half-myth, but what we're doing is turning the myth into reality," Rivers said.
Linux on switching gear is also nothing new. Intel's Wind River and Cavium's Monta Vista Linux have had various flavors of Carrier Grade Linux intended for networking deployments. Many networking vendors, including both Cisco and Juniper, leverage Linux as well. Back in 2006, software vendor Vyatta was pushing its own Open Flexible Router (OFR) Linux distribution platform. Brocade recently acquired Vyatta.
Rivers argues that Cumulus is something different than all of those previous attempts.
"Very few people have a relationship with an ODM (Original Device Manufacturer) to get hardware without software on it," Rivers said.
While multiple ODMs, including big silicon vendors like Intel and Broadcom, have long had reference platforms that can enable Linux, Rivers argued that there is a big difference between a reference platform and what an enterprise or data center can do on its own.
Open Compute Project
The mechanism to take a switch and easily image it with your own operating system has never existed before.
To that end, Cumulus has been a very active participant in the Facebook-led Open Compute Project. At the recent Interop conference in Las Vegas, Open Compute launched a new networking initiative. The networking project aims to open up switches so that they become more like servers in terms of flexibility.
Open Network Install Environment
Cumulus worked on what is known as the Open Network Install Environment (ONIE), which is a pivotal piece of the Open Compute networking project. With ONIE, a device manufacturer can produce a switch that will boot to an installer. That installer will then enable the user to select the operating system they want to install on the switch.
"It's kind of like a mix of BIOS, PXE, and gPXE, all rolled up together," Rivers said.
While Cumulus can and does partner with SDN vendors and technologies, the Linux Open Virtual Switch (OVS) that enables virtual switching in Linux is not part of their initial release. The Open Virtual Switch is open source technology that first landed in the Linux 3.3 kernel in March of 2012.
"We're working with a big overlay partner, so I think in the next three months you'll see an update with a virtual networking tie-in," Rivers said.
The Cumulus Linux operating system is based on the recent Debian Linux 7.0 Wheezy release.
"We use Debian Wheezy as the foundation for the non-optimized set of applications we use," Rivers said. "Things like routing and bridging protocols are pieces where we have advanced the kernel or we backport to the Wheezy foundation."
While the core of Linux itself is open source technology, not everything that is part of Cumulus Linux is open source.
"The Linux kernel has some great data structures and behaviors around networking, and we focus on accelerating those pieces in hardware," Rivers said.
The proprietary bits from Cumulus effectively constitute a userspace device driver. Rivers explained that it is proprietary because it contains code owned by silicon vendors.
Rivers added that Cumulus does not currently maintain its own publicly accessible set of source code packages for Cumulus Linux, which would enable anyone to download and build their own distribution.
"Any patches that we have to the stock version of whatever we are using as a package, we do publish on our website," Rivers said.
Sean Michael Kerner is a senior editor at Enterprise Networking Planet and InternetNews.com. Follow him on Twitter @TechJournalist.