Open vSwitch

{{Short description|Virtual network switch}}

{{Use mdy dates|date=August 2014}}

{{Infobox software

| title =

| name = Open vSwitch

| logo = Open vSwitch Logo.svg

| logo size =

| logo alt = Open vSwitch logo

| logo caption =

| screenshot =

| screenshot size =

| screenshot alt =

| caption =

| collapsible =

| author =

| developer =

| released = {{Start date and age|2009|07|29}}{{cite web

|url = http://openvswitch.org/releases/

|archive-url = https://web.archive.org/web/20171109121307/http://openvswitch.org/releases/

|archive-date = 2017-11-09

|title = A complete list of Open vSwitch releases

|access-date = April 2, 2014

|website = openvswitch.org

}}

| discontinued =

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| latest preview version =

| latest preview date =

| programming language = C

| operating system = Linux, Hyper-V, FreeBSD and NetBSD

| platform =

| size =

| language =

| language count =

| language footnote =

| genre = Virtual network switch

| license = Apache License 2.0

| alexa =

| website = {{URL|https://www.openvswitch.org/}}

| standard =

}}

Open vSwitch (OVS) is an open-source implementation of a distributed virtual multilayer switch. The main purpose of Open vSwitch is to provide a switching stack for hardware virtualization environments, while supporting multiple protocols and standards used in computer networks.{{cite web

| url = http://www.ibm.com/developerworks/linux/library/l-virtual-networking/

| title = Virtual networking in Linux

| date = October 27, 2010 | access-date = April 9, 2014

| author = M. Tim Jones | publisher = IBM

}}

The project's source code is distributed under the terms of Apache License 2.0.

Overview

File:Distributed Open vSwitch instance.svg virtual network switch, transparently distributed across multiple physical servers.]]

Open vSwitch is a software implementation of a virtual multilayer network switch, designed to enable effective network automation through programmatic extensions, while supporting standard management interfaces and protocols such as NetFlow, sFlow, SPAN, RSPAN, CLI, LACP and 802.1ag. 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 vNetwork distributed vswitch or Cisco Nexus 1000V.{{cite web

| url = https://www.openvswitch.org/

| title = Open vSwitch: An Open Virtual Switch

| access-date = November 24, 2013

| website = openvswitch.org

}}{{cite web

| url = http://blog.zhaw.ch/icclab/files/2013/04/OpenStack-Quantum-SDN-with-Open-vSwitch.pdf

| title = Underneath OpenStack Quantum: Software Defined Networking with Open vSwitch

| date = April 24, 2013 | access-date = April 9, 2014

| author = Thomas Graf | publisher = Red Hat

}}{{cite web

| url = http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch

| title = Virtual switching with Open vSwitch

| access-date = April 2, 2014

| author = Ralf Spenneberg | website = admin-magazine.com

}}

Open vSwitch can operate both as a software-based network switch running within a virtual machine (VM) hypervisor, 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.{{cite web

| url = http://www.marketwired.com/press-release/tilera-launches-open-virtual-switch-solution-ovs-to-accelerate-nfv-and-sdn-1881746.htm

| title = Tilera Launches Open Virtual Switch Solution (OVS) to Accelerate NFV and SDN

| date = February 24, 2014 | access-date = June 22, 2015

| publisher = Marketwired

}} Open vSwitch is the default network switch in the XenServer virtualization platform since its version 6.0,{{cite web

| url = http://support.citrix.com/article/CTX130418

| title = XenServer 6.0 Release Notes

| date = March 8, 2012

| access-date = January 22, 2015

| publisher = Citrix Systems

| archive-date = March 8, 2021

| archive-url = https://web.archive.org/web/20210308025022/https://support.citrix.com/article/CTX130418

| url-status = dead

}} and in the Xen Cloud Platform via its XAPI management toolstack.{{cite web

| url = http://www.xenproject.org/developers/teams/xapi.html

| title = XAPI: Open source software to build private and public clouds

| year = 2013 | access-date = January 22, 2015

| website = xenproject.org

}} It also supports Xen, Linux KVM, Proxmox VE and VirtualBox hypervisors, while a port to Hyper-V is also available.{{cite web

| url = http://www.cloudbase.it/open-vswitch-on-hyper-v/

| title = Open vSwitch on Hyper-V

| date = May 22, 2014 | access-date = June 22, 2015

| author = Alessandro Pilotti | website = cloudbase.it

}} Open vSwitch has also been integrated into various cloud computing software platforms and virtualization management systems, including OpenStack, openQRM, OpenNebula and oVirt.

The Linux kernel implementation of Open vSwitch was merged into the kernel mainline in kernel version 3.3, which was released on March 18, 2012;{{cite web

| url = http://kernelnewbies.org/Linux_3.3#head-d587af5a0e432c20cd96f2fe2b82adabba671df9

| title = Linux kernel 3.3, Section 1.3. Open vSwitch

| date = March 18, 2012 | access-date = April 2, 2014

| website = kernelnewbies.org

}}{{cite web

| url = https://lwn.net/Articles/469775/

| title = Routing Open vSwitch into the mainline

| date = November 30, 2011 | access-date = April 2, 2014

| author = Jonathan Corbet | publisher = LWN.net

}} official Linux packages are available for Debian, Fedora, openSUSE and Ubuntu. {{As of|2014|01}}, FreeBSD and NetBSD implementations are also available, with the NetBSD's implementation operating completely in userspace.{{cite web

| url = http://www.freshports.org/net/openvswitch/

| title = FreshPorts – net/openvswitch

| date = December 30, 2013 | access-date = April 2, 2014

| website = freshports.org

}}{{cite web

| url = http://changeofelia.info.ucl.ac.be/pmwiki/uploads/SummerSchool/Program/poster_001.pdf

| title = Open vSwitch: performance improvement and porting to FreeBSD

| date = November 7, 2011

| access-date = June 22, 2015

| author = Gaetano Catalli

| website = ucl.ac.be

| archive-date = March 5, 2016

| archive-url = https://web.archive.org/web/20160305023647/http://changeofelia.info.ucl.ac.be/pmwiki/uploads/SummerSchool/Program/poster_001.pdf

| url-status = dead

}}

{{cite web

| url = https://github.com/openvswitch/ovs/blob/master/INSTALL.NetBSD

| archive-url = https://archive.today/20140409182840/https://github.com/openvswitch/ovs/blob/master/INSTALL.NetBSD

| archive-date = 2014-04-09

| title = openvswitch/ovs: ovs/INSTALL.NetBSD at master

| date = January 11, 2014

| access-date = April 9, 2014

| website = github.com

}}

The majority of the Open vSwitch source code is written in platform-independent C language, which provides easy portability to various environments. The source code is licensed under the Apache License 2.0.

Features

{{As of|2015|09}}, features provided by Open vSwitch include the following:{{cite web

| url = http://openvswitch.org/features/

| title = Open vSwitch: Features

| access-date = September 17, 2015

| website = openvswitch.org

}}{{cite web

| url = http://events.linuxfoundation.org/sites/events/files/slides/OVS-LinuxCon%202013.pdf

| title = Programmable Networking with Open vSwitch

| date = September 2013

| access-date = November 24, 2013

| author = Jesse Gross

| publisher = LinuxCon

| website = linuxfoundation.org

| archive-date = March 6, 2016

| archive-url = https://web.archive.org/web/20160306044348/http://events.linuxfoundation.org/sites/events/files/slides/OVS-LinuxCon%202013.pdf

| url-status = dead

}}

| url = http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/

| title = Accelerating Open vSwitch to 'Ludicrous Speed'

| date = November 13, 2014 | access-date = May 26, 2015

| author1 = Justin Pettit | author2 = Ben Pfaff | author3 = Ethan Jackson

| website = networkheresy.com

}}{{cite web

| url = https://events.static.linuxfound.org/sites/events/files/slides/Evolution%20of%20OVS.pdf

| title = The Evolution of Open vSwitch

| date = August 21, 2014 | access-date = May 28, 2015

| author = Jesse Gross | publisher = LinuxCon

| website = events.linuxfoundation.org | pages = 6, 13–17

}}

  • Multi-table forwarding pipeline with a flow-caching engine
  • Forwarding layer abstraction, making it easier to port Open vSwitch to new software and hardware platforms

See also

References

{{Reflist|30em}}