Open vSwitch Database Management Protocol (OVSDB) is defined in RFC 7047 and was initially used by Open vSwitch. Open vSwitch is an open source implementation of a virtual switch. OVSDB is used to configure and manage an instance of Open vSwitch.
OVSDB has similarities to XML, SQL, and SNMP (Simple Network Management Protocol). As a data modeling and data storage mechanism it leverages the “tag” and “value” concept of JSON (JavaScript Object Notation), and like XML, provides for defining and storing complex schema and datasets. The SQL similarities stem from its support of regular database operations (for example: “UPDATE”, “SELECT”, “DELETE”, etc.) that allows a client to modify the data store managed by OVSDB. In addition, a network-based manager (akin to an SNMP manager) can use the OVSDB management protocol to manage and monitor a network element. The wire format used for this is JSON-RPC 1.0.
A VTEP can provide for multiple methods to configure and manage itself: proprietary CLI; local configuration files; or a standards-based, network-based manager. For the last option, the Open vSwitch project defined the Hardware VTEP Schema that builds on top of OVSDB. A reference VXLAN and VTEP Schema implementation is included within the Open vSwitch distribution.
As part of the Software Defined Networking (SDN), the networking industry has defined abstracted models for various network functions and control. OVSDB (when seen as a schema) is one such data abstraction model that defines the configuration data stored within an L2 switch. In addition, OVSDB is also a management protocol to update this configuration data in the switch. The OVSDB Hardware VTEP Schema is a standards-based approach that allows a Network Virtualization Controller such as VMware NSX to configure a hardware switch that implements VXLAN termination (VTEP). ExtremeXOS supports version 1.3 of the schema.