FBOSS: Building Switch Software at Scale
Sean Choi, Sean Choi, Boris Burkov, Alex Eckert, Tian Fang, Saman Kazemkhani,
FBOSS: Building Switch Software at Scale Sean Choi, Sean Choi, - - PowerPoint PPT Presentation
FBOSS: Building Switch Software at Scale Sean Choi, Sean Choi, Boris Burkov, Alex Eckert, Tian Fang, Saman Kazemkhani, Rob Sherwood, Ying Zhang, James Zeng Motivation Scale of Facebook Community 2.23B Monthly 1.3B Monthly 1B Monthly 1.5B
Sean Choi, Sean Choi, Boris Burkov, Alex Eckert, Tian Fang, Saman Kazemkhani,
1x 5x 10x 15x 20x
30x
3 6 9 12 15 18 21 24
FBOSS Deployments → Months →
Growth of FBOSS Deployments
Power Supply Fan Temperature Sensor x86 CPU SSD BMC Switch ASIC CPLD QSFP Ports
FBOSS
Switch ASIC
Switch Software Switch Hardware
Protocols (BGP, ECMP) Network Configurator Monitoring Service
External Software
BMC
x86 Microserver
Switch ASIC Switch Software Switch Hardware Front Panel Ports and Modules Console and OOB Management Ports Linux Kernel Standard System Tools & Libraries Monitor Configuration Manager Routing Daemon FBOSS (Agent, QSFP Service, CLI) OpenBMC Switch SDK Power Supply Fans
Link Status Handler Slow Path Packet Handler Switch ASIC APIs Switch Feature Implementation (L2, L3, ACL, LAG) Event Handler Callback
Hardware Abstraction
Generic Switch Hardware Abstraction
HwSwitch
Hardware Independent Routing Logic Switch State Manager Thrift Handler
SwSwitch SDK FBOSS Agent
Link Status Handler Slow Path Packet Handler Switch ASIC APIs Switch Feature Implementation (L2, L3, ACL, LAG) Event Handler Callback
Hardware Abstraction
Generic Switch Hardware Abstraction
HwSwitch
Hardware Independent Routing Logic Switch State Manager Thrift Handler
SwSwitch SDK FBOSS Agent
Thrift Management Interface State Observers
QSFP Service
Local Config Generator
SwitchState Ports VLANs Routes Port1
… …
Porti VLAN1
…
VLANj Route1 Routek ARP1 ARPj SwitchState’ VLANs’ VLAN’j
ARP’j
SwitchState Ports VLANs Port1
…
Porti VLAN1
…
VLANj ARP1
ARPj
Routes Route1
…
Routek
SwitchState Ports VLANs Routes Port1 … … Porti VLAN1 … VLANj Route1 Routek ARP1 ARPj SwitchState’ VLANs’ VLAN’j ARP’j
28% 24% 8% 7% 14% 11% 5% 2% 1%
Microserver Reboot Kernel Panic Microserver Unresponsive Loss of Power Bus Degradation SSD Issue PCI-E Timeout
Software (60%) Hardware (40%)
Centralized Config Database Operation Manager Monitor
Robotron
FBOSS Agent Thrift Interface Local Config Generator Active config Staged config_1 Generate Stage Re-use Revert Use config_x Config Data Query/Receive Device States Configuration Operation Monitoring