github: https://github.com/Azure/SONiC
支持硬件列表:https://github.com/Azure/SONiC/wiki/Supported-Devices-and-Platforms
架构介绍:https://github.com/Azure/SONiC/wiki/Architecture
Switch Hardware
Switch hardware refers to all the physical components inside the network switch enclosure (chassis). This includes fans, power supplies, status LEDs and network transceivers. In SONiC terminology, these are called “system devices”.
Switch Abstraction Interface (SAI)
The switch abstraction interface is a standardized C API to the switching ASIC. This API is normally implemented by an SDK specific to the Switch ASIC. More information on SAI is available at the SAI GitHub repository.
SAI Host Adapter
The SAI Host Adapter’s role is to provide a mechanism for storing and synchronizing network switch data with the Switch ASIC. This includes initialization, configuration and current status of the switch ASIC.
Network Applications
Network applications, such as a BGP routing protocol, use the Object Libraries API’s to get and set the state of the SONiC SAI Host Adapter.