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 GX desktop OpenFlow switch. OVS has made it possible to seamlessly integrate OpenFlow into your 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.