White box switches are, in theory, simple to realize with merchant silicon and SDN. These two ingredients have been available for years, and there are plenty of them. Despite this situation, most in the industry agree that the availability of white box switches has been limited, and limited too has been the use of these white boxes. Will this situation continue or is it about to change?
Traditionally, Switches Are Sold as Integrated HW/SW and Integrated Data/Control Plane Solutions: Traditional switches come with all the necessary hardware and software integrated and not openly exposed, i.e. closed solutions. If we look at the architecture of a switch, its building blocks look similar to the blocks of a standard server architecture with drivers for the hardware, an operating system, and applications running on top.
Traditional hardware has already started moving away from self-designed chips, and companies are more and more often integrating so-called merchant silicon, which means chipsets provided by third parties like Broadcom, Freescale or Mellanox. These chipset producers also supply drivers and software development kits (SDK) to allow the other components to use their functionality.
Switches Traditionally Sold as Integrated Solutions (Image Source: Indiana University GlobalNOC)
Despite this, all other components (NOS, Command Line Interface (CLI), forwarding and management applications, protocol implementations, etc.) are still vendor specific and not accessible.
Why Do We Need White Box Switching? White box switching now decouples these software and hardware components and offers many degrees of freedom when integrating these components. Additionally, there is a strong move to supply open source alternative to most of these layers.
Open Source Alternatives for Switches (Image Source: Indiana University GlobalNOC)
From bottom to top, we see:
- The chipsets, provided by merchant silicon vendors.
- The Original Design Manufacturers (ODM) adds the chassis, fans, power modules, and provides the baremetal device.
The Open Network Install Environment Bootloader, provided by OCP, is the de facto standard mechanism for installing different NOS on whiteboxes. Some examples include:
- OpenNetworkLinux: An open source network operating system without any applications included. Allows integration of various components or self-developed software as needed. This project is maintained by OCP.
- Full commercial NOS solutions that provide all the components of a traditional switch (CLI, protocol implementations, etc.). Vendors who provide this solution also provide support for their software. One functional difference between this and traditional vendor switches is that most NOS solutions open the underlying Linux, so that applications can be easily installed using tools like Chef, Puppet, Salt and Ansible. Examples of full commercial network operating systems are PicOS, OcNOS and Cumulus Linux.
- Open source solutions. A leading example of this implementation is the OpenSwitch project.
What else is needed to make White Box a reality? A organization leveraging these a white box switch building blocks needs to have technical know-how in network programming and in Linux environments. Many organizations have been building these skills and preparing for the open source, white box era. Other important aspects have been white box reliability and cost.
Once we see these issues addressed, the adoption of white boxes should become more widespread.