github:https://github.com/OpenComputeProject/OpenNetworkLinux
Open Network Linux is a Linux distribution for "bare metal" switches, that is, network forwarding devices built from commodity components. ONL uses ONIE to install onto on-board flash memory. Open Network Linux is a part of the Open Compute Project and is a component in a growing collection of open source and commercial projects.
Open Network Linux supports multiple switch fabric APIs including: OF-DPA, OpenNSL and SAI. Specific information about hardware support for the different APIs can be found in the HCL (支持单板列表)
Open Network Linux is compatible with most forwarding agents including: FRR, BIRD, Facebook FBOSS and Azure SONiC.
Forwarding Agent Support
ONL provides multiple options for forwarding agents and APIs to control forwarding on switches. The options go from direct (OpenNSL, SAI, OF-DPA) to simplistic ipv4 only (ORC) to complex full systems (FBOSS). Each option is available via installable packages.
APIs
- OpenNSL Provides a Open abstraction interface to supported Broadcom chipsets and is supported by Accton on many of their platforms.
- OF-DPA is a OpenFlow focused API from Broadcom and is supported on most platforms.
- SAI is a fully open multi-vendor abstraction interface that runs on switching chipsets from Broadcom, Cavium, Mellanox and more.
Routing and Switching Agents
- ONL Supports ORC (Open Route Cache) an IPv4 only netlink listener which provides logical interfaces for routing protocols such as Quagga, BIRD and others to run on. See the HCL for a list of supported platforms.
- ONL Supports the Facebook FBOSS fowarding agent. FBOSS currently only runs on the Wedge with other systems in the works.
Accton/Edge-Core
Device | Ports | CPU | Forwarding | ONL Ver Tested | In Lab | OF-DPA | OpenNSL | SAI |
---|---|---|---|---|---|---|---|---|
Accton AS4600-54T | 48x1G + 4x10G | FreeScale P2020 | BCM56540 (Apollo2) | 2.0.0 dd42deb | Yes | Yes*** | Yes*** | No |
Accton AS4610-54P | 48x1G + 4x10G + 2x20G | Dual-core ARM Cortex A9 1GHz | BCM56340 (Helix4) | 2.0.0 fd18376 | Yes | No | No | No |
Accton AS5610-52X | 48x10G + 4x40G | FreeScale P2020 | BCM56846 (Trident+) | 2.0.0 1d7a4d8 | Yes | No | No | No |
Accton AS5710-54X | 48x10G + 6x40G | FreeScale P2041 | BCM56854 (Trident2) | 2.0.0 7a8dc98 | Yes | Yes*** | Yes*** | No |
Accton AS6700-32X | 32x40G | FreeScale P2041 | BCM56850 (Trident2) | 2.0.0 | Yes | No | No | No |
Accton AS5512-54X | 48x10G + 6x40G | Intel Rangeley C2538 x86 | MediaTek/Nephos MT3258 | 2.0.0 dd42deb | Yes | No | No | No |
Accton AS5712-54X | 48x10G + 6x40G | Intel Rangeley C2538 x86 | BCM56854 (Trident2) | 2.0.0 1d7a4d8 | Yes | Yes*** | Yes*** | No |
Accton AS6712-32X | 32x40G | Intel Rangeley C2538 x86 | BCM56850 (Trident2) | 2.0.0 | Yes | Yes*** | Yes*** | No |
Accton AS5812-54T | 48x10G + 6x40G | Intel Rangeley C2538 x86 | BCM56864 (Trident2+) | 2.0.0 | Yes | No | No | No |
Accton AS5812-54X | 48x10G + 6x40G | Intel Rangeley C2538 x86 | BCM56864 (Trident2+) | 2.0.0 | Yes | Yes*** | Yes*** | No |
Accton AS6812-32X | 32x40G | Intel Rangeley C2538 x86 | BCM56864 (Trident2+) | 2.0.0 | Yes | Yes*** | Yes*** | No |
Accton AS7712-32X | 32x100G | Intel Rangeley C2538 x86 | BCM56960 (Tomahawk) | 2.0.0 84df541 | Yes | Yes*** | Yes*** | No |
Accton AS7716-32X | 32x100G | Intel Xeon D-1518 x86 | BCM56960 (Tomahawk) | 2.0.0 | Yes | Yes*** | Yes*** | No |
Accton Wedge-16X | 16x40G | Intel Rangeley C2550 x86 | BCM56864 (Trident2+) | WIP** | Yes | No | Yes | No |
Accton (FB) Wedge 100 | 32x100G | Intel Bay Trail E3845 x86 | BCM56960 (Tomahawk) | WIP** | Yes | No | Yes | No |