Search This Blog

Tuesday, July 9, 2013

The purpose of OVSDB in Open vSwitch stack

Open vSwitch is a virtual switch that is most commonly used with all sort of types of hypervisor like XEN, KVM and others. As a software component in a hypervisor software stack it allows to implement physical and virtual network connectivity between virtual machines (VM) that run on it. Because of its capabilities (example: managing GRE tunnels between hypervisors) it is often used in cloud deployments to provide interconnectivity between VM on different hypervisor servers as well.

The Open vSwitch secret to its successfully adoption is a modular design. The different components provide:
  • Support for management tasks with the help of OVSDB protocol
  • Data plane support (OpenFlow flow control protocol) 
  • Support for external control and management to implement a sophisticated control plane mechanism 
These capabilities provide foundation for any software trying to implement a network management, orchestration and automation systems.

In previous post (What is Openflow) we discussed the benefits of OpenFlow protocol and its data wire protocol frame headers (How is a single OpenFlow flow defined on a switch ).

For the OVSDB there is an internet draf here: http://tools.ietf.org/html/draft-pfaff-ovsdb-proto-02. The protocols is used additionally to Openflow to implement actions like:
  • Virtual switch (bridge) creation
  • Virtual port creation/deletion on bridges
  • Configuration of managers (used to manage bridges) and controllers (used to managed flows on bridges) 
Additional examples can be found on the ovs-discuss mailing list like in this one post: http://openvswitch.org/pipermail/discuss/2013-July/010464.html

References
  1. http://openvswitch.org/faq/ / 
  2. http://tools.ietf.org/html/draft-pfaff-ovsdb-proto-02
  3. http://networkheresy.com/tag/ovsdb/

2 comments:

  1. Good summary Radoslaw.

    Cheers,
    -Brent

    ReplyDelete
    Replies
    1. Thanks for your comment and thanks for your blogging as well http://networkstatic.net/ :)

      Delete