Anda di halaman 1dari 40

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

Open-Source
Community
Patches

Latest version of Intel DPDK


Community patches
Community support
Some 6WIND-developed features

Sync of
git tree

3. From 6WIND
6WIND DPDK
Selected 6WINDdeveloped
enhancements

6WIND 2014

plus
selected 6WINDdeveloped
enhancements

Maintained version
Latest version of DPDK
Feature and performance enhancements
dpdk.org patches
Full technical support and maintenance
Optionally integrated with 6WINDGate
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 DPDKbased 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

6WIND DPDK add-on functions


Virtualization acceleration

Acceleration / offload

Fast vNIC Poll Mode Driver

Cavium Nitrox Security


Acceleration

vNIC VMXNET3 Poll Mode


Driver

Intel Multi Buffer Crypto for


IPsec Library

vNIC Virtio Poll Mode Driver

Intel QuickAssist
Acceleration Technology

Based on baseline Intel DPDK library

As well as features available via dpdk.org

6WIND DPDK add-ons available for increased system


functionality, performance and reliability

Poll Mode Drivers (PMDs) for non-Intel NICs

Non-Intel NIC support

Mellanox ConnectX-3 EN
Poll Mode Driver

dpdk.org features

Baseline Intel DPDK library

6WIND 2014

e.g. Mellanox ConnectX-3 EN PMD

Performance acceleration for virtualized networking

Fast vNIC PMD

vNIC VMXNET3 PMD

vNIC Virtio PMD

Crypto acceleration modules that leverage

Cavium Nitrox security acceleration

Intel Multi Buffer Crypto for IPsec Library

Intel QuickAssist Acceleration Technology

V1.6 | 18

6WIND's Enhancements to Intel DPDK

librte_ framework

librte_pmd_multibuffer.so
librte_pmd_nitrox.so
librte_pmd_quickassist.so
librte_cmdline
librte_power
librte_sched
librte_timer
librte_pmd_others.so
librte_pmd_mlx4.so
librte_pmd_fast_vnic.so

librte_pmd_vmxnet3.so
librte_pmd_virtio.so (1)
librte_pmd_virtio (1)
librte_pmd_ring
librte_pmd_pcap
librte_pmd_ixgbe
librte_pmd_e1000
librte_mbuf
librte_ring
librte_malloc
librte_mempool
librte_eal / linux userland

V1.6 | 19
6WIND 2014

Developed by 6WIND
and available from
6WIND
Developed
by 6WIND,
available
from
dpdk.org

librte_crypto
librte_ether (rte_eth_dev_*() )

Intel DPDK Library from 6WIND:


Comprehensive Lifecycle Support

System Design

Requirements analysis.
System software architecture
evaluation
Performance measurements

System Development and


Integration

Software integration

System Deployment

DPDK product support

DPDK technical support

Technical training

DPDK integration.

Maintenance
Updates.

DPDK driver development.

Software design trade-offs.


Development support
6WIND expertise

Technical training

Migrating networking
applications to multicore.

6WIND 2014

Customization
Software integration.

V1.6 | 20

Best-in-Class Technical Support

Industry-leading experience from many years of software development for Intel


DPDK platform

Successful technical support model proven with clients worldwide in all tiers

Proven with tier-1 networking and telecom equipment companies worldwide.

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

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

Multiple options for number of deployed units

Quarterly releases of 6WIND DPDK

Patches and maintenance releases

Ongoing access to latest version of DPDK

One year duration, web interface for support, single


subscriber, single supported platform, limited engineering
services, on-line training

Up to three years duration, regular support calls, additional


subscribers, more platforms, increased engineering
services, on-site training

6WIND 2014

One year duration, web interface plus 12x5 phone support,


quarterly reports, two subscribers, single supported
platform, one DPDK version, on-line training

Optional additions

Optional additions

Standard subscription

Standard subscription

Production subscription

Up to three years duration, web interface plus 24x7 phone


support, monthly reports, additional subscribers, more
platforms, more DPDK versions, engineering services, onsite training, private branch

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

Nehalem

Clovertown

Intel DPDK support

Early Intel DPDK


releases before general
availability

6WIND 2014

V1.6 | 24

6WINDGate Provides System Solution


Leveraging Intel DPDK
Clients 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

Control
Plane

Data
Plane

Complete set of Layer 2 through Layer 4


routing, security, connectivity, switching and
mobility protocols

Fast Path

20+ optimized fast path


protocols with full support
for on-chip accelerators

Optional 6WIND Add-Ons


dpdk.org

dpdk.org

Comprehensive set of optimized networking


protocols

Full compatibility with application APIs

Carrier Grade reliability.

6WINDGate fully leverages Intel DPDK


library

Exploits Intel DPDK data plane libraries for


best possible utilization of processor resources

Optimized NIC drivers for maximum networking


performance.

dpdk.org

Intel DPDK library plus dpdk.org features and


6WIND DPDK add-ons

6WIND 2014

6WINDGate provides complete packet


processing solution for DPDK platforms

Delivered as integrated solution to


accelerate clients' time-to-market.
V1.6 | 26

Intel DPDK Support Implemented via Optimized


"FPN-SDK" Module

Control Plane
Architecture-independent fast path modules

Generic, processor-independent source code

Cycle-level and pipeline-level optimizations.

Architecture-specific "Fast Path Networking SDK"

Zero-overhead API for fast path modules

Support for processor-specific features and resources

Optimized for Intel DPDK.

6WIND 2014

Fast Path

Data
Plane

IA FPN-SDK

DPDK

V1.6 | 27

Detailed Architecture of 6WINDGate on Intel


DPDK
IPv4 / IPv6
Forwarding

Fast Path

IPsec IPv4 / IPv6


IPv4 / IPv6
Multicast
MPLS / VPLS
Encapsulation

QoS
IPv4 / IPv6
Filtering

VLAN

GRE

IP Reassembly

GTP-U

NAT

IPsec SVTI

Ethernet Bridging,
LAG
L2TP, PPPoE
BRAS
Open vSwitch
(OVS) Acceleration

Flow Inspection
(BPF)
TCP / UDP
Termination
Extended Fast
Path (1CP + xFP)

RX/TX plug-ins (load balancers, QoS, custom modules)

FPN
SDK

rte_mbuf fast path buf

rte_timers timers

DPVI

fpu RPC

librte_ framework
librte_ether (rte_eth_dev_*() )

librte_pmd_multibuffer.so

librte_pmd_nitrox.so

librte_pmd_quickassist.so

librte_cmdline

librte_power

librte_sched

librte_timer

librte_pmd_others.so

librte_pmd_mlx4.so

librte_pmd_fast_vnic.so

librte_pmd_vmxnet3.so

librte_pmd_virtio.so (1)

librte_pmd_virtio (1)

librte_pmd_ring

librte_pmd_pcap

6WIND 2014

librte_pmd_ixgbe

librte_pmd_e1000

librte_mbuf

librte_ring

librte_malloc

librte_mempool

librte_eal / linux userland

Intel
DPDK

librte_crypto

V1.6 | 28

Comprehensive Protocol Set

High Availability

Control Plane

HA ARP / NDP

HA Routing

Routing (RIP,
OSPF, BGP,
Multicast)

Virtual Routing
and Forwarding

Security (IKEv1,
IKEv2)

VPN Monitoring

HA Firewall /
NAT

HA IPsec

BFD

SMR

PPPoE BRAS

L2TP BRAS

HA Daemon
Monitoring
System

HA LACP

VRRP

LACP

Open vSwitch
(OVS)

Management

Fast Path

Data
Plane

IPv4 / IPv6
Forwarding and
Tunneling

IPsec IPv4 / IPv6

VLAN

GRE

Ethernet
Bridging, LAG

Flow Inspection

QoS

IPv4 / IPv6
Multicast

IP Reassembly

GTP-U

L2TP, PPPoE
BRAS

TCP / UDP
Termination
(IPv4 / IPv6)

IPv4 / IPv6
Filtering

MPLS / VPLS
Encapsulation

NAT

IPsec SVTI

Open vSwitch
(OVS)
Acceleration

Extended Fast
Path (1CP + xFP)

6WIND 2014

V1.6 | 29

Scalable across Processors, Blades and Racks


Hardware Platform
Linux
Cores

Linux

Fast path maximizes performance by processing


packets on dedicated cores running DPDK
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
Software

Packet
Processing
Performance

Control Plane
1

Data
Plane

Fast Path

6WIND 2014

DPDK

DPDK

3
4
5
Number of fast path cores

DPDK

DPDK

Fast Path
Cores

V1.6 | 30

High-Performance Networking in Virtualized


Environments

6WIND-enhanced version of Intel DPDK library


removes VM and hypervisor bottlenecks

I/O Virtualization (IOV) bypasses vSwitch, removing switching


performance constraints

Virtual Machine

Virtual Machine

Virtual Machine

Virtual
Application

Virtual
Network
Appliance

Virtual
Network
Appliance

Linux

Linux

6WIND DPDK
enhancements

6WIND DPDK
enhancements

Supports both IOMMU and SRIOV

Virtual VIC (vNIC) driver accelerates VM-to-VM communication


via vSwitch
VM2VM driver enables direct VM-to-VM communication for
ultimate performance, bypassing vSwitch

Operating
System

VM2VM

6WINDGate accelerates Virtual Network Appliances

Fully-compatible with standard hypervisors

Citrix XEN, Red Hat KVM, VMware ESX etc.

vNIC

IOv
IOMMU
or SRIOV

Virtual Switch

6WINDGate accelerates Virtual Switch

10x performance improvement for Open vSwitch, with no changes


required to OVS code itself

Increases VM density and accelerates VM-VM traffic

6WIND 2014

Hypervisor

NIC(s)

V1.6 | 31

Up to 313Mpps on Dual Ivy Bridge Complex


(Intel Xeon Processor E5-2600v2 Series)

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
IA platforms available
on request

6WIND 2014

6WINDGate IP forwarding
performance

Until it reaches the limit of the


platform

Performance is independent of
packet size

V1.6 | 32

Comprehensive Lifecycle Support for Integrated


Solution

System Design

Requirements analysis
System software architecture
evaluation
Performance measurements

System Development and


Integration

Software integration
6WINDGate source code
license
DPDK technical support
DPDK integration

System Deployment

6WINDGate product support


Technical training
Maintenance
Updates
Roadmap alignment

Software design trade-offs


DPDK driver development.
6WIND expertise

DPDK product support


Technical training

Migrating networking
applications to multicore

Development support
Technical training

Architecture optimizations

Customization

Protocols

Software integration
6WIND 2014

Maintenance
Updates

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
Application Software

Linux
Firewall / IPS
Application Software

Networking Control
Plane

Networking Data Plane


Firewall / QoS
Packet
Processing
6WIND
DPDK

VLAN

Leverages highperformance
6WINDGate data
plane protocols plus
optimized NIC drivers
in 6WIND DPDK

High Availability

Virtual Routing

Crypto
Acceleration

IPv4 / IPv6 / IPsec

TCP / SSL

Intel Multicore Processor Platform

6WIND 2014

Virtualization
acceleration in
6WIND DPDK
maximizes
performance of
virtual appliance

Networking Control
Plane

Networking Data Plane

Packet
Processing
6WIND
DPDK

Firewall / QoS

High Availability

VLAN

Crypto
Acceleration

Virtual Routing
IPv4 / IPv6 / IPsec

TCP / SSL

Hypervisor

Intel Multicore Processor Platform

V1.6 | 35

Use Case Example: Accelerated Virtual Switch


for Data Centers
Layer 2 switching

6WINDGate-plus-DPDK accelerates Open vSwitch

OpenFlow-compatible

No modification to OVS software

Additional networking protocols

Transparent to applications
6WINDGate-plusDPDK also used to
accelerate VMs
with high packet
processing
performance
requirements

VM

VM

VM

Encapsulation (GRE, NVGRE,


VLAN, VxLAN etc.)

VM

VM

IPsec with hardware crypto


support
MAC bridging

Standard Open vSwitch Control Plane

6WINDGateAccelerated
Open vSwitch

VM

IPsec

Accelerated
vSwitch Data
Plane
(Fast Path)

(NV)GRE

V(x)LAN

Layer 2 Switching
6WIND DPDK

6WIND 2014

OpenFlow
Controller

10x switching
performance
3x - 9x
improvement
in VM density
V1.6 | 36

Use Case Example: Network Functions


Virtualization (NFV)
Orchestration

Virtual Machine

Virtual Machine

Virtual Machine

Virtual Machine

Virtual Network
Function

Virtual Network
Function

Virtual Network
Function

Virtual Network
Function

Linux

Linux

Linux

Linux

6WIND DPDK

6WIND DPDK

6WIND DPDK

6WIND DPDK

Hypervisor

Open Virtual Switch

6WIND DPDK

Linux

COTS or Server
Platform
6WIND 2014

Accelerated
by 6WINDGate

6WINDGate-plusDPDK accelerates
Virtual Networking
Functions (VNFs)
running in VMs
and
Virtual Switch
responsible for
switching traffic to
VNFs

Enables VNFs to
deliver comparable
performance to
physical
implementations

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


security products.

6WIND delivers the maximum performance for IA


platforms

Clients Application Software

Linux

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