Versions Compared

Key

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

...

OpenSwitch (OPX) – a network operating system (NOS) - was one the early adopters of these concepts and technologies. Architected Designed using a standard Debian Linux distribution with an unmodified Linux kernel, OpenSwitch provides a programmable high-level abstraction of network components, such a as switching ASICs (Network Processors) and optical transceivers.

Architected as a scalable, cloud-ready, agile solution, the open source OpenSwitch software implements a flexible infrastructure to enable both network operators and vendors to rapidly on-board open source Networking OS applications. OpenSwitch provides a YANG based programmatic interface, that can be accessed using Python, thus providing a an environment well-suited environment for DevOps.

OpenSwitch Features

...

  • Software disaggregated from hardware, and disaggregated software components.
  • Uses standard open source software, such as the ONIE installer and an unmodified Linux kernel based on the Debian distribution.
  • A robust and flexible programmatic interface – namely the Control Plane Services (CPS). The API is defined using YANG models and accessible through Python (and C/C++). The YANG models are converted into a CPS binary encoding.
    • The availability of a programmatic interface facilitates OpenSwitch integration with SDN controllers
  • Use of the open source Switch Abstraction Interface (SAI) defined in Open Compute Project for interfacing with the switching ASIC.
  • Provides a rich set of networking features including full access to the ASIC ACL and QoS functionality using CPS/YANG models.
  • Integrates Linux native APIs to ASIC functionality - networking features are also accessible the Linux standard API’s (“netlink”). Thus standard open source network packages (such as FRR) can be installed and supported in binary format.

...

  • L2 protocols: LLDP, LACP (link aggregation interfaces), 802.1q (VLAN interfaces), STP and bridge interfaces
  • L3 protocols (e.g. BGP),
  • QoS,
  • ACL
  • Instrumentation: sFlow, telemetry

OpenSwitch can be deployed/ported on any networking hardware – only the low-level software layers such as SAI and SDI are hardware specific and may need to be adapted.

...

  • Manages the high level abstraction of the switching ASIC
  • NAS manages the middleware middle-ware that associates physical ports to Linux interfaces, and adapts Linux native API calls (e.g. netlink) to the switching ASIC

...

  • Object centric framework
  • Mediates between application software components and the platform
  • Provides a pub/sub model and set/get/delete/create
  • Provides a the framework defining YANG modeled API APIs - with Python and C/C++ bindings

SAI – Switch Abstraction Interface

...