This is a continuation of my previous blog on White box switches. White box switches allows for dis-aggregation of switch hardware from the software running on the switch. This approach allows the buyer to purchase hardware from 1 vendor and software from another vendor. Open compute project is an Open source project that was started around 4 years back by Facebook to open up the Data center hardware. Multiple other companies like Intel, Microsoft, Goldman Sachs have joined the community since. Around a year back, Networking charter was started in Open compute project to open up the Networking part of Data center hardware. Facebook, Intel, Broadcom, Cumulus, Arista are some of the vendors participating in this project. In this blog, I will cover the following:
- Components/Charter of Open compute networking project.
- Current contributions to the project
- Facebook’s Wedge and FBOSS
- Final thoughts
Components of Open compute Networking project
Following are the priorities defined in Open compute networking charter.
Level 1(hardware) and Level 2(Base software) are the priorities at this point. The focus is mainly on Leaf and Spine switches for Data center. Following picture is taken from 1 of the Open compute workshops which highlights the different components. The layers below the Forwarding software is the initial focus of the Open compute project.
Following are the primary components as I see it.
Following are some of the hardware designs for data center leaf/spine switches submitted to Open compute project.
- Broadcom has submitted the specification for Leaf and Spine switch. The switch has T2 asic, AMD X86 processor for control plane processing and Broadcom Data plane processor for packet intensive tasks.
- Mellanox has submitted the specification for TOR switch. The switch has X2 packet processor and Intel Ivy bridge CPU for control plane processing.
- Intel has submitted the specification for Data center switch. They have specified requirements for packet processor and control plane CPU without naming the exact ones to be used.
- Accton has submitted specification for a Leaf switch using Broadcom T2 packet processor and a control plane processor that can either be freescale or Intel based.
Facebook recently released a Wedge hardware design where any component of the Network switch(Power supply, fan, packet processor, control processor) can be independently changed. Following diagram from Facebook illustrates the design.
Other than Network switches, Accton has released specification for rack adapter that allows a 19″ network switch to fit into a 21″ data center rack.
Open Network install environment(ONIE) is an installer application to install any Network operating system on baremetal switches. ONIE is an Open source project that is also contributed now to Open compute project. Cumulus Networks initially started the ONIE project. ONIE is little similar to PXE network boot for servers. The goal here is to manage Networking switch like servers so that similar tools can be used. Baremetal switches will ship with ONIE installed and the user can select the OS to be installed from local storage, USB or from network.
Open Network linux(ONL) is an open source project started by Big switch networks to provide linux distribution for baremetal switches. ONL is submitted now to Open compute project.
Open switch API:
Most of the packet processing ASICs used in networking switches come with their own SDK. The typical process that a switch vendor follows is to write a hardware abstraction layer(HAL) so that the upper layer networking software interacts with the HAL layer. Typically, the switch vendor needs to rewrite the HAL layer when they move from 1 ASIC vendor to another.
Mellanox has submitted a software interface specification that allows for a common api layer for packet processing ASIC and platform. Following block diagram from Mellanox illustrates this:
In this model, the packet processing asic vendor writes the glue layer for the Open Ethernet switch API to talk to switch SDK. The network switch vendor’s networking sofware uses the Open ethernet switch API and it is not needed to change network OS when moving from 1 ASIC vendor to another.
Facebook recently released the FBOSS software block diagram that seems like a combination of bare linux, open switch api to control packet processor and network infrastructure software. Its not clear if Openflow is used and also if they plan to use Open Network linux(ONL). Following is the block diagram of FBOSS that was released by Facebook. Facebook plans to release both Wedge and FBOSS to Open compute project, more details are awaited on Wedge and FBOSS.
Software open source projects were present from a long time. Open compute seems to be the first open source hardware project and its pretty significant because of this reason. Even though hardware is the primary focus in Open compute projects, there are some software projects also within Open compute to allow for complete system specification. I feel that Open compute projects reduces the barrier for entry of smaller players into system development and that allows for faster innovation.
- Open compute project
- Open compute project – Networking charter
- Open compute networking specs
- Open network install environment(ONIE)
- Open network linux(ONL)
- Facebook – Introducing Wedge and FBOSS
- Big switch open source projects
- ONIE presentation
Pictures used in the above blog are from the references.