6WIND Support for ® 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, 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