Switch Abstraction Interface (SAI) – Network Aggregation Interrupt

The networking industry is moving faster than ever. The reason for picking up the pace lies in the unbundling of network devices leading to the evolution of the white box switch concept. What does the unbundling of the network allow? What are the problems with traditional networks? Let’s see in the speech that follows.

Traditional network stack

The networking industry has seen the era of tightly coupled software and hardware components of networking devices. Companies develop their own network operating system and integrate it with the underlying network silicon software stack (SDK). A collaborative effort between the silicon vendor and the OEM vendor is needed to create a complete network switch product. More effort is required to integrate the silicon vendor’s SDK and the network operating system (NOS) itself. This can be termed as an aggregate network device where the switch software is tightly coupled and not scalable. The supply chain of the product is owned by the company.

Disadvantages of the aggregate approach:

â— Time consuming

â— Not scalable

provider lock

â—Cost

Disaggregation network

Unbundling means decoupling software and hardware from the network. 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 open source NOS and switching silicon. Switch silicon hardware can be from Cavium, Broadcom, Barefoot, Centec, Mellanox, etc. and NOS can be Open Switch (OPX), SONiC, dNOS, etc.

Advantage of the disaggregation approach:

â— Faster time to market

â— Scalable

â— No vendor lock-in

â— Profitable

â— Modularity and freedom in the selection of NOS and silicon switching

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

SAI – Solution to adapt the Disaggregation

When we say network stack, we mean NOS, which includes the switch silicon software kit, platform-specific drivers, and management plane. For the switch to appear, you need to put all the pieces of software together to form a complete NOS.

The SDK provided by the silicon vendor must be integrated with the NOS. Now, for easy and seamless integration, vendors provide standard interfaces to access their silicon. The standard interface is well accepted and widely used by various open source NOS. Since it’s standard, the developer should only need to know the standard APIs that are vendor-neutral.

By using SAI, the developer can integrate the silicon vendor’s software with any open source NOS very smoothly and quickly. This means that one has options to select NOS which has SAI as the downstream interface to the vendor’s SDK. There are several open source NOSs available on the market that use SAIs. Let’s see an example of SONiC used with UPS.

Here SONiC is used as NOS on various platforms and SAI is used as a standard interface between SONiC and silicon vendor software. In addition to SONiC, NOS can be open switch (OPX), dNOS, ONL, etc.

Now that we understand the why and how of SAI, let’s see what SAI actually is.

What is SAI?

Switch Abstraction Interface is the standardized C language-based API for programming network hardware tables. The user does not need to know the switching behavior of the underlying silicon. The user only has to use the UPS APIs to configure a particular network feature of the silicon. The following figure is an analogy similar to that offered by the Switch Abstraction Interface.

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

The SAI project is powered by the Open Compute Project (OCP) and was quickly adapted to the networking industry. Major silicon providers like Cavium, Barefoot, Broadcom, Mellanox, Marvell, Centec, etc. they are the contributors in the SAI community.

Is the white box switch the future of networking?

In the rapidly evolving networking market, the primary advantage to launching any networking product is faster time to market and also at competitive prices. Of course, quality and performance are unmentioned factors to consider. In contrast, the traditional network approach has many disadvantages, such as SDN network scalability, time to market, and pricing. As a result, it enters the market late and overpriced.

The network switch developed with the idea of ​​network unbundling is the white box switch. The white box switch allows ODM vendors to select the open source NOS and switch silicon of their own choice, making it more scalable and cost effective. It is also possible to change the NOS running on the network device to a new one by taking advantage of the SAI interface and integrated ONIE support. Single point supply chain is the conventional way now. Switch developers can customize the open network software and hardware as per their requirements.

AS7XXX family from Edgecore, Mellanox Spectrum, DCS6072QS from Inventec, S3048-ON from Dell EMC, etc. they are successfully marketed white box switches.

The white box switch is conceptualized since 2011 and in the current open networking era of 2018, it has imposed a potential disruption on traditional providers. It is the current trend in today’s network market and will continue to be in the future of SDN networks due to its obvious advantages. SAI is the key to unlocking the development of the white box switch.

For more information visit: http://www.volansys.com

Add a Comment

Your email address will not be published. Required fields are marked *