Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

OpenSwitch (or OPX) is an open source project that provides an abstraction of hardware network devices in a Linux OS environment. It has been designed from its inception in order to support the newest technologies and concepts in the networking industry:

  • Software In OPX, software is disaggregated from hardware, and disaggregated software components are disaggregated as well.
    • OpenSwitch can be deployed /ported on any networking hardware – only the low-level software layers SAI (Switch Abstraction Interface) and System Device Interface (SDI) are hardware specific and may need to be adapted.

  • Makes extensive use of standard open source software, for instance:
    • ONIE installer
    • Linux Debian distribution with an unmodified Linux kernel 
    • Switch Abstraction Interface (SAI) defined in Open Compute Project for interfacing with the switching ASIC.
  • Integrates Linux native APIs to with networking ASIC functionality. In OpenSwitch, networking features are also accessible using the Linux standard API’s (“netlink”). Thus standard open source network packages (such as FRR) can be installed and supported in binary format.
  • Containers OPX supports containers and support for NFV. The Docker container environment (Docker CE), or any other Linux container environment,  can be installed on any OpenSwitch device - in this environment, users can deploy their own containerized virtualized network functions (VNF).
  • Support for Supports programmability, automation and DevOps:
    • A robust and flexible programmatic interface – namely the Control Plane Services (CPS). The API is defined using YANG models and is accessible through Python (and C/C++). 
    • The availability of a programmatic interface facilitates integration with SDN controllers
  • Provides a rich set of networking features including full access to the networking ASIC ACL and QoS functionality using CPS API/YANG models.

...