Production Quality, Multilayer Open Virtual Switch

What is Open vSwitch?

Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.  It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).  In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. See full feature list here

Introducing Open vSwitch

To understand why virtualized environments require a new approach to switching, read the WHY-OVS document that is distributed with the source code.

Open vSwitch is used in multiple products and runs in many large production environments (some very, very large). Each stable release is run through a regression suite of hundreds of system-level tests and thousands of unit tests.

In addition to OVS, the Open vSwitch community maintains the OVN project. OVN complements the existing capabilities of OVS to add native support for virtual network abstractions, such as virtual L2 and L3 overlays and security groups.

News

Open vSwitch and OVN Fall Conference 2023 was held online Dec. 6 and 7. Slides and videos are available.

Join Open vSwitch Community
Supported Platform

Open vSwitch can operate both as a soft switch running within the hypervisor, and as the control stack for switching silicon. It has been ported to multiple virtualization platforms and switching chipsets. It is the default switch in XenServer 6.0, the Xen Cloud Platform and also supports Xen, KVM, Proxmox VE and VirtualBox. It has also been integrated into many virtual management systems including OpenStack, openQRM, OpenNebula and oVirt. The kernel datapath is distributed with Linux, and packages are available for Ubuntu, Debian, Fedora and openSUSE. Open vSwitch is also supported on FreeBSD and NetBSD. The Open vSwitch release in development has been ported to DPDK.

The bulk of the code is written in platform-independent C and is easily ported to other environments.