Well, they all start with the letter "O", this will be great for a Sesame Street episode for us to learn words with the letter "O".
They all start with the letter O because they are all have "open" in their name.
With "open" in their name, does that make them related?
OVS, OVN, OVSDB and OpenFlow are related but not because they have "open" in their name.
Before we look at how they are related let us take an overview of what they are and some of the key concept that we need to know. We can only take an overview of OVS, OVN, OVSDB and OpenFlow in this post as they by itself can be one or more blog post to cover.
OVS is the short form of Open vSwitch. It is an open source software based virtual network switching module that can be deployed on hypervisor such as KVM or white box switching hardware. Detail description of OVS can be found on it homepage and GitHub page.
A list of OVS feature can be found here. The latest version is release 1.5
OVS is heavily used in OpenStack as KVM is the most deployed hypervsior for OpenStack while OVS is the default virtual switching module for KVM.
This diagram from OVS home page describe what OVS is:
image source: http://openvswitch.org/
As you can see both OpenFlow and OVSDB is related to OVS. Will discus this in more detail later in this post.
OVN stands for Open Virtual Network and is pronounced as "oven". This is why the logo looks like the front of an oven. It is a sub-project within OVS.
Back in March 2015, I have already written an article on OVN. Please refer to this post for OVN details.
OVSDBOVSDB is a protocol. It stands for Open vSwtch Database Management protocol. It is used to manage an Open vSwitch. This is the management plan for Open vSwitch. It is defined in RFC 7047.
OpenFlowOpenFlow is a protocol. It is one form of control plane for Open vSwitch and is defined in RFC 7149.
The main idea is to setup flow table that defines the action of a particular flow. The basic action types are forward and drop with other optional/recommended actions such as flood, enqueue or modify field.
This diagram explains the Flow Table:
Putting OVS, OVN, OVSDB and OpenFlow togetherThis diagram summarize the relationship between OVS, OVSDB and OpenFlow
At this time OVN is part of OVS and uses the same interface ovsdb-server and ovs-vswitchd: