Open vSwitch with DPDKMark Gray
Current Release of Open Vswitch (OVS)
Open vSwitch (OvS)
• Open-source community project offered under the Apache 2.0 license
• OvS Rel 2.6.0 available for download (Sept 28th 2016)
• Available at www.openvswitch.org
• OvS-DPDK available through:
3
Data Plane Development Kit (DPDK) Architecture
*Other brands and names are the property of their respective owners
DPDK Sample Applications
Linux Kernel
User Space
KNI IGB_UIO
Customer Applications ISV Eco-System Applications
EAL
MALLOC
MBUF
MEMPOOL
RING
TIMER
Core Libraries
KNI
POWER
IVSHMEM
Platform
LPM
EXACT MATCH
ACL
Classify
E1000
IXGBE
VMXNET3
IGB
I40e
VIRTIO
Packet Access(PMD – Native & Virtual)
ETHDEV
XENVIRT
PCAP
Mellanox*
PacketFrmWork
DISTRIB
Extensions
Cisco VIC* METER
SCHED
QoS
Libraries for network application development on Intel Platforms Speeds up networking functions
Enables user space application developmentFacilitates both run-to-completion and pipeline models
Multiple CPU architectures supported (on dpdk.org)Intel x86_64, ia32, targeting Intel® Xeon® to Intel®
Atom™Power 7/8 (Added by DPDK community members)
Tilera TlleGx (Added by DPDK community members)Multiple vendor NICs supported open source
Intel Mellanox, Cisco (Added by DPDK community members)
Kernel Space
User Space Main forwarding plane runs in kernel space
Exception packets are sent to vswitchdin userspace using Netlink
Standard Linux network interfaces to communicate with physical network
NATIVE Open vSwitch – architecture
ovs-vswitchd
OVS Kernel Space Forwarding Plane
(openvswitch.ko)
NIC NICNIC
Netlink
ovs-vswitchd
OVS Kernel Space Forwarding Plane
NIC NICNIC
Netlink
DPDK
PMD Driver
User Space
User Space
Kernel Space
Kernel Space
PMD Driver
PMD Driver
acePMD
Driver
User Space
Kernel Space
PMD Driver
PMD Driver
OVS User Space Forwarding Plane
OVS with DPDK
ovs-vswitchd
Integrate DPDK library into OVS• Main forwarding plane runs in userspace as
separate threads of vswitchd
• DPDK PMD to communicate with physical network
• Achieve near native performance when using shared memory
• Available as a compile time option for standard OVS
NIC NICNIC
DPDK
Native OVS
NIC NICNIC
Open vSwitch With DPDK – architecture
Control Path
Open vSwitch (OVS) With DPDK ARCHITECTURE
ovs-vswitchd
dpif-netdev (User Space Forwarding)
Compute Node:User Space
Controllerovsdb OpenFlow
ovsdb server
ofproto
Compute Node:Hardware
VNF
Virtio
Qemu
VNF
Ivshmem
DPDK
Qemunetd
ev
Data Path
Control Path
netdev-dpdk
DPDKlibrte_ring
DPDKlibrte_vhost
DPDKlibrte_eth
Open vSwitch with DPDK Packet Flow
Open vSwitch With DPDK – Performance
9
Open vSwitch With DPDK – Performance
Disclaimer: Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully
evaluating your contemplated purchases, including the performance of that product when combined with other products. E5-2658 (2.1GHz, 8C/16T) DP; PCH: Patsburg; LLC: 20MB; 16 x 10GbE Gen2 x8; 4 memory channels per socket @ 1600MT/s, 8 memory channels total; DPDK 1.3.0-154 E5-2658v2 (2.4GHz, 10C/20T) DP; PCH: Patsburg; LLC: 20MB; 22 x 10GbE Gen2 x8; 4 memory channels per socket @ 1867MT/s, 8
memory channels total; DPDK 1.4.0-22 *Projection data on 2 sockets extrapolated from 1S run on Wildcat Pass system with E5-2699 v3.
10
• Virtual Switches provide network connectivity for virtual machines in the datacentre. NFV has imposed increased performance requirements on the virtual switch.
• Open vSwitch is an open source virtual switch that uses DPDK software acceleration in order to increase the performance for NFV use cases.
SUMMARY