The Dell EMC Ready Architecture for Red Hat OpenStack Platform version 16.1 provides the ability to enable OVS-DPDK support based on 2 ports or 4 ports on the compute nodes at the core or the edge site(s) in the solution.
Open vSwitch (OVS) is a multilayer software/virtual switch used to interconnect virtual machines in the same host and between different hosts. OVS makes use of the kernel for packet forwarding through a data path known as “fastpath” which consists of a simple flow table with action rules for the received packets. Exception packets or packets with no corresponding forwarding rule in the flow table are sent to the user space (slowpath). Switching between two memory spaces creates a lot of overheard, thus making the user space “slowpath”. User space makes a decision and updates the flow table in the kernel space accordingly so they can be used in the future.
As can be seen in the Figure 1, the OVS kernel module acts as a cache for the user space. And just like a cache, its performance increases as the number of rules increase in the user space.
DPDK (Data-Plane Development Kit) eliminates packet buffer copies. It does this by running a dedicated poll-mode driver, and allocating hugepages for use as a packet buffer, then passing pointers to the packets. The elimination of copies leads to higher performance. OVS, when enabled to use DPDKcontroller physical NIC interfaces, experiences a tremendous boost to packet delivery performance. It is also advantageous that both OVS and DPDK can operate in userspace, thus reducing kernel switches and improving packet processing efficiencies.