The Dell Technologies Reference Architecture for Red Hat OpenStack Platform version 16.1 provides the ability to enable OVS-DPDK support based on two ports or four ports on the compute node s at the core or the (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 overhead, thus making the user space slowpath
. User space makes a decision and updates the flow table in the kernel space accordingly so that it can be used in the future.
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 DPDK-controller 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.