What is Open vSwitch?

What is Open vSwitch?

Open vSwitch, or OVS as it is commonly known, is an open source enterprise-ready virtual switch platform. Originally released 2009 it has now become the go-to platform for virtual switching research and experimentation. It is extremely well featured, including support for the following :
  • Standard 802.1Q VLAN model with trunk and access ports
  • Spanning Tree Protocol (STP) and Rapid Spanning Tree Protocol (RSTP)
  • NetFlow, sFlow(R), and mirroring for increased visibility
  • QoS (Quality of Service) configuration, plus policing
  • Geneve, GRE, VXLAN, STT, and LISP tunneling
  • 802.1ag connectivity fault management
  • OpenFlow 1.0 and above.
  • Transactional configuration database with C and Python bindings
  • High-performance forwarding using a Linux kernel module

Open vSwitch has also become the defacto standard when learning OpenFlow because of its use in Mininet, the software that pretty much everyone starts their SDN journey with.

One thing that makes OVS so appealing is its massive flexibility and the amount of information that is available online. But what has been of particular interest to me is the OpenFlow functions, which have become the basis of our Zodiac WX wireless access point. OVS has made it possible to seamlessly integrate OpenFlow into a wireless network and take advantage of all the benefits of SDN. 

At a component level OVS consists of 8 core elements:

  • ovs-vswitchd, the daemon that implements the switch.
  • Linux kernel module, for flow-based switching.
  • ovsdb-server, a lightweight database server.
  • ovs-dpctl, a tool for configuring the switch kernel module.
  • ovs-vsctl, a utility for querying and updating the configuration of ovs-vswitchd.
  • ovs-appctl, a utility that sends commands to running Open vSwitch daemons.
  • ovs-ofctl, a utility for controlling the OpenFlow features of OVS.
  • ovs-pki, a utility for creating and managing the public-key infrastructure.

 The video below from David Mahler provides a great introduction to OVS and I highly recommend you learn more about this amazing technology.