Skip to content
Joe LeVeque edited this page Mar 11, 2017 · 20 revisions

Q: What is SONiC?

A: SONiC is a collection of networking software components required to have a fully functional L3 device. It is designed meet the requirements of cloud data center. It is fully open-sourced at OCP.


Q: What is SAI? What's the relationship between SONiC and SAI?

A: SAI stands for "Switch Abstraction Interface". It is a common API that is supported by many switch ASIC vendors. SONiC uses SAI to program the ASIC. This enabled SONiC to work across multiple ASIC platform naturally.


Q: Is SONiC a Linux distribution?

A: No. SONiC is Linux-based, but is not a distribution by itself. Today, SONiC runs on Debian Jessie. SONiC has also been ported to Ubuntu (as a snap).


Q: How can I get SONiC?

A: If you clone the sonic-buildimage repo and follow the instruction there, you should be able to produce the SONiC image yourself. Our Jenkins server also produce a regular build. So you can download the image there as well. The list of supported devices and ASICs are maintained here.


Q: How can I get the source code of SONiC?

A: SONiC is fully open-sourced on github, and distributed under Apache License. It is maintained as multiple github repos instead of a single big repo for manageability reasons. The list of SONiC source code repos are maintained here.


Q: Why certain SAI implementation is only distributed as binary?

A: SAI defines the common API supported by multiple ASIC vendors. The SAI implementation depends on individual vendor's SDK, which may not be open-sourced itself. Therefore, depending on the vendor's license model, SONiC may or may not be allowed to open source the SAI implementation.


Q: Does the SONiC offer Linux options, and/or can it be customized?

A: Today (March, 2017) SONiC requires Linux kernel 3.16. We built and tested on Debian Linux, but theoretically any distribution could be supported. It is fully open sourced and can be customized by users. A contributor’s guide is posted to cover how to add documentation, code and report and fix bugs.


Q: Which hardware platforms and ASIC chipset are you running SONiC on?

A: SONiC supports all the ASICs that is supported by SAI. Those ASICs are available via various switch hardware through both ODMs and OEMs. Currently, SONiC focuses on single ASIC devices.

You can find a full list of supported devices and platforms here.


Q. Does SONiC have its own hardware?

A. No. SONiC is purely a software solution.


Q. How can I port SONiC on a new device?

A. Please follow the porting guide.


Q. Is SONiC deployed in Microsoft datacenters today?

A. Yes, SONiC is deployed in Microsoft production datacenters.


Q. How many devices are running SONiC?

A. The deployment is growing from one datacetner to cross regions. We plan to rapidly expand SONiC deployment over the coming months.


Q. How is SONiC supported?

A. SONiC is a community supported product. Microsoft is committed to engage with community to keep SONiC relevant, reliable and stable. We use it in our own production network.

Microsoft has no plans to sell SONiC to customers or provide any network engineering or development support.


Q. What is the relationship between Azure Cloud Switch and SONiC?

A. Azure Cloud Switch was the previous project name of SONiC. That name has been deprecated.


Q. How can I contribute to SONiC?

A. SONiC welcome collaboration with the community in many different capacities. Please check the contributors guide for details: https://github.com/Azure/SONiC/wiki

Clone this wiki locally