27
Accelerating the Development of Cloud-native VNFs Giles Heron [email protected] [email protected] Maciek Konstantynowicz Principal Engineer, Cisco FD.io CSIT Project Lead Distinguished Engineer, Cisco [email protected] Damjan Marion FD.io VPP Committer Principal Engineer, Cisco C

Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron [email protected] [email protected] Maciek Konstantynowicz Principal

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Accelerating the Development of Cloud-native VNFs

Giles Heron

[email protected]@cisco.com

Maciek KonstantynowiczPrincipal Engineer, Cisco FD.io CSIT Project Lead

Distinguished Engineer, [email protected]

Damjan MarionFD.io VPP CommitterPrincipal Engineer, Cisco

C

Page 2: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Agenda

• Context• FD.io / VPP• Ligato• Memif• The Numbers

Page 3: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

DISCLAIMERs• 'Mileage May Vary'

• Tests document performance of components on a particular test, in specific systems. Differences in hardware, software, or configuration will affect actual performance. Consult other sources of information to evaluate performance as you consider your opinion and investment of any resources. For more complete information about open source performance and benchmark results referred in this material, visit https://wiki.fd.io/view/CSIT and/or https://docs.fd.io/csit/rls1807/report/.

• Trademarks and Branding• This is an open-source material. Commercial names and brands may be claimed as the property of others.

Page 4: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

SDN NFV Evolution to Cloud-native Moving on from VMs to Pods/Containers

• Network function workloads moving from VMs to ContainersNative code execution on compute nodes, much less execution overheadLighter workloads, many more of them, much more dynamic environment

• Orchestration moving from OpenStack VMs to K8s Pods/Containers Pod/Container networking being addressed: Ligato, Network Services Mesh, Multus

• Pressing need for optimised user-mode packet virtual interfaceEquivalent of “virtio-vhostuser” for Containers, but much faster Must be compatible with Container orchestration stackOpportunity to do it right!

Should allow us to get closer to the native bare-metal limits ...

Page 5: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Bare-Metal Data Plane Performance Limit FD.io benefits from increased Processor I/O

YESTERDAY

Intel® Xeon® E5-2699v422 Cores, 2.2 GHz, 55MB Cache

Network I/O: 160 GbpsCore ALU: 4-wide parallel µopsMemory: 4-channels 2400 MHzMax power: 145W (TDP)

1

2

3

4

Socket 0

BroadwellServer CPU

Socket 1

BroadwellServer CPU

2

DD

R4

QPI

QPI

4

2

DD

R4

DD

R4

PC

Ie PC

Ie

PC

Ie

x8 50GE

x16 100GE

x16 100GE

3

1

4

PC

Ie PC

Ie

x8 50GE

x16 100GE

Ethernet

1

3DD

R4

DD

R4

DD

R4

DD

R4

DD

R4

SATA

B IOS

PCH

Intel® Xeon® Platinum 816824 Cores, 2.7 GHz, 33MB Cache

TODAY

Network I/O: 280 GbpsCore ALU: 5-wide parallel µopsMemory: 6-channels 2666 MHzMax power: 205W (TDP)

1

2

3

4

Socket 0

Skylake Server CPU

Socket 1

Skylake Server CPU

UPI

UPI

DDR4 DDR4

DDR4

PC

Ie

PC

Ie

PC

Ie PC

Ie

PC

Ie

PC

Ie

x8 50GE

x16 100GE

x8 50GE

x16 100GE

x16 100GE

SATA

B IOS

2

4

2

1

3

1

4

3

x8 50GE

DDR4

PC

Ie

x8 40GE

LewisburgPCH

DD

R4

DD

R4

DD

R4

DD

R4

DD

R4

DD

R4

DD

R4

DD

R4

0 200 400 600 800 1000 1200

160

280

320

560

640

Server[1 Socket]

Server[2 Sockets]

Server2x [2 Sockets]

+75%

+75%

PCle Packet Forwarding Rate [Gbps]

Intel® Xeon® v3, v4 Processors Intel® Xeon® Platinum 8180 Processors

1,120*Gbps+75%

* On compute platforms with all PCIe lanes from the Processors routed to PCIe slots.

Breaking the Barrier of Software Defined Network Services1 Terabit Services on a Single Intel® Xeon® Server !

FD.io Takes Full Advantage of Faster Intel® Xeon® Scalable Processors

No Code Change Required

https://goo.gl/UtbaHy

Page 6: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Packet Processing Software Platform• High performance• Linux user space• Runs on compute CPUs: � And “knows” how to run them well !

Shipping at volume in server & embedded products

6

Packet Processing

Dataplane Management Agent

Network IO

Bare-Metal / VM / Container

FD.io VPP – Vector Packet ProcessingCompute-Optimised SW Networking Platform

Page 7: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

1Packet processing is decomposedinto a directed graph of nodes …

Packet 0

Packet 1

Packet 2

Packet 3

Packet 4

Packet 5

Packet 6

Packet 7

Packet 8

Packet 9

Packet 10

… packets move through graph nodes in vector …2

Microprocessor

… graph nodes are optimized to fit inside the instruction cache …

… packets are pre-fetched into the data cache.

Instruction Cache3

Data Cache4

3

4

Makes use of modern Intel® Xeon® Processor micro-architectures. Instruction cache & data cache always hot è Minimized memory latency and usage.

vhost-user-input

af-packet-input dpdk-input

ip4-lookup-mulitcast ip4-lookup*

ethernet-input

mpls-inputlldp-input

arp-inputcdp-input...-no-

checksum

ip6-inputl2-input ip4-input

ip4-load-balance

mpls-policy-encap

ip4-rewrite-transit

ip4-midchain

interface-output

* Each graph node implements a “micro-NF”, a “micro-NetworkFunction” processing packets.

FD.io VPP – How does it work?Compute Optimised SW Networking Platform

Page 8: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Packet

Vector of n packets

ethernet-input

dpdk-input vhost-user-input af-packet-input

ip4-inputip6-input arp-input

ip6-lookup ip4-lookup

ip6-localip6-rewrite ip4-rewriteip4-local

mpls-input

Packet Processing Graph

Graph Node

Input Graph Node

0 1 32 … nfd.io VPP - ArchitecturePacket Processing

Page 9: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Vector of n packets

ethernet-input

dpdk-input vhost-user-input af-packet-input

ip4-inputip6-input arp-input

ip6-lookup ip4-lookup

ip6-localip6-rewrite ip4-rewriteip4-local

mpls-input

Packet Processing Graph

Graph Node

Input Graph Node

Packet

20 1 3 … nfd.io VPP - ArchitectureSplitting the Vector

Page 10: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Vector of n packets

ethernet-input

dpdk-input vhost-user-input af-packet-input

ip4-inputip6-input arp-input

ip6-lookup ip4-lookup

ip6-localip6-rewrite ip4-rewriteip4-local

mpls-input

Packet Processing Graph

Graph Node

Input Graph Node

Packet

20 1 3 … n

custom-1

custom-2

/usr/lib/vpp_plugins/foo.soPlugin

Plugins are: First class citizensThat can:

Add graph nodesAdd APIRearrange graph

Can be built independently of VPP source tree

hw-accel-input

Skip S/W nodeswhere work is done byhardware already

Hardware Plugin

fd.io VPP - ArchitecturePlugins

Page 11: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

CN-Infra

Core

PluginLifecycle

ManagementProbes

Status

Kafka

Etcd

Redis

Cassandra

Logrus

Log

Manager

DBRPC Messaging Logs Health

App Plugin

LifecycleSPI

App PluginApp Plugin

LifecycleSPI

API API API API API

Ligato CN-Infra: a CNF* Development Platform www.github.com/ligato/cn-infra

CN-InfraPlugins

AppPlugins

Health Monitor

(e.g. K8s)

Log Aggregator

(e.g. Logstash)

KafkaKV Data Store

(Etcd, Cassandra, Redis)App clients

* CNF – Cloud-native Network Function

Page 12: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

AppPlugins

LinuxVETH

L2L3ACLNet Interfaces

GoVpp

CN-Infra

Core

PluginLifecycle

Management

Probes

Status

Kafka

Etcd

Redis

Cassandra

Logrus

LogManager

DBRPC Messaging Logs Health

App Plugin

LifecycleSPI

App PluginAgent App/Extension Plugin

LifecycleSPI

API API

API API API

Ligato VPP Agent: a CNF Management Agentwww.github.com/ligato/vpp-agent

API

API

LifecycleSPI

CN-InfraPlugins

VPP-AgentPlugins

Health Monitor(e.g. K8s)

Log Aggregator(e.g. Logstash)

KafkaKV Data Store(Etcd, Cassandra, Redis)

App clients

VPP

Page 13: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

LigatoController

CN-Infra

Core

PluginLifecycle

Management

Probes

Status

Kafka

Etcd

Redis

Cassandra

Logrus

Log

Manager

DBRPC Messaging Logs Health

LifecycleSPI

Controller App

Ligato Controller: a CNF Deployment Platformwww.github.com/ligato/sfc-controller

API

LifecycleSPI

CN-InfraPlugins

Health Monitor

(e.g. K8s)

Log Aggregator

(e.g. Logstash)

KafkaKV Data Store

(Etcd, Cassandra, Redis)App clients

API

Page 14: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Ligato – Cloud-native Network Functions (CNF)Putting It All Together Now – The Software Architecture

Functional Layered Diagram Software Architecture Diagram

Contiv NetmasterSFC

Controller

Kubernetes API Proxies

Service Policy Service Topology Lifecycle

KubeletCNI

CRIContiv Netmaster

Production-Grade Container Orchestration

Network Function and Network Topology Orchestration

Containerized Network Data Plane

ContainerNetwork Function CNF

Agent Agent Agent

FD.io VPPContainer Switch

Agent

Container Networking

Networking Plugin

CNF

Page 15: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Kubelet

CNICRI

tapv2/veth

Contiv-VPP vswitch

Agent

PodPodPodPodPod

Pod

VPP

Data Centre Fabric

High PerformanceApps

Sidecar Proxy App

VPP TCPStack

App

Kernel Host stack

Legacy Apps

• Cloud-Native Networking (Kubernetes) is designed for applications, not NFV• Ligato wires the NFV data plane together into a service topology• Dedicated Telemetry Engine in VPP enables closed-loop control• Offload functions to NIC but via vSwitch in host memory

Contiv-VPP Etcd

K8s Master

Contiv-VPPNetmaster

DefineTopology

LigatoController

DefineServices

DefineTopology

Smarts in NICs

TelemetryEngine

Back Propagation LoopFor Reactive Placement/Rsrc Mgmt

PodPodPod

memif

Cloud-Native VNFs

Agent

VPP

Ligato – Cloud-native Network Functions (CNF)Putting It All Together Now – The System Architecture

Page 16: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

TopologyPlacement

(K8s)Rendering

NF1 NF2 NF3

Logical RepresentationIngress Network

Ingress Classifier

Egress Network

Egress Classifier

IngressRouter

EgressRouter

Host

VPP Vswitch

CNF

VPP

10.1.0.127

CNF1

VPP

CNF2

VPP

…Server

Vswitch VPP

CNF

VPP

CNF

VPP

CNF3

VPP

Overlay Tunnel

Physical Representation

Overlay Tunnel Overlay Tunnel

Ingress Classifier Egress Classifier

Service Function Chaining with Ligato

Page 17: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Cloud-native Network FunctionsOptimising Performance within the Compute Node

Bare-metal

ComputeNode

DeviceI/OMemoryCopy

NetworkFunctions

TestPacketTx/Rx

LinkRx/Tx

NFApplicationswitch,router

PacketTrafficGenerator

NIC1 NICNNIC2

LinuxKernel

…10GbEinterfaces40GbEinterfaces

Linux-HostUser-Space

PacketOperations

ComputeNode

VMNVM1 VM2

NFApplicationvswitch,vrouter

PacketTrafficGenerator

NIC1 NICNNIC2

LinuxKernel

…10GbEinterfaces40GbEinterfaces

Linux-HostUser-Space

NFApp1 …NFApp2 NFAppN

NetworkFunctions

VirtualI/OMemoryCopy

LinkRx/Tx

NetworkFunctions

TestPacketTx/Rx

PacketOperations

Virtual Machines

virtio

Moving “Virtualisation” to the Native Operation

Getting closer to bare-metal speeds ...

ComputeNode

NFApplicationvswitch,vrouter

PacketTrafficGenerator

NIC1 NICNNIC2

LinuxKernel

…10GbEinterfaces40Gbeinterfaces

Linux-HostUser-Space

PacketOperations

I/ODeviceMemoryCopy

NetworkFunctions

VirtualI/OMemoryCopy

LinkRx/Tx

NetworkFunctions

TestPacketTx/Rx

NFCont11

NFCont12

NFCont21

NFContN1

NFCont22

…App11 App12 App21 App22 AppN1

memif

Containers

!

vhost

With a New Cloud-native Network Packet Virtual Interface, memif

Page 18: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

memif – Motivation• Create packet based shared memory interface for user-mode application• Be container friendly (no privileged containers needed)• Support both polling and interrupt mode operation

• Interrupts simulated with linux eventfd infrastructure• Support for interrupt masking in polling mode

• Support vpp-to-vpp, vpp-to-3rd-party and 3rd-party-to-3rd-party operation• Support for multiple queues (incl. asymmetric configurations)• Jumbo frames support (chained buffers)• Take security seriously• Multiple operation mode: ethernet, ip, punt/inject• Lightweight library for apps - allows easy creation of applications which communicate

over memif

It needs to be fast, but performance is not a number 1 priority.

Page 19: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

memif – Security• Point-to-point Master/Slave concept:

• Master - Never exposes memory to slave• Slave - Responsible for allocation and sharing memory region(s) to Master• Slave can decide if it will expose internal buffers to master or copy data into separate shared memory buffer

• Shared memory data structures (rings, descriptors) are pointer-free• Interfaces are always point-to-point, between master-slave pair• Shared memory is initialized on connect and freed on disconnect• Interface is uniquely identified by unix socket filename and interface id pair• There is optional shared secret support per interface• Optionally master can get PID, UID, GID for each connection to socket listener

Memory copy is a MUST for security.

Page 20: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

memif – Control Channel• Implemented as Unix Socket connection (AF_UNIX)• Master is socket listener (allows multiple connections on single

listener)• Slave connects to socket• Communication is done with fixed size messages (128 bytes):

• HELLO (m2s): announce info about Master• INIT (s2m): starts interface initialization• ADD_REGION (s2m): shares memory region with master (FD passed in

ancillary data)• ADD_RING (s2m): shares ring information with master (size, offset in mem

region, interrupt eventfd)• CONNECT (s2m): request interface state to be changed to connected• CONNECTED (m2s): notify slave that interface is connected• DISCONNECT (m2s, s2m): disconnect interface• ACK (m2s, s2m): Acknowledge

Page 21: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

memif – Shared Memory layout

Page 22: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

memif – Shared Memory layout• Rings and buffers in shared memory are referenced with (region_index, offset) pair

• Much easier to deal with SEGFAULTS caused by eventual memory corruption• Slave shares one or more memory regions with master by passing mmap() file

descriptor and region size information (ADD_REGION message)• Slave initializes rings and descriptors and shares their location (region_index, offset),

size, direction and efd with master (ADD_RING) message• Each ring contains header and array of buffer descriptors

• number of descriptors is always power-of-2 for performance reasons (1024 as default)• Buffer descriptor is 16 byte data structure which contains:

• flags (2byte) – space for various flags, currently only used for buffer chaining• region_index (2 byte) – memory region where buffer is located• offset (4 bytes) – buffer start offset in particular memory region• length (4 byte) – length of actual data in the buffer• metadata (4 byte) – custom use space

Page 23: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

0.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

0

2

4

6

8

10

12

64B IMIX 1518B

L2Cross-Connect(L2XC)MemifBenchmarks64B,IMIX,1518B Ethernetframesizes

Hsw_noTBSkx_noTBSkx_TBHsw_noTBSkx_noTBSkx_TB

PacketThroughput*[Mpps]

BandwidthThroughput*

[Gbps]

Mpps

Gbps

VPPL2Cross-ConnectMemifBenchmarksrls1801.1Hsw_noTB Hsw_noTB Skx_noTB Skx_TB Hsw_noTB Skx_noTB Skx_TB

4.27 64B 7.0 8.5 10.9 4.7 5.7 7.33.15 IMIX 5.2 6.1 7.5 15.5 18.2 22.21.24 1518B 2.0 2.6 3.0 25.2 32.1 36.5

PacketThroughput*[Mpps] BandwidthThroughput*[Gbps]PacketSize

Memif Performance – L2

ComputeNode

ContNCont1 Cont2

NFApplicationvswitch,vrouter

PacketTrafficGenerator

NIC1 NICNNIC2

LinuxKernel

…10GbEinterfaces40Gbeinterfaces

Linux-HostUser-Space

NFApp1 …NFApp2 NFAppN

PacketOperations

I/ODeviceMemoryCopy

NetworkFunctions

VirtualI/OMemoryCopy

LinkRx/Tx

NetworkFunctions

TestPacketTx/Rx

memif

* Maximum Receive Rate (MRR) Throughput - measured packet forwarding rate under the maximum load offered by traffic generator over a set trial duration, regardless of packet loss.

Hsw – Intel Xeon® Haswell, E5-2699v3, 2.3GHz, noHT. Results scaled up to 2.5GHz and HT eanbled.Skx – Intel Xeon® Skylake, Platinum 8180, 2.5GHz, HT enabled.TB – TurboBoost enabled.noTB – TurboBoost disabled

Note: packets are passing “vswitch, vrouter” DUT twice per direction, so the external throughput numbers reported in the table should be doubled to get per CPU core throughput.

DUT

Page 24: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

0.00

5.00

10.00

15.00

20.00

25.00

30.00

35.00

40.00

0

2

4

6

8

10

12

64B IMIX 1518B

IPv4RoutingMemifBenchmarks64B,IMIX,1518B Ethernetframesizes

Skx_noTB

Skx_TB

Skx_noTB

Skx_TB

PacketThroughput*[Mpps]

BandwidthThroughput*

[Gbps]

Mpps

Gbps

master

Skx_noTB Skx_TB Skx_noTB Skx_TB64B 6.15 7.32 4.13 4.92IMIX 4.49 5.5 13.40 16.411518B 2.44 2.62 30.02 32.24

PacketSize PacketThroughput* BandwidthThroughput*

Memif Performance – IPv4

ComputeNode

ContNCont1 Cont2

NFApplicationvswitch,vrouter

PacketTrafficGenerator

NIC1 NICNNIC2

LinuxKernel

…10GbEinterfaces40Gbeinterfaces

Linux-HostUser-Space

NFApp1 …NFApp2 NFAppN

PacketOperations

I/ODeviceMemoryCopy

NetworkFunctions

VirtualI/OMemoryCopy

LinkRx/Tx

NetworkFunctions

TestPacketTx/Rx

memif

* Maximum Receive Rate (MRR) Throughput - measured packet forwarding rate under the maximum load offered by traffic generator over a set trial duration, regardless of packet loss.

Hsw – Intel Xeon® Haswell, E5-2699v3, 2.3GHz, noHT. Results scaled up to 2.5GHz and HT eanbled.Skx – Intel Xeon® Skylake, Platinum 8§80, 2.5GHz, HT enabled.TB – TurboBoost enabled.noTB – TurboBoost disabled

Note: packets are passing “vswitch, vrouter” DUT twice per direction, so the external throughput numbers reported in the table should be doubled to get per CPU core throughput.

DUT

Page 25: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Summary• FD.io VPP enables flexible software Network Functions

On Bare-Metal, VMs and ContainersHigh-performance

• Ligato manages lifecycle and topology of CNF servicesEnables network Service Function Chaining (SFC)Integrated with K8s

• FD.io memif is a virtual packet interface for Apps and ContainersOptimised for performance (Mpps, Gbps, CPP* and IPC**)Safe and Secure, Zero memory copy on Slave side

• Memif library for cloud-native Apps availableAllows easy integration for communicating over memifPotential to become a de facto standard..

* CPP, Cycles Per Packet** IPC, Instructions per Cycle

Page 26: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

THANK YOU !

Accelerating the Development of Cloud-native VNFsC

Page 27: Accelerating the Development of Cloud-native CVNFs...Accelerating the Development of Cloud-native VNFs Giles Heron giheron@cisco.com mkonstan@cisco.com Maciek Konstantynowicz Principal

Opportunities to ContributeWe invite you to Participate in FD.io• Get the Code, Build the Code, Run the

Code• Try the vpp user demo• Install vpp from binary packages

(yum/apt)• Read/Watch the Tutorials• Join the Mailing Lists• Join the IRC Channels• Explore the wiki• Join FD.io as a member

27

Thank you!