Switch Abstraction Interface (SAI) – Breaking the Network Aggregation

The networking industry is moving faster than ever before. The reason to expedite the pace lies in the network device disaggregation which leads to the evolution of the white box switch concept. What enables the network disaggregation? What are the problems with traditional networking? Let us look at it in the discourse ahead.

Traditional Network Stack

The networking industry has seen the era of tightly coupled software and hardware components of the network devices. The companies develop their own network operating system and integrate it with the underlying network silicon’s software stack (SDK). It takes a collaborative effort for the silicon vendor and OEM vendor to make a complete network switch product. There is more effort involved to integrate the silicon vendor SDK and own Network Operating System (NOS). This can be called as an aggregated network device where the switch software is tightly coupled and non-scalable. The product supply chain is own by the company.

Disadvantages of aggregated approach:
● Time-consuming
● Non-scalable
● Vendor lock-in
● Costly

Disaggregating Network

The disaggregation means to decouple the network software and hardware. This is like buying a network silicon from any vendor and then loading a NOS of your choice. In this case, one can have a variety of options for the switching silicon and open source NOS. Switching silicon hardware can be from Cavium, Broadcom, Barefoot, Centec, Mellanox etc. and NOS can be Open Switch (OPX), SONiC, dNOS etc.

Advantage of disaggregation approach:
● Faster time to market
● Scalable
● No vendor lock-in
● Cost-effective
● Modularity and liberty in selecting NOS and switching silicon

To adapt the network disaggregation concept, big players like Microsoft, Facebook, Dell, Intel, Broadcom, Mellanox, Marvell, Cavium etc. have muscled up to tackle the problem of the traditional network stack. They have formed the Open Compute Project (OCP) group and introduced the standard abstraction of the network switch. The standard interface is called SAI – Switch Abstraction Interface.

SAI – Solution to adapt the Disaggregation

When we say network stack it means NOS which includes the switching silicon’s software kit, platform-specific drivers, and management plane. In order to bring up the switch, it needs to put all software pieces together to form a complete NOS.

The silicon vendor provided SDK needs to be integrated with the NOS. Now for the smooth and easy integration, vendors provide standard interfaces to access its silicon. The standard interface is well accepted and widely used by the various open sourced NOS. Since it is standard, the developer should only need to know the standard APIs which is vendor neutral.

By using SAI, the developer can integrate the silicon vendor’s software with any open source NOS very smoothly and faster. This means one has options to select NOS which has SAI as southbound interface to vendor’s SDK. There are various open sourced NOS available in the market which uses SAI. Let us look at one example of SONiC used with SAI.

Here SONiC is used as NOS on various platforms and SAI is used as a standard interface between SONiC and silicon vendor software. Apart from SONiC, NOS can be an open switch (OPX), dNOS, ONL etc.
Now that we understand why and how of the SAI, let us look into what SAI actually is?

What is SAI?

Switch Abstraction Interface is the standardized C language based APIs to program the network hardware tables. User doesn’t need to know about the underlying silicon’s switching behavior. User has to just use the SAI APIs to configure particular network feature of the silicon. Below figure is the analogy similar to what Switch Abstraction Interface offer.

The SAI APIs available in the SAI headers are the function pointers which are registered with the silicon vendor-specific APIs. This vendor specific APIs implementation is the SAI adapter for SDK. SAI adapter consists of the actual glue logic between standard network feature and vendor specific feature. The user can provide the attribute-value pairs to configure particular feature.

SAI project is driven by the Open Compute Project (OCP) and rapidly adapted in the networking industry. The Major switch silicon vendors like Cavium, Barefoot, Broadcom, Mellanox, Marvell, Centec etc. are the contributors in SAI community.

Is the White Box Switch future of Networking?

In the fast-evolving networking market, the main advantage for any network product launch is its faster time to bring the product to market and that too at competitive prices. Of course, the quality and performance are unsaid factors to be considered. On contrary, the traditional networking approach has many disadvantages like scalability for SDN network, time to market and pricing. As a result, it enters the market at the delayed time and overpriced.

The network switch developed with the idea of network disaggregation is white box switch. White box switch enables ODM vendors to select the switching silicon and open source NOS of their own choice which makes it more scalable and price efficient. One can also change the running NOS on the network device with a new one by leveraging SAI interface and on board ONIE support. The single point supply chain is the conventional way now. Switch developers can customize the open networking software and hardware as per their requirement.