6WIND Support for Intel® Data Plane Development Kit (DPDK)
V1.5 / 1 V1.6 | ©6WIND 2014. All rights reserved. All brand names, trademarks and copyright information cited in this presentation shall remain the property of its registered owners. Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 2 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 3 Introduction: 6WIND and Intel® DPDK
Long-term strategic partnership
First high performance networking software on Intel processors, introduced before Intel® DPDK
First commercial networking software with Intel® DPDK support, demonstrated at Intel Developer Forum September 2011
6WINDGate deployed on IA platforms by tier-1 networking and telecom equipment OEMs
Launched dpdk.org in April 2013
©6WIND 2014 V1.6 | 4 Your Three Options for Obtaining Intel® DPDK
1. From Intel • As direct Intel customer • Latest version of Intel® DPDK • www.intel/com/go/dpdk
Baseline Intel® DPDK Code Sync of git tree dpdk.org 2. From dpdk.org • Latest version of Intel DPDK • Community patches Open-Source • Community support Community • Some 6WIND-developed features Patches Sync of git tree
3. From 6WIND 6WIND DPDK • Maintained version plus • Latest version of DPDK Selected 6WIND- selected 6WIND- • Feature and performance enhancements developed developed • dpdk.org patches enhancements enhancements • Full technical support and maintenance • Optionally integrated with 6WINDGate
©6WIND 2014 V1.6 | 5 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 6 DPDK.org Open-Source Project
Open-Source project established by 6WIND
Announced on April 9, 2013.
Goal is to accelerate development of DPDK- based networking and telecom products.
Comprehensive set of resources for developers
Libraries
Drivers
Documentation
Development mailing list
git repository
Technical support.
Openly-accessible repository for released versions of DPDK
©6WIND 2014 V1.6 | 7 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 8 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features: Intel presentation content reused with permission from Intel
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 9 ©6WIND 2014 V1.6 | 10 ©6WIND 2014 V1.6 | 11 ©6WIND 2014 V1.6 | 12 ©6WIND 2014 V1.6 | 13 ©6WIND 2014 V1.6 | 14 ©6WIND 2014 V1.6 | 15 ©6WIND 2014 V1.6 | 16 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 17 Intel® DPDK Library from 6WIND: Features and Benefits
Based on baseline Intel® DPDK library 6WIND DPDK add-on functions As well as features available via dpdk.org Virtualization acceleration Acceleration / offload
Cavium Nitrox Security 6WIND DPDK add-ons available for increased system Fast vNIC Poll Mode Driver Acceleration functionality, performance and reliability
vNIC VMXNET3 Poll Mode Intel® Multi Buffer Crypto for Poll Mode Drivers (PMDs) for non-Intel NICs Driver IPsec Library e.g. Mellanox ConnectX-3® EN PMD Intel® QuickAssist vNIC Virtio Poll Mode Driver Acceleration Technology Performance acceleration for virtualized networking
Fast vNIC PMD Mellanox ConnectX®-3 EN Non-Intel NIC support vNIC VMXNET3 PMD Poll Mode Driver vNIC Virtio PMD
Crypto acceleration modules that leverage dpdk.org features Cavium Nitrox security acceleration
Intel® Multi Buffer Crypto for IPsec Library Baseline Intel® DPDK library Intel® QuickAssist Acceleration Technology
©6WIND 2014 V1.6 | 18 6WIND's Enhancements to Intel® DPDK
librte_ framework
librte_ether (rte_eth_dev_*() )
librte_crypto
librte_eal
librte_pmd_quickassist.so
librte_pmd_multibuffer.so
librte_pmd_fast_vnic.so
librte_pmd_vmxnet3.so librte_pmd_vmxnet3.so
librte_pmd_virtio.so (1)
librte_mempool
librte_pmd_others.so
librte_cmdline
librte_pmd_virtio
librte_pmd_nitrox.so
librte_malloc
librte_pmd_mlx4.so
librte_power
librte_sched
librte_pmd_e1000
librte_pmd_ixgbe
librte_timer
librte_pmd_pcap
librte_ring
librte_pmd_ring
/ /
librte_mbuf
linux
userland (1)
Developed by 6WIND, Developed by 6WIND available and available from from 6WIND dpdk.org
©6WIND 2014 V1.6 | 19 Intel® DPDK Library from 6WIND: Comprehensive Lifecycle Support
System Development and System Design System Deployment Integration
• Requirements analysis. • Software integration • DPDK product support • DPDK technical support • Technical training • System software architecture • DPDK integration. • Maintenance evaluation • Updates. • Performance measurements • DPDK driver development. • Software design trade-offs.
• Development support • 6WIND expertise • Technical training • Migrating networking • Customization applications to multicore. • Software integration.
©6WIND 2014 V1.6 | 20 Best-in-Class Technical Support
Industry-leading experience from many years of software development for Intel® DPDK platform
Proven with tier-1 networking and telecom equipment companies worldwide.
Successful technical support model proven with clients worldwide in all tiers
Experienced with custom support agreements for specific clients when required.
Standard support agreement includes
SLA-defined response times
Online system for submitting support questions and tracking issues.
Dedicated service and support team
Local experts based in Asia, Europe and North America
Partnerships with software services companies for value-added services worldwide.
©6WIND 2014 V1.6 | 21 Subscription-Based Business Model for DPDK
Note: different business model for 6WINDGate software
Developer subscription Production subscription
Resources to help develop a product Resources to help maintain a shipping platform
Cannot be used for product deployment Cannot be used for product development
Applies to defined platform configuration(s) Applies to defined DPDK version and platform configuration(s)
Patches and maintenance releases Quarterly releases of 6WIND DPDK Multiple options for number of deployed units Patches and maintenance releases
Ongoing access to latest version of DPDK Standard subscription
One year duration, web interface plus 12x5 phone support, Standard subscription quarterly reports, two subscribers, single supported One year duration, web interface for support, single platform, one DPDK version, on-line training subscriber, single supported platform, limited engineering services, on-line training Optional additions
Up to three years duration, web interface plus 24x7 phone Optional additions support, monthly reports, additional subscribers, more Up to three years duration, regular support calls, additional platforms, more DPDK versions, engineering services, on- subscribers, more platforms, increased engineering site training, private branch services, on-site training
©6WIND 2014 V1.6 | 22 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 23 6WINDGate Support for Intel® DPDK
Performance
Ivy Bridge
Sandy Bridge 6WINDGate ported to Clovertown in 2007 Westmere
Intel® DPDK support Nehalem
Early Intel® DPDK Clovertown releases before general availability
©6WIND 2014 V1.6 | 24 6WINDGate Provides System Solution Leveraging Intel® DPDK
Client’s Application Software
High-performance packet processing solutions for • Gateways • Security appliances • UTMs • Virtual appliances • etc.
Intel® DPDK • Data Plane libraries • Optimized NIC drivers …… Intel Multicore Processor
©6WIND 2014 V1.6 | 25 Optimized Integration between 6WINDGate and Intel® DPDK
6WINDGate provides complete packet processing solution for DPDK platforms
Complete set of Layer 2 through Layer 4 Comprehensive set of optimized networking Control routing, security, connectivity, switching and protocols Plane mobility protocols Full compatibility with application APIs
Carrier Grade reliability. 20+ optimized fast path Data Fast Path protocols with full support Plane for on-chip accelerators 6WINDGate fully leverages Intel® DPDK library
Exploits Intel® DPDK data plane libraries for best possible utilization of processor resources
Optional 6WIND Add-Ons Optimized NIC drivers for maximum networking performance. dpdk.org dpdk.org dpdk.org
Intel® DPDK library plus dpdk.org features and Delivered as integrated solution to 6WIND DPDK add-ons accelerate clients' time-to-market.
©6WIND 2014 V1.6 | 26 Intel® DPDK Support Implemented via Optimized "FPN-SDK" Module
Control Plane
Architecture-independent fast path modules Fast Path Data • Generic, processor-independent source code Plane • Cycle-level and pipeline-level optimizations.
Architecture-specific "Fast Path Networking SDK" IA FPN-SDK • Zero-overhead API for fast path modules • Support for processor-specific features and resources • Optimized for Intel® DPDK. DPDK
©6WIND 2014 V1.6 | 27 Detailed Architecture of 6WINDGate on Intel® DPDK
IPv4 / IPv6 Ethernet Bridging, Flow Inspection Fast Path IPsec IPv4 / IPv6 VLAN GRE Forwarding LAG (BPF) IPv4 / IPv6 L2TP, PPPoE TCP / UDP QoS IP Reassembly GTP-U Multicast BRAS Termination IPv4 / IPv6 MPLS / VPLS Open vSwitch Extended Fast NAT IPsec SVTI Filtering Encapsulation (OVS) Acceleration Path (1CP + xFP)
RX/TX plug-ins (load balancers, QoS, custom modules)
FPN rte_mbuf fast path buf rte_timers timers DPVI fpu RPC SDK
librte_ framework
librte_ether (rte_eth_dev_*() ) librte_crypto
librte_eal
librte_pmd_quickassist.so
librte_pmd_multibuffer.so
librte_pmd_fast_vnic.so
librte_pmd_vmxnet3.so librte_pmd_vmxnet3.so
librte_pmd_virtio.so (1)
librte_mempool
librte_pmd_others.so
librte_pmd_nitrox.so
librte_cmdline
librte_pmd_virtio
librte_pmd_mlx4.so
librte_malloc
librte_power
librte_sched
librte_pmd_e1000
librte_pmd_ixgbe
librte_timer
librte_pmd_pcap
librte_ring librte_pmd_ring
Intel® / librte_mbuf
DPDK linux
userland (1)
©6WIND 2014 V1.6 | 28 Comprehensive Protocol Set
High Availability Control Plane
Routing (RIP, Virtual Routing Security (IKEv1, HA ARP / NDP HA Routing OSPF, BGP, VPN Monitoring and Forwarding IKEv2) Multicast)
HA Firewall / HA IPsec BFD SMR PPPoE BRAS L2TP BRAS NAT
HA Daemon Open vSwitch Monitoring HA LACP VRRP LACP Management (OVS) System
Fast Path
IPv4 / IPv6 Ethernet Forwarding and IPsec IPv4 / IPv6 VLAN GRE Flow Inspection Bridging, LAG Tunneling Data TCP / UDP IPv4 / IPv6 L2TP, PPPoE QoS IP Reassembly GTP-U Termination Plane Multicast BRAS (IPv4 / IPv6) Open vSwitch IPv4 / IPv6 MPLS / VPLS Extended Fast NAT IPsec SVTI (OVS) Filtering Encapsulation Path (1CP + xFP) Acceleration
©6WIND 2014 V1.6 | 29 Scalable across Processors, Blades and Racks
Hardware Platform Linux Cores • Fast path maximizes performance by processing packets on dedicated cores running DPDK Linux • Supports dynamic configuration of cores to run Linux or fast path Application Software • Performance scales linearly with number of cores running fast path Packet Processing Packet Software Processing Performance
Control Plane
1 2 3 4 5 Number of fast path cores
Data Fast Path Fast Path DPDK DPDK DPDK DPDK Plane Cores
©6WIND 2014 V1.6 | 30 High-Performance Networking in Virtualized Environments
Virtual Machine Virtual Machine Virtual Machine 6WIND-enhanced version of Intel® DPDK library Virtual Virtual removes VM and hypervisor bottlenecks Virtual Network Network Application I/O Virtualization (IOV) bypasses vSwitch, removing switching Appliance Appliance performance constraints
Supports both IOMMU and SRIOV Linux Linux
Virtual VIC (vNIC) driver accelerates VM-to-VM communication Operating
via vSwitch System 6WIND DPDK 6WIND DPDK enhancements enhancements VM2VM driver enables direct VM-to-VM communication for ultimate performance, bypassing vSwitch VM2VM IOv 6WINDGate accelerates Virtual Network Appliances IOMMU vNIC or SRIOV Fully-compatible with standard hypervisors
Citrix XEN, Red Hat KVM, VMware ESX etc. Virtual Switch
6WINDGate accelerates Virtual Switch Hypervisor
10x performance improvement for Open vSwitch, with no changes required to OVS code itself
Increases VM density and accelerates VM-VM traffic NIC(s)
©6WIND 2014 V1.6 | 31 Up to 313Mpps on Dual Ivy Bridge Complex (Intel® Xeon® Processor E5-2600v2 Series)
6WINDGate IP forwarding performance
14 Mpps per core
24 Mpps per core with l2switch
Up to 313 Mpps with 22 cores (2 cores configured to run Linux)
Performance scales linearly with the number of cores configured to run the fast path
Performance on other Until it reaches the limit of the IA platforms available platform on request
Performance is independent of packet size
©6WIND 2014 V1.6 | 32 Comprehensive Lifecycle Support for Integrated Solution
System Development and System Design System Deployment Integration
• Requirements analysis • Software integration • 6WINDGate product support • 6WINDGate source code • Technical training • System software architecture license • Maintenance evaluation • DPDK technical support • Updates • Performance measurements • DPDK integration • Roadmap alignment • Software design trade-offs • DPDK driver development. • DPDK product support • 6WIND expertise • Technical training • Migrating networking • Development support • Maintenance applications to multicore • Technical training • Updates • Architecture optimizations • Customization • Protocols • Software integration
©6WIND 2014 V1.6 | 33 Best-in-Class Technical Support
Industry-leading experience from many years of software development for Intel® DPDK platform
Proven with tier-1 networking and telecom equipment companies worldwide
6WIND provides 6WINDGate pre-integrated with Intel® DPDK to accelerate clients' time-to-market.
Successful technical support model proven with clients worldwide in all tiers
Experienced with custom support agreements for specific clients when required.
Standard support agreement includes
SLA-defined response times
Online system for submitting support questions and tracking issues.
Dedicated service and support team
Local experts based in Asia, Europe and North America
Partnerships with software services companies for value-added services worldwide.
©6WIND 2014 V1.6 | 34 Use Case Example: Firewall / IPS
Physical Appliance Virtual Appliance
Virtual Machine
Linux
Firewall / IPS Networking Control Application Software Plane Linux • Leverages high- performance Networking Data Plane Firewall / IPS Networking Control Application Software Plane 6WINDGate data Firewall / QoS High Availability plane protocols plus Packet VLAN optimized NIC drivers Processing Crypto Networking Data Plane Acceleration Virtual Routing in 6WIND DPDK 6WIND Firewall / QoS High Availability DPDK IPv4 / IPv6 / IPsec TCP / SSL Packet VLAN Processing Crypto Virtual Routing Acceleration 6WIND • Virtualization DPDK IPv4 / IPv6 / IPsec TCP / SSL acceleration in 6WIND DPDK Hypervisor maximizes performance of virtual appliance Intel Multicore Processor Platform Intel Multicore Processor Platform
©6WIND 2014 V1.6 | 35 Use Case Example: Accelerated Virtual Switch for Data Centers
• 6WINDGate-plus-DPDK accelerates Open vSwitch • Layer 2 switching • No modification to OVS software • OpenFlow-compatible • Transparent to applications • Additional networking protocols • Encapsulation (GRE, NVGRE, 6WINDGate-plus- VLAN, VxLAN etc.) DPDK also used to VM VM VM accelerate VMs VM VM VM with high packet • IPsec with hardware crypto processing performance support requirements • MAC bridging
Standard Open vSwitch Control Plane OpenFlow Controller • 10x switching 6WINDGate- IPsec performance Accelerated Accelerated Open vSwitch vSwitch Data (NV)GRE V(x)LAN • 3x - 9x Plane Layer 2 Switching (Fast Path) improvement 6WIND DPDK in VM density
©6WIND 2014 V1.6 | 36 Use Case Example: Network Functions Virtualization (NFV)
• 6WINDGate-plus- Orchestration DPDK accelerates • Virtual Networking Functions (VNFs) Virtual Machine Virtual Machine Hypervisor Virtual Machine Virtual Machine running in VMs Virtual Network Virtual Network Virtual Network Virtual Network Function Function Function Function • and
Linux Linux Linux Linux • Virtual Switch responsible for 6WIND DPDK 6WIND DPDK 6WIND DPDK 6WIND DPDK switching traffic to VNFs
Accelerated Open Virtual Switch • Enables VNFs to 6WIND DPDK by 6WINDGate deliver comparable Linux performance to physical
COTS or Server implementations Platform
©6WIND 2014 V1.6 | 37 Topics
Introduction
DPDK.org open-source project
Intel® DPDK library from 6WIND
Baseline features
Optional add-ons
Support
Business model
Integrated packet processing solution: 6WINDGate™ plus Intel® DPDK
Features and benefits
Performance
Support
Use cases
Summary
©6WIND 2014 V1.6 | 38 For More Information
Website
www.6wind.com
White Paper
Blog
www.6windblog.com
©6WIND 2014 V1.6 | 39 Summary: Right Architecture + Right Software = Winning Solution
6WIND completes the system solution for IA platforms
Full set of optimized protocols for networking and Client’s Application Software security products.
Linux 6WIND delivers the maximum performance for IA platforms
Fully exploits IA processor architecture and Intel® DPDK. Intel® DPDK
Packaged solution accelerates clients' development cycles
6WINDGate delivered integrated with Intel® DPDK. …. Intel Multicore Processor Stand-alone Intel® DPDK library available for custom development
Value-added feature enhancements and add-ons.
Expert technical support for all Intel® DPDK users
From the company with the industry's best experience of developing software for Intel® DPDK platform.
©6WIND 2014 V1.6 | 40