Open vSwitch, sometimes abbreviated as OVS, is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
implementation of a distributed virtual
multilayer switch
A multilayer switch (MLS) is a computer networking device that switches on Data link layer, OSI layer 2 like an ordinary network switch and provides extra functions on higher OSI model, OSI layers. The MLS was invented by engineers at Digital Eq ...
. The main purpose of Open vSwitch is to provide a
switching stack for
hardware virtualization
Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physic ...
environments, while supporting multiple protocols and standards used in
computer network
A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections ar ...
s.
The project's source code is distributed under the terms of
Apache License 2.0.
Overview

Open vSwitch is a software implementation of a
virtual multilayer
network switch
A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device.
A netw ...
, designed to enable effective network automation through programmatic extensions, while supporting standard management interfaces and protocols such as
NetFlow,
sFlow
sFlow, short for "sampled flow", is an industry standard for packet export at Layer 2 of the OSI model. sFlow was originally developed by InMon Corp. It provides a means for exporting truncated packets, together with interface counters for the purp ...
,
SPAN
Span may refer to:
Science, technology and engineering
* Span (unit), the width of a human hand
* Span (engineering), a section between two intermediate supports
* Wingspan, the distance between the wingtips of a bird or aircraft
* Sorbitan es ...
,
RSPAN
Port mirroring is used on a network switch to send a copy of computer network, network Packet (information technology), packets seen on one switch Port (computer networking), port (or an entire VLAN) to a network monitoring connection on another ...
,
CLI,
LACP and
802.1ag
IEEE 802.1ag (also CFM) (''IEEE Standard for Local and Metropolitan Area Networks Virtual Bridged Local Area Networks Amendment 5: Connectivity Fault Management'') is a standard defined by IEEE. It defines protocols and practices for OAM (Operati ...
. In addition, Open vSwitch is designed to support transparent distribution across multiple physical servers by enabling creation of cross-server switches in a way that abstracts out the underlying server architecture, similar to the
VMware
VMware, Inc. is an American cloud computing and virtualization technology company with headquarters in Palo Alto, California. VMware was the first commercially successful company to virtualize the x86 architecture.
VMware's desktop software ru ...
vNetwork distributed vswitch or
Cisco
Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develo ...
Nexus 1000V.
Open vSwitch can operate both as a software-based network switch running within a
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
(VM)
hypervisor
A hypervisor (also known as a virtual machine monitor, VMM, or virtualizer) is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
, and as the control stack for dedicated switching hardware; as a result, it has been
ported to multiple virtualization platforms, switching chipsets, and networking
hardware accelerators. Open vSwitch is the default network switch in the
XenServer
Xen (pronounced ) is a type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was
originally developed by the University of Cambridge Computer Laboratory ...
virtualization platform since its version 6.0, and in the
Xen Cloud Platform via its XAPI management toolstack. It also supports
Xen,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
KVM,
Proxmox VE and
VirtualBox
Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation.
VirtualBox was originally created by Innotek GmbH, which was acquired by ...
hypervisors, while a port to
Hyper-V
Microsoft Hyper-V, codenamed Viridian, and briefly known before its release as Windows Server Virtualization, is a native hypervisor; it can create virtual machines on x86-64 systems running Windows. Starting with Windows 8, Hyper-V superseded Wi ...
is also available. Open vSwitch has also been integrated into various
cloud computing
Cloud computing is the on-demand availability of computer system resources, especially data storage ( cloud storage) and computing power, without direct active management by the user. Large clouds often have functions distributed over m ...
software platforms and virtualization management systems, including
OpenStack
OpenStack is a free, open standard cloud computing platform. It is mostly deployed as infrastructure-as-a-service (IaaS) in both public and private clouds where virtual servers and other resources are made available to users. The software platfo ...
,
openQRM,
OpenNebula and
oVirt.
The
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
implementation of Open vSwitch was merged into the
kernel mainline in kernel version 3.3, which was released on March 18, 2012;
official Linux packages are available for
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
,
Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
,
openSUSE
openSUSE () is a free and open source RPM-based Linux distribution developed by the openSUSE project.
The initial release of the community project was a beta version of SUSE Linux 10.0.
Additionally the project creates a variety of tools, s ...
and
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
.
,
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
and
NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
implementations are also available, with the NetBSD's implementation operating completely in
userspace
A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour.
Kernel ...
.
The majority of the Open vSwitch source code is written in platform-independent
C language
C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities o ...
, which provides easy
portability
Portability may refer to:
*Portability (social security), the portability of social security benefits
* Porting, the ability of a computer program to be ported from one system to another in computer science
** Software portability, the portability ...
to various environments. The source code is licensed under the Apache License 2.0.
Features
, features provided by Open vSwitch include the following:
* Exposed communication between virtual machines, via NetFlow, sFlow,
IP Flow Information Export (IPFIX),
Switched Port Analyzer
Port mirroring is used on a network switch to send a copy of network packets seen on one switch port (or an entire VLAN) to a network monitoring connection on another switch port. This is commonly used for network appliances that require monitor ...
(SPAN),
Remote Switched Port Analyzer
Port mirroring is used on a network switch to send a copy of computer network, network Packet (information technology), packets seen on one switch Port (computer networking), port (or an entire VLAN) to a network monitoring connection on another ...
(RSPAN), and
port mirrors tunneled using
Generic Routing Encapsulation
Generic Routing Encapsulation (GRE) is a tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol net ...
(GRE)
*
Link aggregation
In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundan ...
through the
Link Aggregation Control Protocol (LACP,
IEEE 802.1AX-2008)
* Standard
802.1Q virtual LAN (VLAN) model for network partitioning, with support for
trunking
In telecommunications, trunking is a technology for providing network access to multiple clients simultaneously by sharing a set of circuits, carriers, channels, or frequencies, instead of providing individual circuits or channels for each clie ...
* Support for
multicast snooping using versions 1, 2 and 3 of the
Internet Group Management Protocol
The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direc ...
(IGMP)
* Support for the
Shortest Path Bridging Media Access Control
Shortest Path Bridging (SPB), specified in the IEEE 802.1aq standard, is a computer networking technology intended to simplify the creation and configuration of Ethernet networks while enabling multipath routing.
It is the replacement for the ...
(SPBM) and associated basic support for the
Link Layer Discovery Protocol (LLDP)
* Support for the
Bidirectional Forwarding Detection
Bidirectional Forwarding Detection (BFD) is a network protocol that is used to detect faults between two routers or switches connected by a link. It provides low-overhead detection of faults even on physical media that doesn't support failure ...
(BFD) and 802.1ag link monitoring
* Support for the
Spanning Tree Protocol
The Spanning Tree Protocol (STP) is a network protocol that builds a loop-free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also ...
(STP,
IEEE 802.1D-1998) and
Rapid Spanning Tree Protocol (RSTP, IEEE 802.1D-2004)
* Fine-grained
quality of service
Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
(QoS) control for different applications, users, or data
flows
* Support for the
hierarchical fair-service curve The hierarchical fair-service curve (HFSC) is a network scheduling algorithm for a network scheduler proposed by Ion Stoica, Hui Zhang and T. S. Eugene from Carnegie Mellon University at SIGCOMM 1997
It is based on a QoS and CBQ.
An implementa ...
(HFSC)
queuing discipline
A network scheduler, also called packet scheduler, queueing discipline (qdisc) or queueing algorithm, is an arbiter on a node in a packet switching communication network. It manages the sequence of network packets in the transmit and receive q ...
(qdisc)
*
Traffic policing at the level of virtual machine interface
*
Network interface controller
A network interface controller (NIC, also known as a network interface card, network adapter, LAN adapter or physical network interface, and by similar terms) is a computer hardware component that connects a computer to a computer network.
E ...
(NIC)
bonding, with load balancing by source
MAC
Mac or MAC most commonly refers to:
* Mac (computer), a family of personal computers made by Apple Inc.
* Mackintosh, a raincoat made of rubberized cloth
* A variant of the word macaroni, mostly used in the name of the dish mac and cheese
* Mac, ...
addresses, active backups, and
layer 4 hashing
* Support for the
OpenFlow protocol, including various virtualization-related extensions
* Complete
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. I ...
(Internet Protocol version 6) support
* Support for multiple
tunneling protocol
In computer networks, a tunneling protocol is a communication protocol which allows for the movement of data from one network to another. It involves allowing private network communications to be sent across a public network (such as the Internet ...
s, including GRE,
Virtual Extensible LAN
Virtual Extensible LAN (VXLAN) is a network virtualization technology that attempts to address the scalability problems associated with large cloud computing deployments. It uses a VLAN-like encapsulation technique to encapsulate OSI layer 2 ...
(VXLAN), Stateless Transport Tunneling (STT) and
Geneve, with additional support for layering over
Internet Protocol Security (IPsec)
* Remote configuration protocol, with existing
bindings for the
C and
Python programming languages
* Implementation of the packet forwarding engine in
kernel space
A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour.
Kerne ...
or
userspace
A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour.
Kernel ...
, allowing additional flexibility as well as providing performance improvements by processing the majority of forwarded packets without leaving the kernel space and by using
multithreaded kernel space and userspace components
* Multi-table forwarding pipeline with a flow-caching engine
* Forwarding layer abstraction, making it easier to
port
A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as ...
Open vSwitch to new software and hardware platforms
See also
*
Distributed Overlay Virtual Ethernet (DOVE)
*
LAN switching
A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device.
A netw ...
*
Network functions virtualization Network functions virtualization (NFV) is a network architecture concept that leverages the IT virtualization technologies to virtualize entire classes of network node functions into building blocks that may connect, or chain together, to create and ...
(NFV)
*
Overlay transport virtualization (OTV)
*
Software-defined networking
Software-defined networking (SDN) technology is an approach to network management that enables dynamic, programmatically efficient network configuration in order to improve network performance and monitoring, making it more like cloud computing ...
(SDN)
References
External links
* and
* , December 15, 2013
* , November 8, 2013
OVN, Bringing Native Virtual Networking to OVS January 13, 2015, by Justin Pettit, Ben Pfaff, Chris Wright and Madhu Venugopal
January 13, 2015, by Ben Pfaff
PRWeb
Cision Ltd. is a public relations and earned media software industry, software company and services provider. The company is incorporated in the Cayman Islands and headquartered in Chicago, Illinois; with clients worldwide. The company went publi ...
, April 16, 2014
*
ttps://www.wired.com/2012/04/going-with-the-flow-google/ Going With the Flow: Google's Secret Switch to the Next Wave of Networking ''
Wired
''Wired'' (stylized as ''WIRED'') is a monthly American magazine, published in print and online editions, that focuses on how emerging technologies affect culture, the economy, and politics. Owned by Condé Nast, it is headquartered in San Fran ...
'', April 17, 2012, by Steven Levy
Performance Characteristics of Virtual Switching IEEE
The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operati ...
, 2014, by Paul Emmerich, Daniel Raumer, Florian Wohlfart and Georg Carle
{{Virtualization software
Free software programmed in C
Linux Foundation projects
Local area networks
Network architecture
Software using the Apache license