Larch Networks is one from Software-Defined Networking (SDN) solution designers and vendors with large expertise with networking operating systems, including SONiC. SONiC (Software for Open Networking in the Cloud) has been developed by Microsoft initially for Azure cloud computing services. Nowadays SONiC is an open source project for network routers and switches supported with Microsoft, Facebook, LinkedIn, Dell, Intel, Broadcom, Mellanox, Marvell, Cisco, Alibaba Group, Tencent, Docker, etc.
SONiC is able to support global scalable cloud architecture at the levels of row leaf and rack. Such solution is implemented, for example, at Microsoft Cloud Network with an assessed cost 15 billion dollars.
The main goals achieved with SONiC based networking disaggregation includes the following:
• Reduce operational burden with installation of free operating system;
• Opportunities to select between many of hardware and platform vendors;
• Highly scalable and flexible open modular software;
• Boosting technology evolution for containerized software.
Three layers are considered in SONiC ecosystem, such as the silicon or Application-Specific Integrated Circuit (ASIC) layer, the switch layer, and the application and management tools layer. SONiC operation supports the following technical solutions:
• Switch Abstraction Interface (SAI) defines the Application Programming Interface (API) to provide a vendor-independent way of controlling forwarding elements, such as a switching ASIC, a Network Processing Unit (NPU) or a software switch in a uniform manner;
• Modular design with Switch State Service (SwSS) provides decoupling software components with consistent application development model;
• SONiC implements containerization with high serviceability and opportunities of cross-platform portability;
• SONiC supports operational scenarios with hitless upgrades.
SAI makes SONiC different from other networking operating systems, since it provides advanced technical solutions for simple, consistent and stable network application stack. SAI helps to consume the underlying complex heterogeneous hardware easily and faster. SAI supports CRUD (Create/ Read/ Update/ Delete) operations over extensible Entity-Attribute-Value data model. Used reference data behavior model supports various devices. Users will be requested to register SAI APIs to achieve specific functions and control logging separately for SONiC function calls. It is possible to construct the order to execute SAI function calls or refer to SAI pipelines to create the packet action flow. With significant features partners growing up, SONiC becomes a proven in use solution that attracts more and more users.