• Corpus ID: 1052365

The Design and Implementation of Open vSwitch

  title={The Design and Implementation of Open vSwitch},
  author={Ben Pfaff and Justin Pettit and Teemu Koponen and Ethan J. Jackson and Andy Zhou and Jarno Rajahalme and Jesse Gross and Alex Wang and Joe Stringer and Pravin Shelar and Keith Amidon and Mart{\'i}n Casado},
We describe the design and implementation of Open vSwitch, a multi-layer, open source virtual switch for all major hypervisor platforms. [] Key Method We detail the advanced flow classification and caching techniques that Open vSwitch uses to optimize its operations and conserve hypervisor resources. We evaluate Open vSwitch performance, drawing from our deployment experiences over the past seven years of using and improving Open vSwitch.

Figures and Tables from this paper

Throughput and Latency of Virtual Switching with Open vSwitch: A Quantitative Analysis
Extensive black-box tests are presented to quantify the throughput and latency of software switches with emphasis on the market leader, Open vSwitch.
Optimizing Open vSwitch to Support Millions of Flows
Two new optimizations for OvS are proposed to completely remove the sequential search overhead of the tuple space search layer of OvS, and a dynamic cache insertion optimization for the EMC to improve EMC effectiveness.
SoftFlow: A Middlebox Architecture for Open vSwitch
This paper presents SoftFlow, an extension of Open vSwitch that seamlessly integrates middlebox functionality while maintaining the familiar OpenFlow forwarding model and performing significantly better than alternative techniques for middlebox integration.
Characterising the Limits of the OpenFlow Slow-Path
The slow-path performance of these hardware switches is easily overloaded and is insufficient for modern network control architectures.
P4rt-OVS: Programming Protocol-Independent, Runtime Extensions for Open vSwitch with P4
The design results in a hybrid approach that provides P4 programmability without sacrificing the well-known features of OVS, and the performance evaluation shows that P4rt-OVS does not introduce significant processing overhead, yet enables runtime protocol extensions and stateful packet processing.
An empirical model of packet processing delay of the Open vSwitch
This paper presents an empirical model of the packet processing delay of a widely used OpenFlow virtual switch, the Open vSwitch, and captures the non-network processing delays, which could be used in enhancing the network modeling and simulation.
Oko: Extending Open vSwitch with Stateful Filters
Oo is presented, an extension of Open vSwitch that enables runtime integration of stateful filtering and monitoring functionalities based on Berkeley Packet Filter programs into the OpenFlow pipeline, and is compared to existing approaches with comparable isolation properties and measures a near 2x improvement of performance.
VirtP4: An Architecture for P4 Virtualization
VirtP4 provides parallel execution of true independent virtual switch instances with assistance of traffic control and packet routing, an architecture for the virtualization of P4-based programmable forwarding planes.
revisiting the open vSwitch dataplane ten years later
This paper shares the experience in supporting and running the Open vSwitch (OVS) software switch, as part of the NSX product for enterprise data center virtualization used by thousands of VMware customers, and endorse a third approach, based on a new Linux socket type called AF\_XDP, which solves the maintainability problem in a compatible, performant way.
Predictable Bandwidth Slicing with Open vSwitch
It is demonstrated that latency and predictability are dependent on the implementation of the bandwidth slicing mechanism and that the packet schedulers used in OVS Kernel-Path and OVS-DPDK focus on different switching performance aspects.


The Open vSwitch Database Management Protocol
This document defines the OVSDB management protocol, which is used to manage the Open vSwitch client and server implementations and also forwards traffic between VMs and the physical network.
Using hardware classification to improve PC-based OpenFlow switching
This paper proposes an architectural design to improve lookup performance of PC-based OpenFlow switching in Linux using a standard commodity network interface card based on the Intel 82599 Gigabit Ethernet controller and introduces a fast data path based on caching of flow table entries in on-board classification hardware on the NIC.
Extending Networking into the Virtualization Layer
This work describes how Open vSwitch can be used to tackle problems such as isolation in joint-tenant environments, mobility across subnets, and distributing configuration and visibility across hosts.
Scalable flow-based networking with DIFANE
DIFANE is proposed, a scalable and efficient solution that keeps all traffic in the data plane by selectively directing packets through intermediate switches that store the necessary rules.
Scalable, high performance ethernet forwarding with CuckooSwitch
CuckooSwitch is presented, a software-based Ethernet switch design built around a memory-efficient, high-performance, and highly-concurrent hash table for compact and fast FIB lookup that can process 92.22 million minimum-sized packets per second across the underlying hardware's PCI buses.
netmap: A Novel Framework for Fast Packet I/O
  • L. Rizzo
  • Computer Science
    USENIX Annual Technical Conference
  • 2012
The novelty in the proposal is not only that it exceeds the performance of most of previous work, but also that it provides an architecture that is tightly integrated with existing operating system primitives, not tied to specific hardware, and easy to use and maintain.
Network Virtualization in Multi-tenant Datacenters
The design and implementation of a network virtualization solution for multi-tenant datacenters is presented, which aims to meet the needs of tenants and service providers without operator intervention while preserving their own operational flexibility and efficiency.
ClickOS and the Art of Network Function Virtualization
This work introduces ClickOS, a high-performance, virtualized software middlebox platform, and implements a wide range of middleboxes including a firewall, a carrier-grade NAT and a load balancer and shows that ClickOS can handle packets in the millions per second.
NetVM: High Performance and Flexible Networking Using Virtualization on Commodity Platforms
This evaluation shows how NetVM can compose complex network functionality from multiple pipelined VMs and still obtain throughputs up to 10 Gbps, an improvement of more than 250% compared to existing techniques that use SR-IOV for virtualized networking.
Rethinking Packet Forwarding Hardware
For routers and switches to handle ever-increasing bandwidth requirements, the packet “fast-path” must be handled with specialized hardware. There have been two approaches to building such packet