This is the ONF maintained fork of SDKLT for use in Stratum
-
Port Kernel modules to Kernel version 4.9, 4.14 and 4.19
-
Fix Makefile
-
Fix action
ACTION_REDIRECT_TO_PORT
in tableFP_ING_POLICY_TEMPLATE
-
Increase default thread stack size from 16K (4K in some cases) to 512K
-
Attach a BPF filter to ignore tx packets from other applications
-
Fix various double-free errors, memory leaks and race conditions
SDKLT (Logical Table Software Development Kit) is a new, powerful, and feature rich Software Development Kit for Broadcom switches. SDKLT provides a new approach to switch configuration using Logical Tables. The Wiki provides an overview of SDKLT usage and its achitecture. An architectural feature summary can be found here.
SDKLT is a part of the OpenNSL suite.
This release is intended to introduce users to the benefits of SDKLT, the API, and the CLI. Using the demonstration application (Demo App) you will learn how Logical Tables are used for network switch programming. The CLI shell in the Demo App provides an interactive interface for exploring the Logical Table controls on a Broadcom Tomahawk switch. The built in C language interpreter (CINT) provides an interactive way to write C code for configuring the Logical Tables, using Logical Table C language API calls.
Clone a copy of the repository, build the Demo App and follow the example CLIs scipts as they demonstrate the capability of the Logical Table Interface. The Demo App allows you to become familar with the Tomahawk Logical Table interface, see building the Demo App. The Demo App supports switch configuration via the shell CLI or C APIs. The CLI reference guide provides information on using the shell CLI and introduces the user to the CLIs used to configure Logical Tables.
SDKLT source code, Logical Tables, documentation and examples for a Broadcom Tomahawk switch device. The package includes an extensible CLI shell which can be used to interact with the core SDK. The release will provide users a hands-on experience with the SDKLT using a logical table approach to switch software programming. The src directory contains the source code needed to build the Demo App image which targets a simulated Broadcom BCM56960 Tomahawk device or an actual Tomahawk device. Note that no external PHY drivers are part of the source code repository. The list of SDKLT Tomahawk features is here.
Overall API Reference Guide shows both external and internal APIs.
APIs for Logical Tables operations
Packet I/O APIs
SDK Management contains APIs for starting and stopping the SDK.
Basic CLI shell Commands
CLI Commands for Logical Tables
CLI Reference Guide
Reference code and CLI scripts are contained in the examples directory.
Definitions of the Logical Tables device controls used on Tomahawk are provided here. Click on the blue "Feature Categories" tab to see the main Logical Table groupings such as Port, VLAN, L2 or L3. Select the L2 logical tables to view all the L2 tables supported by this device. In order to view the specific L2 logical table controls, click on the table name (e.g. L2_MY_STATION).
The software content in this repository is divided into two types, open source and limited open source, each with its own respective license.
The open source software is licensed under the Apache License, version 2.0. A copy of this license is located here.
The limited open source software is licensed under the Broadcom Switch Software License. A copy of this license is located here.
The applicable license will be identified at the beginning of the software file. SDKLT uses some third-party externally licensed components which are listed here.
As of today, SDKLT API definitions are released under the Apache 2.0 license. All other files in this repository are released under the Broadcom Switch Software License.