Skip to content
KrisNey-MSFT edited this page Jan 24, 2022 · 10 revisions

Q: What is DASH w/SONiC?

A: DASH w/SONiC is a collection of SmartNic software components required to have a fully functional, programmable device. It is designed to meet the requirements of a cloud data center.


Q: What is SAI? What's the relationship between DASH, 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 enables SONiC to work across multiple ASIC platforms naturally. DASH - Disaggregated APIs for SONiC Hosts is a set of APIs (as much like SAI as possible) leveraging hardware to increase performance of Connections per Second and Flows in different scenario models (performing encapsulation, lookups, etc...). Contribution and adherence to conformance and performance tests.


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 instructions there, you should be able to produce the SONiC image yourself. Our Jenkins server also produces 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 DASH?

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


Q: How can I get the DASH source code?

A: to be written.


Q: For which hardware platforms and SmartNic are you developing DASH?

A: DASH supports 'to be written' that are supported by SAI. Those SmartNics are available via various switch hardware through both ODMs and OEMs. You can find a full list of supported devices and platforms here.


Q: Does DASH have its own hardware?

A: No. DASH is purely a software solution.


Q: How can I port DASH to a new device?

A: Please follow the porting guide.

Q: Is DASH deployed in Microsoft data centers today?

A: To be written.


Q: How many devices are running DASH?

A: The deployment is growing from one data center to cross regions. We plan to rapidly expand DASH deployment over the coming months.


Q: How is DASH supported?

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


Q: Do we have a list of items in the feature that need offload?

A: In order to solve the Connections per Second (CPS) problem, we want to offload all of the SDN to the hardware.


Q: In a Smart Switch, why not use the beefy CPU in the switch?

A: We are not opposed to using the CPU if a supplier has a method to achieve the high CPS #'s we are targeting. It is a different 'availability' story when a card fails vs. when an entire device fails. Internally we have tried using a chassis w/FPGAs and NICs w/processing in the CPU, however it hasn't scaled in our testing.


Q: How can I contribute to DASH?

A: DASH welcomes collaboration with the community in many different capacities. Please check the contributor's guide for details: https://github.com/Azure/DASH/wiki

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