OpenSwitch provides a fully-featured L2/L3 control plane stack, traditional and programmatic, declarative control plane. The 24×7 nature of global digital economy and the explosion of data have changed how we think about data center networking. It’s time for the separation of switch hardware and software—delivered through an open environment based on open source established practices and true community involvement from developers and users.
The OpenSwitch Platform is an open source, Linux-based network operating system (NOS) platform. Built under the open source model, OpenSwitch offers the freedom of innovation while maintaining stability and limiting vulnerability. OPX Base uses an unmodified Linux kernel and standard distribution to take advantage of rich ecosystem, and also provide flexibility in customizing your Base system according to your network needs.
OpenSwitch is a network operating system for disaggregated switches that are built around OCP compliant hardware and that utilizes the ONIE boot loader to install and uninstall network operating systems. It is aimed at accelerating the transition to open networking as well as the adoption of disaggregated data center networks. OpenSwitch provides a fully-featured control plane stack with support for layer 2 and layer 3 networking protocols. The NOS is built around a reliable architecture focusing on modularity and a central state repository.
OpenSwitch is an extensible NOS that utilizes modern development tools and offers extensive APIs and management interfaces. Developers can build on the reliable and modern architecture to create unique networking features and applications using an agile development approach for faster development and more stable applications with fewer post-release defects
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.
OPX Base 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:
A GNU/Linux machine running a recent distribution is recommended:
At least 30GB of disk available for each OpenSwitch build directory (usually takes way less, but this is the worst-case scenario).
In order to be able to build an OpenSwitch image, use the following instructions to configure your Linux based system:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath screen curl device-tree-compiler libsdl1.2-dev xterm
If you encounter an error using libsdl1.2, the following commands can be used instead:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath screen curl device-tree-compiler xterm aptitude $ sudo aptitude install libsdl1.2-dev
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath screen curl device-tree-compiler libsdl1.2-dev xterm gperf quilt