Earlier, I had written a blog on Opencompute networking project. There were few recent contributions from Facebook to Opencompute. In this blog, I wanted to capture major Opencompute Networking contributions from Facebook. I see these contributions as pretty significant in the context of White box switches.
The goal here was to develop modular switches where any hardware component of the switch can be replaced independently. Servers in the TOR use the Group Hug architecture where standard connector is used to connect the servers to the motherboard. This can allow a easier change of processor.
Wedge design was extended to the Spine switch that connects TOR. The Spine switch has 8 line cards and 2 fabric cards.
OpenBMC is used to manage the CPU complex that controls the server board. Source code is available here.
Software running on the switch is split into 3 layers:
- Base OS running Linux. Big switch networks has Opensourced Open Network Linux that can also be used here.
- FBOSS Agent to program packet processing ASIC and for minimal control plane packet handling. Source code is available here. FBOSS Agent talks to the Broadcom T2 asic using OpenNSL SDK that Broadcom has opensourced recently. OpenNSL source code is available here.
- Applications that can include Control plane routing software and automation tools.
Using these base components, Facebook has come up with their own fabric design to efficiently handle the East-West traffic.
Following were some common themes I see in each of the projects:
- Allowing servers and switches to be managed the same way – Similar toolset, automation friendly
- Replaceable and open hardware components – Processor, Networking switch, BMC
- Modular and open application development
It is pretty amazing what Facebook and Opencompute project has been able to achieve in a short period of time. I am pretty sure that this will help for more innovations in the Networking domain.