optimising vnf performance and density at …...build your docker containerised vnfs using lib1net...
TRANSCRIPT
![Page 1: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/1.jpg)
x
OPTIMISING VNF PERFORMANCE AND DENSITY AT THE ENTERPRISE EDGE
ANTHONY FEE
PRINCIPAL NETWORK SOFTWARE ENGINEER
DPDK USERSPACE 2019, BORDEAUX
![Page 2: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/2.jpg)
Overview
• Who am I?
• Enterprise Edge Characteristics
• Lib1Net and its Benefits to VNF deployments
• Lib1Net Features
• Q&A
![Page 3: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/3.jpg)
3
Introduction
• Anthony Fee, Principal Network Software Engineer at Emutex Madrid.
• DPDK experience:
• Developer of high performance DPDK-based network applications and VNFs.
• Co-author of initial vhost-user example application.
• Integrator of vhost-user with OVS-DPDK (Open vSwitch).
• Emutex:
• Developer of high-performance DPDK network applications on Intel architecture.
• Developer of Linux Kernels, drivers and distributions for embedded systems.
![Page 4: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/4.jpg)
4
Enterprise Edge Characteristics
Enterprise Edge Telco Edge Telco Cloud
Single-Vendor
vCPE
VNF VNF
VNF VNF
Multi-Vendor
uCPE
VNF VNF
VNF VNF
Cell Tower
ExchangeOn-Premises Data Centres
Multi-Vendor
Servers
VNF VNF
VNF VNF
Intelligence
Opportunity
Docker Docker VM
![Page 5: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/5.jpg)
5
Enterprise Edge Characteristics
• Single vendor VNF solutions (e.g. Security Appliance).
• Hardware cost has significant impact on solution cost.
• Maximising network packet throughput is a challenge.
• Service chain configuration is common.
• Trending towards use of Docker containerised VNFs.
![Page 6: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/6.jpg)
6
How can I maximise network packet throughput and VNF
density in my Enterprise Edge solution?
![Page 7: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/7.jpg)
7
Build your Docker containerised VNFs using Lib1Net and DPDK!
![Page 8: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/8.jpg)
8
• Light-weight DPDK-based software library.
• Simplifies the integration of DPDK packet acceleration.
• Exposes a simplified API focussed on VNF requirements.
• Targets enterprise edge Docker containerised VNFs.
![Page 9: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/9.jpg)
9
- Benefits
• Abstracts VNF applications from DPDK configuration.
• Optimises packet receive polling and transmission.
• Maximises hardware utilisation for service chaining.
• Simplifies port management through JSON configuration.
• Standardises how configuration is provided to VNFs.
![Page 10: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/10.jpg)
10
VNFDocker Container
How can I configure DPDK to maximise the packet processing
performance of my VNF?Application
DPDK
DPDK Configuration
- DPDK Configuration
NetworkPort 0
NetworkPort 1
![Page 11: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/11.jpg)
11
VNFDocker Container
Application
DPDK
Lib1Net
DPDK Configuration
Lib1Net does this for you by:• Configuring DPDK Memory• Configuring DPDK Ports• Initialising DPDK
- DPDK Configuration
NetworkPort 0
NetworkPort 1
![Page 12: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/12.jpg)
12
VNFDocker Container
What is the most efficient method of receiving and transmitting
packets with DPDK?Application
DPDK
- DPDK Packet Handling
RX
Transmit
Burst
TX
Receive
Burst
NetworkPort 0
NetworkPort 1
![Page 13: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/13.jpg)
13
VNFDocker Container
Application
DPDK
- DPDK Packet Handling
Lib1Net
RX
Transmit
Burst
TX
RX Callback
Receive
Burst
Single
Packet
Lib1Net manages RX/TX by:• Handling RX polling.• Passing packets to the
application through an RX callback.• Internally buffer TX packets to
efficiently transmit bursts.
NetworkPort 0
NetworkPort 1
![Page 14: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/14.jpg)
14
VNFDocker Container
Application
Virtual Switch
vPort 0
How can I maximise network packet performance and VNF density in my service chain?
VNFDocker Container
Application
vPort 2
VNFDocker Container
Application
vPort 1
DPDK DPDKDPDK
Copy Copy
- Service Chains
NetworkPort 0
NetworkPort 1
![Page 15: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/15.jpg)
15
VNFDocker Container
Application
VNFDocker Container
Application
VNFDocker Container
Application
The Lib1Net LINK network interface:• enables zero-copy through the
entire service chain.• Frees system resources by
removing the virtual switch.• Hides the management of DPDK
primary/secondary processes.
Lib1Net
DPDK DPDKDPDKLINK LINK
Zero-CopyLib1Net
Zero-Copy
Lib1Net
Zero-Copy
- Service Chains
NetworkPort 0
NetworkPort 1
![Page 16: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/16.jpg)
16
VNFDocker Container
How can I attach network interfaces to specific application
ports?Application
DPDK
- Port Management
TX_PORTRX_PORT
NetworkPort 0
NetworkPort 1
![Page 17: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/17.jpg)
17
VNFDocker Container
Application
DPDK
- Port Management
Lib1Net
Lib1Net makes this easy by:• Defining application port names within
the application.• Mapping port names to network
interfaces through JSON configuration.
TX_PORTRX_PORT
"ports": [ {"name": "RX_PORT",
"type": "DPDK-PCI",
"interface": "0000:07:00.0"}]
NetworkPort 0
NetworkPort 1
![Page 18: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/18.jpg)
18
VNFDocker Container
How can I manage my VNF configuration? Application
DPDK
- App Configuration
Custom Application
Configuration
![Page 19: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/19.jpg)
19
VNFDocker Container
Application
DPDK
- App Configuration
Lib1Net
Lib1Net includes two methods for passing configuration messages to your VNF :1. A reserved field is included in the
Lib1Net JSON configuration file.2. A management port can be attached
to the VNF.
"application": {"opt1": 100,
"opt2": 20
}
Custom Application
Configuration
1 2"management_port": [ {"type": "LINK",
"interface": "Link0"
} ]
Management
Port
NetworkPort 0
![Page 20: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/20.jpg)
20
VNFDocker Container
Application
VNFDocker Container
Application
VNFDocker Container
Application
Lib1Net
DPDK DPDKDPDKLINK
Lib1NetDPDK Configuration
Lib1Net
- Enterprise Edge Solution
JSON
Configuration
JSON
Configuration
JSON
Configuration
ApplicationConfiguration
VNFDocker Container
Application
DPDKLINK
Lib1NetPacket Handling
JSON
Configuration
LINK
Zero-Copy
NetworkPort 0
NetworkPort 1
![Page 21: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/21.jpg)
21
• Enterprise Edge solutions developed using Lib1Net benefit from:
• Increased VNF density by optimising hardware usage when service chaining.
• Maximised network throughput using the Lib1Net LINK interface.
• Configuration of DPDK and optimised RX/TX packet handling.
• Simplified mechanism to pass custom application configuration to VNFs.
• For further information:
• www.emutex.com
Summary
![Page 22: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/22.jpg)
22
Q&A
![Page 23: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/23.jpg)
23
Backup
![Page 24: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/24.jpg)
Lib1Net Packet
Forwarding
Example
main.c
main.c
![Page 25: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/25.jpg)
Lib1Net Packet
Forwarding
Example
ports_definition.h
ports_definition.h
![Page 26: OPTIMISING VNF PERFORMANCE AND DENSITY AT …...Build your Docker containerised VNFs using Lib1Net and DPDK! 8 • Light-weight DPDK-based software library. • Simplifies the integration](https://reader036.vdocuments.us/reader036/viewer/2022063013/5fcc0e1973e5ef379530ea3f/html5/thumbnails/26.jpg)
Lib1Net Packet
Forwarding
Example
vnf_configuration.json
vnf_configuration.json