Broadcom is the biggest supplier of Network Switching Silicon in the world, and it has a plethora of different chipsets available to customers. A networking equipment developer spends the largest amount of product development time making the SW work. Broadcom provides a Switch Development Kit (SDK) to enable quick bolting of SW stacks onto network switching silicon.
Every high-end switch chip has an extremely complex architecture that would easily consume years of effort doing low-level register/table reads and writes, not to mention potential errors. The SDK takes care of these operations, allowing developers to focus on the actual control plane development. Its architecture provides a unified set of APIs covering all Broadcom switching devices.
If there is one thing that Broadcom is famous for, it would be how hard it is to get access to the SDK. Common folks have a hard time getting the full package covering the whole model line.
However, if one doesn’t need to support everything and focus only on the most popular Trident3 and Trident4, there is a shortcut – OpenBCM Broadcom Core Switch Software Development Kit (SDK).
How to start with it?
Netberg has an article covering starting the SDK on its switches.
How to use it?
Broadcom relies on examples it provides right in the package. You can look for something you need in /src/examples!