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.
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.