FBOSS SW Architecture
FBOSS (Facebook Open Switching System) is a software stack that runs on the x86 CPU of a network switch. It is designed to be modular, scalable, and flexible, allowing for easy integration with various hardware platforms. The FBOSS software architecture consists of multiple micro-services that work together to provide a comprehensive networking solution.

Components
- Platform Manager Manages the low-level device setup and management. More info here. 
- Agent Responsible for managing the forwarding switch ASIC / NPU. 
- QSFP Service Manages transceivers and external PHYs. 
- LED Service Controls the front panel port LEDs. 
- Sensor Service Collects data from various onboard (temperature, voltage, current, and power) sensors and exposes them to FSDB. 
- Fan Service Subscribes to sensor data from FSDB and programs Fan PWM to ensure system thermal health. 
- Data Corral Service Detects FRU presence and programs LEDs to indicate the presence. 
FBOSS Command Line Interfaces (CLIs)
- fboss2 Provides the ability to inspect and modify the state of the switch through show, set, clear options. 
- wedge_qsfp_util Communicates with qsfp_service over Thrift to inspect and modify the state of transceivers. In the absence of qsfp_service, wedge_qsfp_util can directly communicate with transceivers using the BSP drivers. 
- fw_util Provides the ability to upgrade firmware of all the FPDs (Field Programmable Device), including BIOS, FPGA, CPLD, etc. 
- weutil Reads FRU EEPROMs, parses contents, and prints human-readable information, such as serial number, product name, etc.