Software Development Kit Logical Table (SDKLT) presents a new approach to switch configuration
Broadcom’s Software Development Kit Logical Table (SDKLT) presents a new approach to switch configuration. It is a powerful, feature-rich, logical table-based Ethernet switch Software Development Kit (SDK) for Broadcom switches, designed to address the needs of complex, high-speed modern networks.
As networking systems move to open, disaggregated solutions, users want to choose from best-in-class hardware and software options. At the same time, they want greater flexibility, automation and the ability to build and manage their own networks, without compromising on performance. These goals are best achieved by having a networking stack that is efficient, customizable and open at all layers, including the layer configuring the switch ASIC.
SDKLT enables hardware vendors, Network OS vendors and end users to build tailored, highly-automated, high-quality, high-performance networking solutions that meet the needs of both distributed control-plane and centralized SDN-controller environments.
In table-based programming, all the device physical resources such as MAC Address Tables, L3 route tables, TCAMs, etc. are exposed as logical tables. The software interface to these tables is uniform, independent of the specific table. Device-specific information is stored in databases and not embedded in the APIs. Device-specific behavior is managed by logical tables through a small set of APIs.
The logical table approach empowers data center operators with greater control of their infrastructure resources, and introduces new ways to monitor, analyze and provision switch resources, all through industry standard automation tools. Features such as flexible transaction management and high performance architecture deliver significant operational efficiencies to Network OS and SDN applications.
Open Source Support:
The SDKLT source code for BCM56960 is available on GitHub
- All SDKLT logical table APIs are available under the Apache 2.0 license
- SDKLT source code released on GitHub is available for unrestricted use on Broadcom silicon
Architectural Diagram of SDKLT
- Device behavior is managed by logical tables via small set of APIs
- Logical table APIs designed to readily support RPC-able client-server model
- Full device provisioning and control through automation (CLI, Yaml, XML, etc.)
- Architectural improvements delivering 6x improvement in packet I/O performance and 2x improvement in table update performance
- High visibility and control over device resources provides optimal resource management
- Flexible transaction management with comprehensive support for batched or atomic operations via single API call