Information to make sense of the state of open switching/routing
name | active development | bare-metal | routing | state | hardware abstraction | license | notes |
---|---|---|---|---|---|---|---|
ACS | no? | yes? | SONiC | SAI | announced in 2015, not sure if this is an actual product or just the predecessor to SONiC? | ||
cumulus | yes | yes | FRR | Linux kernel | switchd | ||
picOS | yes | yes | OVSDB? | openflow | |||
ONL | yes | yes | openflow | ||||
switch light | Switch Light OS | indigo | ivs/openflow? | ||||
stratum | no public release | yes? | P4Runtime | not yet available (09/2019) | |||
OpenSwitch OPS | no | yes | OVSDB | openNSL | deprecated? | ||
OpenSwitch OPX | yes | yes | Linux/CPS adapter | SAI | APLv2, various? | ||
Noviware | yes | proprietary? | P4/openflow | proprietary? | |||
Vyatta/VyOS | yes | quagga | Linux | Linux (software) | various open-source | runs on x86 hardware for software forwarding | |
snaproute | CN-NOS | FlexSwitch | asicd | ||||
FBOSS | FBOSS? | SAI (was OpenNSL) | BSD-style | all-in-one? | |||
ONOS | openflow/netconf/openconf/... | APLv2 | wiki | ||||
openvswitch | N/A | OVSDB | software? | APLv2 | software forwarding | ||
ZebOS | yes | ZebM/ZebOS-XP | ZebIC | proprietary | |||
. |
I haven't decided where these fit yet:
- Ryu (openflow controller, written in python)
- openstack neutron (datacenter virtualization orchestration?)
- open daylight
name | license | notes |
---|---|---|
BIRD | GPL | common in route reflectors |
FRR | "Free Range Routing" (fork of Quagga) | |
Quagga | fork of Zebra | |
zebra | (old, unmaintained) | |
FBOSS | ||
XORP | ||
GoBGP | APL2.0 | |
openBGPD/openOSPFD | BSD | |
exaBGP | BSD-style | used for integration rather than forwarding |
. |
name | license | notes |
---|---|---|
SONiC | ||
Linux Kernel | ||
OVSDB | APLv2 | There are a lot of proprietary vendor implementations, part of openvswitch |
FlexSwitch | ||
IVS (indigo) | EPLv1 or proprietary | |
. |
name | license | supported hardware | notes |
---|---|---|---|
SAI | OWFa1.0 | ||
switchdev | GPLv2 | ||
openflow | implementation-specific | IP-based API specification, not an implementation | |
P4Runtime | implementation-specific? | match-action programming language | |
openNSL | APL2.0/Proprietary | Broadcom | |
asicd | APL2.0? | ||
linux/software | GPLv2 | ||
indigo | EPLv1 or proprietary | abstraction layer on top of openflow | |
. |