Skip to content
This repository has been archived by the owner on Nov 5, 2024. It is now read-only.
/ SDKLT Public archive
forked from dusten/SDKLT

Logical Table Based Switch Software Development Kit

Notifications You must be signed in to change notification settings

opennetworkinglab/SDKLT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is the ONF maintained fork of SDKLT for use in Stratum

List of changes

  • Port Kernel modules to Kernel version 4.9, 4.14 and 4.19

  • Fix Makefile

  • Fix action ACTION_REDIRECT_TO_PORT in table FP_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

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.

Purpose

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.

Getting Started

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.

Release Contents

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.

Documentation

APIs Internal and External

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.

CLI

Basic CLI shell Commands

CLI Commands for Logical Tables

CLI Reference Guide

Example Usage

Reference code and CLI scripts are contained in the examples directory.

Logical Table Definitions

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).

License and Legal Terms

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.

About

Logical Table Based Switch Software Development Kit

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.6%
  • Makefile 2.2%
  • Perl 0.1%
  • Python 0.1%
  • Shell 0.0%
  • Yacc 0.0%