Provides an object-centric API for application development to implement custom applications using a well-defined object model, and set of programmatic APIs. The object model is defined using YANG modeling, and the APIs support Python and C/C++ programming languages. See Application programming for more information.
Your way to build composable networks
Main Supported Features
- Linux Debian Stretch 9; LLDP, STP, PVST, ICMP, DNS client, NTPv4, DHCP client; Linux utilities and tools delivering full-featured networking capabilities
- Bridging, LACP, LAG, VLAN, CoS, IGMP snooping, LLDP, STP, PVST, static VxLAN
- IPv4/IPv6 support, BGPv4+, OSPFv2/3, ECMP, inter-VRF routing, VRRP, ICMP, ARP, DNS, NTPv4, DHCP, IGMPv2
- BGP, OSPF, L3 routing, telemetry, intent-based networking, BGP unnumbered
- RADIUS, TACACS+, SSHv2, syslog, PAM, SCP, SNMP
- ACL: 5-tuples, L2/L3, UDF; monitor: (R)SPAN, sFlow
- DiffServ, PFC, CoPP, 802.1p, DSCP, ingress policing, egress shaping, scheduling
- Control plane services APIs; automation/provisioning with Ansible, Chef, Puppet, Salt+Napalm; programmability via Python, C/C++, YANG interfaces
- 100G: Dell EMC Z9264F-ON, Z9100-ON, Edgecore 7512-32X, and S5232F-ON
- 40G: Dell EMC S6010-ON, S5296F-ON, and S5248F-ON
- 25G: Dell EMC S5148F-ON
- 10G: Dell EMC S4248FBL-ON, S4248FB-ON, S4148T-ON, S4148FE-ON, S4148F-ON, S4128T-ON, S4128F-ON, S4112T-ON, S4112F-ON, S4048T-ON, and S4048-ON
- 1G: Dell EMC S3048-ON
OPX software supports hardware virtualization (or simulation). Software simulation of basic hardware functionality is also provided (“white board”), and the higher layer software functionality can be developed and tested on generic PC/server hardware. See Hardware virtualization for more information.
The repository structure is organized around the main architecture components:
- NAS and SAI
- PAS and SDI
Other platforms will be supported in future releases. OpenSwitch software uses an earlier version of the SAI specification. The OpenSwitch implementation will be compliant to the future SAI API v1.0 when available.