broadcom OpenNSL

简介: https://github.com/Broadcom-Switch/OpenNSLOpen Network Switch Layer (OpenNSL) is a library of network switch APIs that is openly available for progra...

https://github.com/Broadcom-Switch/OpenNSL

Open Network Switch Layer (OpenNSL) is a library of network switch APIs that is openly available for programming Broadcom network switch silicon based platforms. These open APIs enable development of networking application software based on Broadcom network switch architecture based platforms.

 

Open Network Switch Library (OpenNSL) is a library of Open Networking APIs that enable the development of innovative open source networking projects on widely deployed Broadcom network switch-based systems. It allows developers to customize, enhance, and deliver differentiated solutions, leveraging the capabilities of the feature-rich and industry-leading StrataXGS® architecture.
With the OpenNSL software platform, Broadcom is publishing APIs that map Broadcom's Software Development Kit (SDK) to an open, north-bound interface, enabling the integration of new applications and creating the ability to optimize switch hardware platforms. This gives users the freedom to control their technology, share their designs, and boost application innovation. Examples include network monitoring, load balancing, service chaining, workload optimization, and traffic engineering.
OpenNSL software is available in two packages:
An OEM and ODM Development Package (ODP), which is a full-source code package distributed under the Broadcom SLA.
A Community Development Package (CDP), which is an Open API library with Application Development Kit distributed on GitHub.

 

FEATURES
Rich set of APIs for most commonly used switching and routing functions are as follows:
L2/L3/VLAN management.
Port and switch management.
Link monitoring and error handling.
Packet transmit and receive.
Trunking.
Buffer Statistics Tracking.
Packet Tracing and Injection.
Portable across StrataXGS® architecture today and StrataDNX™ in the future.
Supported by growing number of OEM and ODM partners.

SUPPORTED OPEN PROJECTS
OpenNSL is used in multiple open projects driven by the community. A partial list of these projects is given below:
FBOSS: OpenNSL provides foundational technology that allows the Facebook Open Switching System (FBOSS) to be open.
Open Network Linux: A Linux distribution for bare metal switches that includes OpenNSL.
BroadView: A software suite that provides programmable access to the internals of a switch in a fast and scalable manner.
Open L3 Routing: NTT has developed a pluggable L3 routing agent built on OpenNSL that was demonstrated at the OCP workshop in Oct 2015.
OpenSwitch: New open source, Linux based fully featured L2/L3 Network Operating System (NOS) platform. All the current OpenSwitch platforms are Broadcom based and built on top of OpenNSL.

 

### API Overview
Buffer Statistics Tracking (BST)
Class of Service Queue Configuration
Error Handling APIs
Field Processor APIs
Initialization APIs
Kernel Network (KNET) Configuration
Layer 2 Address Management
Layer 3 Management
Link Monitoring and Notification
Port Mirroring APIs
Multicast Management APIs
Packet Trace
Policer configuration APIs
Port Configuration
QoS
Statistics
Spanning Tree Groups
Switch Control APIs
Trunking
Tunneling
Packet Transmit and Receive
VLAN Configuration
Virtual Switching Instance
Vxlan
Warm Boot

 

目录
相关文章
|
运维 负载均衡 网络协议
linux网络管理(链路聚合、桥接网络、故障排查、常用工具)
网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。
1538 0
linux网络管理(链路聚合、桥接网络、故障排查、常用工具)
|
Java Shell Linux
Android——编译(二):android.mk的相关知识
Android——编译(二):android.mk的相关知识
715 0
|
网络协议 Linux
iperf 工具使用总结
iperf 工具使用总结
1059 0
|
运维 前端开发 关系型数据库
高效调试与分析:利用ftrace进行Linux内核追踪(上)
高效调试与分析:利用ftrace进行Linux内核追踪
|
10月前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
636 0
|
自然语言处理 前端开发 Linux
在Linux中,什么是 GUI?
在Linux中,什么是 GUI?
|
算法 Linux API
一文聊聊Linux Kernel的加密子系统【Crypto Subsystem】
一文聊聊Linux Kernel的加密子系统【Crypto Subsystem】
1251 1
|
算法 API
DPDK-Hash(2)
DPDK-Hash(2)
348 0
|
存储 文件存储 开发者
gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts