SlideShare a Scribd company logo
1 of 33
Download to read offline
Brian Johnson – Solution Architect, Intel Corp
v1803.20
Ethernet Networking Division 2
Legal Disclaimer
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS
IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY
EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE
SUSTAINING APPLICATIONS.
Intel may make changes to specifications and product descriptions at any time, without notice.
All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are
available on request.
Alta, Red Rock Canyon, Seacliff Trail and other code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers,
licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the
sole risk of the user
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using
specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests
to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. Go to:
http://www.intel.com/products/processor_number
Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel's current plan of record product roadmaps.
Intel, Xeon the Intel logo are trademarks of Intel Corporation in the United States and other countries.
*Other names and brands may be claimed as the property of others.
Copyright ©2018 Intel Corporation.
Intel does not control or audit the design or implementation of third party benchmark data or Web sites referenced in this document. Intel encourages all of its customers to visit the referenced Web sites
or others where similar performance benchmark data are reported and confirm whether the referenced benchmark data are accurate and reflect performance of systems available for purchase.
Ethernet Networking Division 3
Agenda
Problem statement
Intel® Ethernet 700 Series capabilities level set
What is a Dynamic Device Personalization Profile?
Personalization programming tool chain
Examples and Demo
Using the Data Plane Development Kit and Dynamic Device Personalization
Click here to access stream
Ethernet Networking Division 4
Network Landscape
Microwave
Mobile
Backhaul
BRAS
Wireless Core GiLAN
IMS
DSLAM
CDN
IPFE
GTP
QinQ,
GRE,
MPLS Martini
VXLAN
Load distribution
(stateless hashing)
on any packet’s fields
QinQ
SCTP
NSH
NSH
NSHoUDP
IPSec – ESP stateless hashing
ARP
Load balancing
(stateless hashing)
on GTP TEID,
IPSec ESP SPI
VXLAN-gpe
Geneve
CAPWAP
MPLS
IPv4, IPv6, TCP, UDP, SCTP, VXLAN, NVGRE, GRE
VXLAN + PPPoE
VXLAN + GTP
Available Limited functionality
Software
Classification/
Distribution
Bottleneck
Classification/
Distribution in
HW Removes
Bottleneck
Load Distribution Software
Runs on CPU Core
Intel® Ethernet
700 Series
Worker
1
Worker
2
Worker
3
Worker
4
From 40GbE
Traffic Generator
MPLSoGREStandard TCP
Worker
0
Load Distribution Core
Load Distribution
Runs on XL710 Personalization Profile
Worker
1
Worker
2
Worker
3
Worker
4
Load Distribution using
MPLSoGRE DDP
MPLSoGREStandard TCP
Worker
0
Intel® Ethernet
700 Series
From 40GbE
Traffic Generator
Ethernet Networking Division 5
Intel® Ethernet 700 Series Capabilities Level Set
Packets classification: supports up to 64 packet classifier types (PCTYPEs)
o “TCP in IPv4” and “UDP in IPv6” are different packet classifier types
filters (hash, flow director, tunnel filter) configured per PCTYPE
Reported packet types: up to 192 packet types as 8bit value on RX descriptor
o “MAC, IPv4, TCP, PAY4” and “MAC, IPv6, TCP, PAY4” packets will have different PTYPE
value on RX descriptor
Packets steering/mirroring: tunnel (cloud) filters for VXLAN, GRE, GENEVE
o ADq (Application Device Queues) to filter TCP/UDP traffic
Hash offload calculation (up to 48 bytes input set)
o Different queue regions can be assigned to different PCTYPEs
Exact flow matching (up to 8k rules) – Intel® Ethernet Flow Director
Ethernet Networking Division 6
Intel® Ethernet 700 Series Rx Programmable Pipeline
Parser
Packet Context
Classifier
Switch
Classifier
Rx Post Filters
Packet Type
Resolver
3-StageFlowTables
FlowTables
...
Packet Type
Packet Type
Packet
Modifier
(RDPU)
Analyzer
(Packet Digest & Metadata)
uCode
FlexKeyperPacketType
Q
Stats
VSI
Actions
FV (Field Vecor)
QVSI
Q
Rx Desc
RDPU Rcp
Actions
Rx DescRDPU Rcp
Recipies
Packet
Buffer
Ports
Network
Interfaces
Rx
Descriptor
Packet
Data
PCIeEthernet
Drop
Drop
Metering/
Stats
Stats
Metadata
Filter/Selector
FlexN-TupleKeyBuild
FLUs
...
FLUs
...
FLUs
...
...
...
Stats Stats Stats
...
TC / QoS
FD
RSS
QH
...
FCoE
TC / QoS
Field
Extractor
Stats
Programming
by firmware
or by DDP1 2
Ethernet Networking Division 7
What is Dynamic Device Personalization (DDP)?1
Loadable Packet Classifications (Parser) personalization
for any well-defined traffic profiles for VNFs or
appliances with a specific position in the network
 Enable new protocols:
– GTP tunnel support, GTP-C and GTP-U as a separate flow types
– IP protocols as new flow types, for example L2TPv3, ESP/AH for IPSec
– Legacy protocols: PPPoE, PPPoL2TPv2
 Modify existing protocols:
– VXLAN with IP payload, NSHoUDP
– New PTYPEs on RX descriptor: for example, IPv4 TCP in one/two
MPLS label(s)
 Make Smart NIC act Stupid:
– Disable GRE classification
– Disable IPv4 classification
 Debug:
– Read configuration/statistics registers in one admin command call
Configurable tunnel filters for traffic steering
(Classifier Switch)
 Steering packets to a VM on QinQ
 Steering packets to a VM on Tunnel ID
(VXLAN, NVGRE, MPLS, GTP, NSH*)
 User definable steering/mirroring rules
1Does not include Intel® Ethernet Connection X722
Ethernet Networking Division
DPDK API or
Linux driver*
Dynamic Device Personalization Programming Tool Chain
Profile Editor
No GTP
Support
1. Take current Parser NVM configuration
2. Use Profile Editor to modify existing entries/create new entries for
Analyzer/Parser to address customer’s request
3. Create binary package file to be applied to FVL by customer
4. Download profile to FVL to change Parser configuration: new
PCTYPEs, PTYPEs, Protocols, extracted fields.
Profile is not persistent, on reset the original configuration is restores from
the NVM. SW can restore original configuration without reset as profiles
support “roll-back” transaction.
1 2 4
5
Loader
Loader:
DPDK 17.05 to 17.11
Linux: in planning
GTP
Support
gtp.i40e file
pppoe.pkgo
gtp.pkgo
mmio { // Expose GTP protocol
groupi REG w 0x300 x05 0x0 0xb
// add UDP 2153
write REG w 0x100 x32 0x0 0xcf58b
…
compiler
Intel Customermpls.pkgo 3
8
Ethernet Networking Division 9
Dynamic Device Personalization
Without vs. With, GTP-U example
Default FVL6 processing (without Personalization profile):
DA SA IPv4 UDP GTP TEID IPv4 TCP PAY
Parsed fields Payload
FVL6 with Personalization profile applied:
DA SA IPv4 UDP GTP TEID IPv4 TCP PAY
Parsed fields Payload
RSS
RSS
GTP-U is unknown flow type, so no RSS, FDIR or other filters are possible on encapsulated frame
GTP-U flow type is defined, encapsulated frame fields (including GTP TEID) can be used for RSS, FDIR.
Encapsulated frame type is indicated on RX descriptor, for example, TCP in GTP-U or GTP-U echo message
GTP-C flow type is defined as well and has separate RSS/FDIR configuration.
RSS
RSS
RSS
Packet type 24: UDP in IPv4
Packet type 172: TCP in GTP-U
RSS
RSS
10
Resume Presentation
Ethernet Networking Division 11
GTP Profile Example
Before GTP Profile is Applied
 31 udp
 33 tcp
 34 sctp
 35 ip
 36 ipf
 41 udp6
 43 tcp6
 44 sctp6
 45 ip6
 46 ipf6
 63 l2
Before GTP Profile is Applied
 22 gtpu ipv4
 23 gtpu ipv6
 24 gtpu
 25 gtpc
 31 udp
 33 tcp
 34 sctp
 35 ip
 36 ipf
 41 udp6
 43 tcp6
 44 sctp6
 45 ip6
 46 ipf6
 63 l2
Ethernet Networking Division 12
Dynamic Device Personalization Demo
Ethernet Networking Division
Without Dynamic Device Personalization GTP Profile Loaded
Ethernet Networking Division
With Dynamic Device Personalization GT Profile Loaded
Ethernet Networking Division
With Dynamic Device Personalization RSS Queue Regions Assigned
Ethernet Networking Division
With Dynamic Device Personalization More RSS Queue Per Regions Assigned
Ethernet Networking Division 17
Dynamic Device Personalization Commands in DPDK testpmd
4.4. Display Functions
4.4.10. ddp get list
Get loaded dynamic device personalization (DDP) package info list:
testpmd> ddp get list (port_id)
4.4.11. ddp get info
Display information about dynamic device personalization (DDP) profile:
testpmd> ddp get info (profile_path)
4.5. Configuration Functions
4.5.88. ddp add
Load a dynamic device personalization (DDP) profile and store backup profile:
testpmd> ddp add (port_id) (profile_path[,backup_profile_path])
4.5.89. ddp del
Delete a dynamic device personalization profile and restore backup profile:
testpmd> ddp del (port_id) (backup_profile_path)
http://dpdk.org/doc/guides/testpmd_app_ug/testpmd_funcs.html#configuration-functions
Ethernet Networking Division
rte_pmd_i40e_process_ddp_package()
download dynamic device personalization profile and register it**
int rte_pmd_i40e_process_ddp_package(
uint8_t port, // DPDK port index to download DDP package to
uint8_t *buff, // buffer with the package in the memory
uint32_t size, // size of the buffer
rte_pmd_i40e_package_op op // 17.05 supports only RTE_PMD_I40E_PKG_OP_WR_ADD
);
int rte_pmd_i40e_get_ddp_list()
get list of registered profile(s)**
int int rte_pmd_i40e_get_ddp_list (
uint8_t port, // DPDK port index to get list from
uint8_t *buff, // buffer to store list of registered profiles (rte_pmd_i40e_profile_list *)
uint32_t size // size of the buffer
);
* Requires XL710 firmware version 6.01
** HW could register up to 16 profiles, but SW should limit number of loaded profiles to one to avoid profiles overlapping
DPDK 17.05 APIs (rte_pmd_i40e.h)*
18
Ethernet Networking Division
DPDK 17.08 APIs (rte_pmd_i40e.h)*
rte_pmd_i40e_process_ddp_package()
download dynamic device personalization profile and register it (RTE_PMD_I40E_PKG_OP_WR_ADD)
rollback dynamic device personalization profile and un-register it (RTE_PMD_I40E_PKG_OP_WR_DEL)
rte_pmd_i40e_get_ddp_info()
request information about a profile without downloading it to the NIC
int rte_pmd_i40e_get_ddp_info(
uint8_t *pkg_buff, // buffer with the package in the memory
uint32_t pkg_size, // size of the package buffer
uint8_t *info_buff, // buffer to store information to
uint32_t info_size, // size of the information buffer
enum rte_pmd_i40e_package_info type // information type: header, devlist, ...
);
Note: in case if profile adds new flow types/packet types, these types should be enabled in DPDK separately
NEW:
* Requires XL710 firmware version 6.01
19
Ethernet Networking Division
Identify
Feature
Develop
Prototype
PoC with
Customers
FVL6 Delivery
Q2 2017
New Protocols Dynamically
Defined via DDP Profiles
Dynamic Device Personalization (DDP) – Protocol Profile Development Plan
20
Dynamic Device Personalization profiles for Intel® Ethernet 700 Series addresses
additional protocol support and allows early adoption of new technologies.
Intel® Ethernet 700 Series
2016
Pre-FVL6 Gap:
Protocols supported
Limited to firmware only
Intel® Ethernet 700 Series
FlexRAN /
MEC / EPC
GTP
RoE
BNG
PPPoE
CMTS
L2TPv3
Network
Programming
NHS
SRv6
Custom
VXLAN+IP payload
vRouter
MPLSoGRE
MPLSoUPD
New protocols via
Dynamic Device
Personalization
Application
Proposed
Protocols
Ethernet Networking Division
Load Distribution Software
Runs on CPU Core
Intel® Ethernet
700 Series
Worker
1
Worker
2
Worker
3
Worker
4
From 40GbE
Traffic Generator
MPLSoGREStandard TCP
Worker
0
Load Distribution Core
Load Distribution
Runs on XL710 Personalization Profile
Worker
1
Worker
2
Worker
3
Worker
4
Load Distribution using
MPLSoGRE DDP
MPLSoGREStandard TCP
Worker
0
Intel® Ethernet
700 Series
From 40GbE
Traffic Generator
Profiles for Wireline
Profiles for Wireless Profiles for GiLAN
Profiles for Enterprise
21
Network Landscape with
Dynamic Device Personalization
Microwave
Mobile
Backhaul
BRAS
Wireless Core GiLAN
IMS
DSLAM
CDN
IPFE
GTP-U
QinQ,
GRE,
MPLS Martini
VXLAN
Load distribution
(stateless hashing)
on any packet’s fields
QinQ
SCTP
NSH
NSH
NSHoUDP
IPSec – ESP stateless hashing
ARP
Load balancing
(stateless hashing)
on GTP TEID,
IPSec ESP SPI
VXLAN-gpe
Geneve
CAPWAP
MPLS
Without DDP
Software
Bottleneck
Profiles can be loaded separately per-device, so the same server with
multiple NICs can be used for different workload in a very dynamic way
DDP Removes
Bottleneck
VXLAN + GTP
Ethernet Networking Division
Intel® Ethernet Converged
Network Adapter XL710-QDA2
Port Speeds: 10Gb/40GbE
Intel® Ethernet Network
Adapter XXV710-DA1
Port Speeds: 1Gb/10Gb/25GbE
Intel® Ethernet Converged
Network Adapter X710-T4
Port Speeds: 1Gb/10GbE
Intel® Ethernet Converged
Network Adapter X710-DA4
Port Speeds: 1Gb/10GbE
PCIExpress*
EthernetAdapters
22
Intel®Ethernet700Seriesnetworkadapters
OpenComputeProject
EthernetAdapters
Intel® Ethernet Network Adapter
XXV710-DA1 for OCP
Port Speeds: 1Gb/10Gb/25GbE
Intel® Ethernet Network
Adapter XXV710-DA2
Port Speeds: 1Gb/10Gb/25GbE
Intel® Ethernet Converged
Network Adapter X710-DA2
Port Speeds: 1Gb/10GbE
Intel® Ethernet Server Adapter
XL710-QDA2 for OCP
Port Speeds: 1Gb/10Gb/40GbE
Intel® Ethernet Converged
Network Adapter XL710-QDA1
Port Speeds: 10Gb/40GbE
Intel® Ethernet Server Adapter
XL710-QDA1 for OCP
Port Speeds: 1Gb/10Gb/40GbE
Intel® Ethernet Server Adapter
X710-DA2 for OCP
Port Speeds: 1Gb/10GbE
10Gb Ethernet 10Gb or 25Gb Ethernet 4x10Gb or 40Gb Ethernet
Optimized Performance and Enhanced Usability
for Cloud and Network Functions Virtualization (NFV)
Ethernet Networking Division
Dynamic Device Personalization Summary
Dynamic Device Personalization can be used on any OS supported by DPDK
 For example, QUIC protocol classification on both Windows and Linux Oses
Dynamic Device Personalization allows a DPDK application to enable identification of
new protocols, for example, GTP, PPPoE, QUIC, MPLSoGRE, SRv6, etc without requiring a
reboot due to changing hardware or firmware updates.
Allows for existing Parse Graphs to be modified to support new usage models as they
are defined enabling faster time to market for DPDK enable applications.
DPDK on Microsoft Windows DPDK on Linux
23
Ethernet Networking Division
Dynamic Device Personalization Resources
Public Resources
 Intel® Developer Zone Article
– https://software.intel.com/en-us/articles/dynamic-device-
personalization-for-intel-ethernet-700-series
 DPDK Summit Nov 2017 presentation (YouTube)
– https://www.youtube.com/watch?v=X8aMDdAnnBI
 DPDK Summit Nov 2017 Slides
– https://www.slideshare.net/LF_DPDK/lfdpdk17flexible-and-
extensible-support-for-new-protocol-processing-with-dpdk-
using-dynamic-device-personalization
24
Ethernet Networking Division 25
Ethernet Networking Division 26
Dynamic Device Personalization
Without vs. With, PPPoE example
Default FVL6 processing (without personalization profile):
DA SA PPPoE IPv4 UDP PAY
Parsed fields Payload
FVL6 with personalization profile applied:
Parsed fields Payload
RSS
RSS
RSS
PPPoE is unknown flow type, so no RSS, FDIR or other filters are possible on inner packet fields.
FVL classifies PPPoE (Discovery and Session) packets as L2 payload.
With a DDP profile, PPPoE header can be parsed and encapsulated packet classified.
For example, for PPPoE session with UDP in IPv4, as shown above, RSS and FDIR filters can be used on UDP.
If required, RSS, FDIR and Tunnel filters can use PPPoE Session ID as well.
RSS
DA SA PPPoE IPv4 UDP PAYsession
Ethernet Networking Division 27
Dynamic Device Personalization
Without vs. With, MPLSoGRE example
Default FVL6 processing (without personalization profile):
DA SA IPv4 GRE MPLS DA SA IPv4 UDP PAY
Parsed fields Payload
FVL6 with personalization profile applied:
DA SA IPv4 GRE MPLS DA SA IPv4 UDP PAY
Parsed fields Payload
RSS
RSS
RSS
MPLSoGRE is unknown flow type, so no RSS, FDIR or other filters are possible. Packet type set to 43.
With MPLSoGRE flow type is defined by encapsulated frame, for example, UDP in IPv4 as shown above
so all filters available for UDP can be applied to the packets: RSS, FDIR. Packet type 59-72.
RSS, FDIR and Tunnel filters can use MPLS label as tunnel (tenant) ID.
RSS
Ethernet Networking Division
Q&A, generic
Q How profiles will be distributed?
A
There a two main ways of distributing profiles:
1. as a separate binary file and loaded by application
2. it can be precompiled to a driver, and selected on device initialization stage
For the trials/test with a customer we use the first option, as profile configuration can change
during pre-release.
After full validation, release version can be precompiled with a driver (kernel or DPDK) or an
application to be selected at initialization.
Q Can profile be applied to only one port/PF/VF of a multi-port device?
A
No, profiles affect all port on a device. In virtual environment not only PFs but all VFs will be
affected as well. Which PF is used to apply a profile does not matter.
Q Do we need to reload a profile after NIC reset or, once loaded, profile stays in the NVM?
A Profiles are not persistent, so must be reloaded after any reset of the NIC.
Q
Can we use profiles on any other i40e compatible devices, for example, on Intel® Ethernet
Connection X722 ports of Intel® Chipset C620?
A No, the Intel Ethernet Connection X722 does not support profiles.
28
Ethernet Networking Division
Q&A, generic
Q Does firmware version 5 supports dynamic device personalization profiles?
A No, dynamic device personalization will be available starting from firmware version 6
Q How many profiles can be loaded simultaneously on one device?
A
Thou the Network Adapters can provide information about up to 16 loaded profiles. Multiple
profiles are not recommended. In case if, for some reason, multiple profiles are needed, it
should be treated very carefully to make sure that profiles are not overlapping and to avoid
any unexpected behaviour.
Q Will I (as a customer) be able to create profiles by myself?
A
No, profile programming requires very deep knowledge of the device internals and can be
done only by Intel engineers.
Q Can I apply profile while traffic is running through the device or I have to stop device first?
A You can apply/remove profile with traffic running, but some packet loss should be expected.
29
Ethernet Networking Division 31
Default firmware processing (WITHOUT Personalization profile)
DA SA IPv4 UDP GTP TEID IPv4 TCP PAY
Parsed fields Payload
GTP-U is unknown flow type, so no RSS, FDIR or other filters are possible on encapsulated frame
RSS
RSS
Packet type 24: UDP in IPv4
RSS
Ethernet Networking Division 32
GTP-U flow type is defined, encapsulated frame fields
(including GTP TEID) can be used for RSS, FDIR
Encapsulated frame type is indicated on RX descriptor,
for example, TCP in GTP-U or GTP-U echo message
GTP-C flow type is defined as well and has separate
RSS/FDIR configuration
Dynamic Device Personalization GTP Profile applied:
DA SA IPv4 UDP GTP TEID IPv4 TCP PAY
Parsed fields Payload
RSS
RSS
RSS
Packet type 172: TCP in GTP-U
RSS
Ethernet Networking Division 33
RSS configured separating traffic across 16 queues, assigning each of the
packet types to individual traffic classes and queue regions
GTP Demo RSS Configuration
// 31 ipv4-udp region 1, queues 1-2
// 41 ipv6-udp region 2, queues 3-4
// 34 SCTP region 3, queue 4
// 24 GTPU region 4, queue 6 (GTPU with message types != 0xFF)
// 25 GTPC region 5, queue 7
// 22 GTPU_IPV4 region 6, queues 8-11
// 23 GTPU_IPV6 region 7, queues 12-15
Dynamic Device Personalization GTP Profile applied with RSS:
DA SA IPv4 UDP GTP TEID IPv4 TCP PAY
Parsed fields Payload
RSS
RSS
RSS
Packet type 172: TCP in GTP-U
RSS

More Related Content

What's hot

DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingMichelle Holley
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersBruno Teixeira
 
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Andriy Berestovskyy
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsHisaki Ohara
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netYan Vugenfirer
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDPDaniel T. Lee
 
1000 Ccna Questions And Answers
1000 Ccna Questions And Answers1000 Ccna Questions And Answers
1000 Ccna Questions And AnswersCCNAResources
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network InterfacesKernel TLV
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hwvideos
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Kentaro Ebisawa
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower OffloadNetronome
 
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Kentaro Ebisawa
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlKentaro Ebisawa
 

What's hot (20)

Intel dpdk Tutorial
Intel dpdk TutorialIntel dpdk Tutorial
Intel dpdk Tutorial
 
DPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet ProcessingDPDK & Layer 4 Packet Processing
DPDK & Layer 4 Packet Processing
 
GTPing, How To
GTPing, How ToGTPing, How To
GTPing, How To
 
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service ProvidersCisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
Cisco Live! :: Introduction to IOS XR for Enterprises and Service Providers
 
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
LF_DPDK17_Flexible and Extensible support for new protocol processing with DP...
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 
DPDK In Depth
DPDK In DepthDPDK In Depth
DPDK In Depth
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-netReceive side scaling (RSS) with eBPF in QEMU and virtio-net
Receive side scaling (RSS) with eBPF in QEMU and virtio-net
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
1000 Ccna Questions And Answers
1000 Ccna Questions And Answers1000 Ccna Questions And Answers
1000 Ccna Questions And Answers
 
Fun with Network Interfaces
Fun with Network InterfacesFun with Network Interfaces
Fun with Network Interfaces
 
1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw1 intro to_dpdk_and_hw
1 intro to_dpdk_and_hw
 
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
Zebra SRv6 CLI on Linux Dataplane (ENOG#49)
 
ACI DHCP Config Guide
ACI DHCP Config GuideACI DHCP Config Guide
ACI DHCP Config Guide
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
Howto createOpenFlow Switchusing FPGA (at FPGAX#6)
 
SRv6 study
SRv6 studySRv6 study
SRv6 study
 
Using GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnlUsing GTP on Linux with libgtpnl
Using GTP on Linux with libgtpnl
 

Similar to Enabling new protocol processing with DPDK using Dynamic Device Personalization

OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...
OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...
OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...Lumina Networks
 
P4/FPGA, Packet Acceleration
P4/FPGA, Packet AccelerationP4/FPGA, Packet Acceleration
P4/FPGA, Packet AccelerationLiz Warner
 
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureDPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureJim St. Leger
 
Performance out of the box developers
Performance   out of the box developersPerformance   out of the box developers
Performance out of the box developersMichelle Holley
 
What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?Michelle Holley
 
Технологии Intel в центрах обработки данных
Технологии Intel в центрах обработки данныхТехнологии Intel в центрах обработки данных
Технологии Intel в центрах обработки данныхFujitsu Russia
 
DPDK IPSec performance benchmark ~ Georgii Tkachuk
DPDK IPSec performance benchmark ~ Georgii TkachukDPDK IPSec performance benchmark ~ Georgii Tkachuk
DPDK IPSec performance benchmark ~ Georgii TkachukIntel
 
NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkMichelle Holley
 
P3APS19001EN IEC 61850_Configuration_Instructions.pdf
P3APS19001EN IEC 61850_Configuration_Instructions.pdfP3APS19001EN IEC 61850_Configuration_Instructions.pdf
P3APS19001EN IEC 61850_Configuration_Instructions.pdfdongaduythuat123
 
Enabling Applications to Exploit SmartNICs and FPGAs
Enabling Applications to Exploit SmartNICs and FPGAsEnabling Applications to Exploit SmartNICs and FPGAs
Enabling Applications to Exploit SmartNICs and FPGAsinside-BigData.com
 
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceIntel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceDESMOND YUEN
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...Databricks
 
Edge Computing and 5G - SDN/NFV London meetup
Edge Computing and 5G - SDN/NFV London meetupEdge Computing and 5G - SDN/NFV London meetup
Edge Computing and 5G - SDN/NFV London meetupHaidee McMahon
 
Serial interface module for ethernet based applications
Serial interface module for ethernet based applicationsSerial interface module for ethernet based applications
Serial interface module for ethernet based applicationseSAT Journals
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationalevideos
 
Omni path-fabric-software-architecture-overview
Omni path-fabric-software-architecture-overviewOmni path-fabric-software-architecture-overview
Omni path-fabric-software-architecture-overviewDESMOND YUEN
 
Overview of Intel® Omni-Path Architecture
Overview of Intel® Omni-Path ArchitectureOverview of Intel® Omni-Path Architecture
Overview of Intel® Omni-Path ArchitectureIntel® Software
 
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Liz Warner
 
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Liz Warner
 

Similar to Enabling new protocol processing with DPDK using Dynamic Device Personalization (20)

OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...
OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...
OSN Bay Area Feb 2019 Meetup: Intel, Dynamic Device Personalization - Journey...
 
P4/FPGA, Packet Acceleration
P4/FPGA, Packet AccelerationP4/FPGA, Packet Acceleration
P4/FPGA, Packet Acceleration
 
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel ArchitectureDPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
DPDK Summit - 08 Sept 2014 - Intel - Networking Workloads on Intel Architecture
 
Performance out of the box developers
Performance   out of the box developersPerformance   out of the box developers
Performance out of the box developers
 
What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?What are latest new features that DPDK brings into 2018?
What are latest new features that DPDK brings into 2018?
 
Технологии Intel в центрах обработки данных
Технологии Intel в центрах обработки данныхТехнологии Intel в центрах обработки данных
Технологии Intel в центрах обработки данных
 
DPDK IPSec performance benchmark ~ Georgii Tkachuk
DPDK IPSec performance benchmark ~ Georgii TkachukDPDK IPSec performance benchmark ~ Georgii Tkachuk
DPDK IPSec performance benchmark ~ Georgii Tkachuk
 
NFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function FrameworkNFF-GO (YANFF) - Yet Another Network Function Framework
NFF-GO (YANFF) - Yet Another Network Function Framework
 
HP_NextGEN_Training_Q4_2015
HP_NextGEN_Training_Q4_2015HP_NextGEN_Training_Q4_2015
HP_NextGEN_Training_Q4_2015
 
P3APS19001EN IEC 61850_Configuration_Instructions.pdf
P3APS19001EN IEC 61850_Configuration_Instructions.pdfP3APS19001EN IEC 61850_Configuration_Instructions.pdf
P3APS19001EN IEC 61850_Configuration_Instructions.pdf
 
Enabling Applications to Exploit SmartNICs and FPGAs
Enabling Applications to Exploit SmartNICs and FPGAsEnabling Applications to Exploit SmartNICs and FPGAs
Enabling Applications to Exploit SmartNICs and FPGAs
 
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: PerformanceIntel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
Intel® QuickAssist Technology (Intel® QAT) and OpenSSL-1.1.0: Performance
 
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 Best Practice of Compression/Decompression Codes in Apache Spark with Sophia... Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
Best Practice of Compression/Decompression Codes in Apache Spark with Sophia...
 
Edge Computing and 5G - SDN/NFV London meetup
Edge Computing and 5G - SDN/NFV London meetupEdge Computing and 5G - SDN/NFV London meetup
Edge Computing and 5G - SDN/NFV London meetup
 
Serial interface module for ethernet based applications
Serial interface module for ethernet based applicationsSerial interface module for ethernet based applications
Serial interface module for ethernet based applications
 
5 pipeline arch_rationale
5 pipeline arch_rationale5 pipeline arch_rationale
5 pipeline arch_rationale
 
Omni path-fabric-software-architecture-overview
Omni path-fabric-software-architecture-overviewOmni path-fabric-software-architecture-overview
Omni path-fabric-software-architecture-overview
 
Overview of Intel® Omni-Path Architecture
Overview of Intel® Omni-Path ArchitectureOverview of Intel® Omni-Path Architecture
Overview of Intel® Omni-Path Architecture
 
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
Service Assurance Constructs for Achieving Network Transformation by Sunku Ra...
 
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
Service Assurance Constructs for Achieving Network Transformation - Sunku Ran...
 

More from Michelle Holley

Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Michelle Holley
 
5G and Open Reference Platforms
5G and Open Reference Platforms5G and Open Reference Platforms
5G and Open Reference PlatformsMichelle Holley
 
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesDe-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesMichelle Holley
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPEMichelle Holley
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesMichelle Holley
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Michelle Holley
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)Michelle Holley
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric OverviewMichelle Holley
 
Orchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsOrchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsMichelle Holley
 
Convergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudConvergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudMichelle Holley
 
Intel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramIntel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramMichelle Holley
 
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Michelle Holley
 
Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Michelle Holley
 
Intel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoIntel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoMichelle Holley
 
Artificial Intelligence in the Network
Artificial Intelligence in the Network Artificial Intelligence in the Network
Artificial Intelligence in the Network Michelle Holley
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioMichelle Holley
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Michelle Holley
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Michelle Holley
 

More from Michelle Holley (20)

Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?Edge and 5G: What is in it for the developers?
Edge and 5G: What is in it for the developers?
 
5G and Open Reference Platforms
5G and Open Reference Platforms5G and Open Reference Platforms
5G and Open Reference Platforms
 
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and OpportunitiesDe-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
De-fogging Edge Computing: Ecosystem, Use-cases, and Opportunities
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
 
Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption Accelerating Edge Computing Adoption
Accelerating Edge Computing Adoption
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
DPDK & Cloud Native
DPDK & Cloud NativeDPDK & Cloud Native
DPDK & Cloud Native
 
OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)OpenDaylight Update (June 2018)
OpenDaylight Update (June 2018)
 
Tungsten Fabric Overview
Tungsten Fabric OverviewTungsten Fabric Overview
Tungsten Fabric Overview
 
Orchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple CloudsOrchestrating NFV Workloads in Multiple Clouds
Orchestrating NFV Workloads in Multiple Clouds
 
Convergence of device and data at the Edge Cloud
Convergence of device and data at the Edge CloudConvergence of device and data at the Edge Cloud
Convergence of device and data at the Edge Cloud
 
Intel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem ProgramIntel® Network Builders - Network Edge Ecosystem Program
Intel® Network Builders - Network Edge Ecosystem Program
 
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...Design Implications, Challenges and Principles of Zero-Touch Management Envir...
Design Implications, Challenges and Principles of Zero-Touch Management Envir...
 
Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...Using Microservices Architecture and Patterns to Address Applications Require...
Using Microservices Architecture and Patterns to Address Applications Require...
 
Intel Powered AI Applications for Telco
Intel Powered AI Applications for TelcoIntel Powered AI Applications for Telco
Intel Powered AI Applications for Telco
 
Artificial Intelligence in the Network
Artificial Intelligence in the Network Artificial Intelligence in the Network
Artificial Intelligence in the Network
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
 
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
 
Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...Accelerating Virtual Machine Access with the Storage Performance Development ...
Accelerating Virtual Machine Access with the Storage Performance Development ...
 

Recently uploaded

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Enabling new protocol processing with DPDK using Dynamic Device Personalization

  • 1. Brian Johnson – Solution Architect, Intel Corp v1803.20
  • 2. Ethernet Networking Division 2 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. INTEL PRODUCTS ARE NOT INTENDED FOR USE IN MEDICAL, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS. Intel may make changes to specifications and product descriptions at any time, without notice. All products, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice. Intel processors, chipsets, and desktop boards may contain design defects or errors known as errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request. Alta, Red Rock Canyon, Seacliff Trail and other code names featured are used internally within Intel to identify products that are in development and not yet publicly announced for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. Go to: http://www.intel.com/products/processor_number Intel product plans in this presentation do not constitute Intel plan of record product roadmaps. Please contact your Intel representative to obtain Intel's current plan of record product roadmaps. Intel, Xeon the Intel logo are trademarks of Intel Corporation in the United States and other countries. *Other names and brands may be claimed as the property of others. Copyright ©2018 Intel Corporation. Intel does not control or audit the design or implementation of third party benchmark data or Web sites referenced in this document. Intel encourages all of its customers to visit the referenced Web sites or others where similar performance benchmark data are reported and confirm whether the referenced benchmark data are accurate and reflect performance of systems available for purchase.
  • 3. Ethernet Networking Division 3 Agenda Problem statement Intel® Ethernet 700 Series capabilities level set What is a Dynamic Device Personalization Profile? Personalization programming tool chain Examples and Demo Using the Data Plane Development Kit and Dynamic Device Personalization Click here to access stream
  • 4. Ethernet Networking Division 4 Network Landscape Microwave Mobile Backhaul BRAS Wireless Core GiLAN IMS DSLAM CDN IPFE GTP QinQ, GRE, MPLS Martini VXLAN Load distribution (stateless hashing) on any packet’s fields QinQ SCTP NSH NSH NSHoUDP IPSec – ESP stateless hashing ARP Load balancing (stateless hashing) on GTP TEID, IPSec ESP SPI VXLAN-gpe Geneve CAPWAP MPLS IPv4, IPv6, TCP, UDP, SCTP, VXLAN, NVGRE, GRE VXLAN + PPPoE VXLAN + GTP Available Limited functionality Software Classification/ Distribution Bottleneck Classification/ Distribution in HW Removes Bottleneck Load Distribution Software Runs on CPU Core Intel® Ethernet 700 Series Worker 1 Worker 2 Worker 3 Worker 4 From 40GbE Traffic Generator MPLSoGREStandard TCP Worker 0 Load Distribution Core Load Distribution Runs on XL710 Personalization Profile Worker 1 Worker 2 Worker 3 Worker 4 Load Distribution using MPLSoGRE DDP MPLSoGREStandard TCP Worker 0 Intel® Ethernet 700 Series From 40GbE Traffic Generator
  • 5. Ethernet Networking Division 5 Intel® Ethernet 700 Series Capabilities Level Set Packets classification: supports up to 64 packet classifier types (PCTYPEs) o “TCP in IPv4” and “UDP in IPv6” are different packet classifier types filters (hash, flow director, tunnel filter) configured per PCTYPE Reported packet types: up to 192 packet types as 8bit value on RX descriptor o “MAC, IPv4, TCP, PAY4” and “MAC, IPv6, TCP, PAY4” packets will have different PTYPE value on RX descriptor Packets steering/mirroring: tunnel (cloud) filters for VXLAN, GRE, GENEVE o ADq (Application Device Queues) to filter TCP/UDP traffic Hash offload calculation (up to 48 bytes input set) o Different queue regions can be assigned to different PCTYPEs Exact flow matching (up to 8k rules) – Intel® Ethernet Flow Director
  • 6. Ethernet Networking Division 6 Intel® Ethernet 700 Series Rx Programmable Pipeline Parser Packet Context Classifier Switch Classifier Rx Post Filters Packet Type Resolver 3-StageFlowTables FlowTables ... Packet Type Packet Type Packet Modifier (RDPU) Analyzer (Packet Digest & Metadata) uCode FlexKeyperPacketType Q Stats VSI Actions FV (Field Vecor) QVSI Q Rx Desc RDPU Rcp Actions Rx DescRDPU Rcp Recipies Packet Buffer Ports Network Interfaces Rx Descriptor Packet Data PCIeEthernet Drop Drop Metering/ Stats Stats Metadata Filter/Selector FlexN-TupleKeyBuild FLUs ... FLUs ... FLUs ... ... ... Stats Stats Stats ... TC / QoS FD RSS QH ... FCoE TC / QoS Field Extractor Stats Programming by firmware or by DDP1 2
  • 7. Ethernet Networking Division 7 What is Dynamic Device Personalization (DDP)?1 Loadable Packet Classifications (Parser) personalization for any well-defined traffic profiles for VNFs or appliances with a specific position in the network  Enable new protocols: – GTP tunnel support, GTP-C and GTP-U as a separate flow types – IP protocols as new flow types, for example L2TPv3, ESP/AH for IPSec – Legacy protocols: PPPoE, PPPoL2TPv2  Modify existing protocols: – VXLAN with IP payload, NSHoUDP – New PTYPEs on RX descriptor: for example, IPv4 TCP in one/two MPLS label(s)  Make Smart NIC act Stupid: – Disable GRE classification – Disable IPv4 classification  Debug: – Read configuration/statistics registers in one admin command call Configurable tunnel filters for traffic steering (Classifier Switch)  Steering packets to a VM on QinQ  Steering packets to a VM on Tunnel ID (VXLAN, NVGRE, MPLS, GTP, NSH*)  User definable steering/mirroring rules 1Does not include Intel® Ethernet Connection X722
  • 8. Ethernet Networking Division DPDK API or Linux driver* Dynamic Device Personalization Programming Tool Chain Profile Editor No GTP Support 1. Take current Parser NVM configuration 2. Use Profile Editor to modify existing entries/create new entries for Analyzer/Parser to address customer’s request 3. Create binary package file to be applied to FVL by customer 4. Download profile to FVL to change Parser configuration: new PCTYPEs, PTYPEs, Protocols, extracted fields. Profile is not persistent, on reset the original configuration is restores from the NVM. SW can restore original configuration without reset as profiles support “roll-back” transaction. 1 2 4 5 Loader Loader: DPDK 17.05 to 17.11 Linux: in planning GTP Support gtp.i40e file pppoe.pkgo gtp.pkgo mmio { // Expose GTP protocol groupi REG w 0x300 x05 0x0 0xb // add UDP 2153 write REG w 0x100 x32 0x0 0xcf58b … compiler Intel Customermpls.pkgo 3 8
  • 9. Ethernet Networking Division 9 Dynamic Device Personalization Without vs. With, GTP-U example Default FVL6 processing (without Personalization profile): DA SA IPv4 UDP GTP TEID IPv4 TCP PAY Parsed fields Payload FVL6 with Personalization profile applied: DA SA IPv4 UDP GTP TEID IPv4 TCP PAY Parsed fields Payload RSS RSS GTP-U is unknown flow type, so no RSS, FDIR or other filters are possible on encapsulated frame GTP-U flow type is defined, encapsulated frame fields (including GTP TEID) can be used for RSS, FDIR. Encapsulated frame type is indicated on RX descriptor, for example, TCP in GTP-U or GTP-U echo message GTP-C flow type is defined as well and has separate RSS/FDIR configuration. RSS RSS RSS Packet type 24: UDP in IPv4 Packet type 172: TCP in GTP-U RSS RSS
  • 11. Ethernet Networking Division 11 GTP Profile Example Before GTP Profile is Applied  31 udp  33 tcp  34 sctp  35 ip  36 ipf  41 udp6  43 tcp6  44 sctp6  45 ip6  46 ipf6  63 l2 Before GTP Profile is Applied  22 gtpu ipv4  23 gtpu ipv6  24 gtpu  25 gtpc  31 udp  33 tcp  34 sctp  35 ip  36 ipf  41 udp6  43 tcp6  44 sctp6  45 ip6  46 ipf6  63 l2
  • 12. Ethernet Networking Division 12 Dynamic Device Personalization Demo
  • 13. Ethernet Networking Division Without Dynamic Device Personalization GTP Profile Loaded
  • 14. Ethernet Networking Division With Dynamic Device Personalization GT Profile Loaded
  • 15. Ethernet Networking Division With Dynamic Device Personalization RSS Queue Regions Assigned
  • 16. Ethernet Networking Division With Dynamic Device Personalization More RSS Queue Per Regions Assigned
  • 17. Ethernet Networking Division 17 Dynamic Device Personalization Commands in DPDK testpmd 4.4. Display Functions 4.4.10. ddp get list Get loaded dynamic device personalization (DDP) package info list: testpmd> ddp get list (port_id) 4.4.11. ddp get info Display information about dynamic device personalization (DDP) profile: testpmd> ddp get info (profile_path) 4.5. Configuration Functions 4.5.88. ddp add Load a dynamic device personalization (DDP) profile and store backup profile: testpmd> ddp add (port_id) (profile_path[,backup_profile_path]) 4.5.89. ddp del Delete a dynamic device personalization profile and restore backup profile: testpmd> ddp del (port_id) (backup_profile_path) http://dpdk.org/doc/guides/testpmd_app_ug/testpmd_funcs.html#configuration-functions
  • 18. Ethernet Networking Division rte_pmd_i40e_process_ddp_package() download dynamic device personalization profile and register it** int rte_pmd_i40e_process_ddp_package( uint8_t port, // DPDK port index to download DDP package to uint8_t *buff, // buffer with the package in the memory uint32_t size, // size of the buffer rte_pmd_i40e_package_op op // 17.05 supports only RTE_PMD_I40E_PKG_OP_WR_ADD ); int rte_pmd_i40e_get_ddp_list() get list of registered profile(s)** int int rte_pmd_i40e_get_ddp_list ( uint8_t port, // DPDK port index to get list from uint8_t *buff, // buffer to store list of registered profiles (rte_pmd_i40e_profile_list *) uint32_t size // size of the buffer ); * Requires XL710 firmware version 6.01 ** HW could register up to 16 profiles, but SW should limit number of loaded profiles to one to avoid profiles overlapping DPDK 17.05 APIs (rte_pmd_i40e.h)* 18
  • 19. Ethernet Networking Division DPDK 17.08 APIs (rte_pmd_i40e.h)* rte_pmd_i40e_process_ddp_package() download dynamic device personalization profile and register it (RTE_PMD_I40E_PKG_OP_WR_ADD) rollback dynamic device personalization profile and un-register it (RTE_PMD_I40E_PKG_OP_WR_DEL) rte_pmd_i40e_get_ddp_info() request information about a profile without downloading it to the NIC int rte_pmd_i40e_get_ddp_info( uint8_t *pkg_buff, // buffer with the package in the memory uint32_t pkg_size, // size of the package buffer uint8_t *info_buff, // buffer to store information to uint32_t info_size, // size of the information buffer enum rte_pmd_i40e_package_info type // information type: header, devlist, ... ); Note: in case if profile adds new flow types/packet types, these types should be enabled in DPDK separately NEW: * Requires XL710 firmware version 6.01 19
  • 20. Ethernet Networking Division Identify Feature Develop Prototype PoC with Customers FVL6 Delivery Q2 2017 New Protocols Dynamically Defined via DDP Profiles Dynamic Device Personalization (DDP) – Protocol Profile Development Plan 20 Dynamic Device Personalization profiles for Intel® Ethernet 700 Series addresses additional protocol support and allows early adoption of new technologies. Intel® Ethernet 700 Series 2016 Pre-FVL6 Gap: Protocols supported Limited to firmware only Intel® Ethernet 700 Series FlexRAN / MEC / EPC GTP RoE BNG PPPoE CMTS L2TPv3 Network Programming NHS SRv6 Custom VXLAN+IP payload vRouter MPLSoGRE MPLSoUPD New protocols via Dynamic Device Personalization Application Proposed Protocols
  • 21. Ethernet Networking Division Load Distribution Software Runs on CPU Core Intel® Ethernet 700 Series Worker 1 Worker 2 Worker 3 Worker 4 From 40GbE Traffic Generator MPLSoGREStandard TCP Worker 0 Load Distribution Core Load Distribution Runs on XL710 Personalization Profile Worker 1 Worker 2 Worker 3 Worker 4 Load Distribution using MPLSoGRE DDP MPLSoGREStandard TCP Worker 0 Intel® Ethernet 700 Series From 40GbE Traffic Generator Profiles for Wireline Profiles for Wireless Profiles for GiLAN Profiles for Enterprise 21 Network Landscape with Dynamic Device Personalization Microwave Mobile Backhaul BRAS Wireless Core GiLAN IMS DSLAM CDN IPFE GTP-U QinQ, GRE, MPLS Martini VXLAN Load distribution (stateless hashing) on any packet’s fields QinQ SCTP NSH NSH NSHoUDP IPSec – ESP stateless hashing ARP Load balancing (stateless hashing) on GTP TEID, IPSec ESP SPI VXLAN-gpe Geneve CAPWAP MPLS Without DDP Software Bottleneck Profiles can be loaded separately per-device, so the same server with multiple NICs can be used for different workload in a very dynamic way DDP Removes Bottleneck VXLAN + GTP
  • 22. Ethernet Networking Division Intel® Ethernet Converged Network Adapter XL710-QDA2 Port Speeds: 10Gb/40GbE Intel® Ethernet Network Adapter XXV710-DA1 Port Speeds: 1Gb/10Gb/25GbE Intel® Ethernet Converged Network Adapter X710-T4 Port Speeds: 1Gb/10GbE Intel® Ethernet Converged Network Adapter X710-DA4 Port Speeds: 1Gb/10GbE PCIExpress* EthernetAdapters 22 Intel®Ethernet700Seriesnetworkadapters OpenComputeProject EthernetAdapters Intel® Ethernet Network Adapter XXV710-DA1 for OCP Port Speeds: 1Gb/10Gb/25GbE Intel® Ethernet Network Adapter XXV710-DA2 Port Speeds: 1Gb/10Gb/25GbE Intel® Ethernet Converged Network Adapter X710-DA2 Port Speeds: 1Gb/10GbE Intel® Ethernet Server Adapter XL710-QDA2 for OCP Port Speeds: 1Gb/10Gb/40GbE Intel® Ethernet Converged Network Adapter XL710-QDA1 Port Speeds: 10Gb/40GbE Intel® Ethernet Server Adapter XL710-QDA1 for OCP Port Speeds: 1Gb/10Gb/40GbE Intel® Ethernet Server Adapter X710-DA2 for OCP Port Speeds: 1Gb/10GbE 10Gb Ethernet 10Gb or 25Gb Ethernet 4x10Gb or 40Gb Ethernet Optimized Performance and Enhanced Usability for Cloud and Network Functions Virtualization (NFV)
  • 23. Ethernet Networking Division Dynamic Device Personalization Summary Dynamic Device Personalization can be used on any OS supported by DPDK  For example, QUIC protocol classification on both Windows and Linux Oses Dynamic Device Personalization allows a DPDK application to enable identification of new protocols, for example, GTP, PPPoE, QUIC, MPLSoGRE, SRv6, etc without requiring a reboot due to changing hardware or firmware updates. Allows for existing Parse Graphs to be modified to support new usage models as they are defined enabling faster time to market for DPDK enable applications. DPDK on Microsoft Windows DPDK on Linux 23
  • 24. Ethernet Networking Division Dynamic Device Personalization Resources Public Resources  Intel® Developer Zone Article – https://software.intel.com/en-us/articles/dynamic-device- personalization-for-intel-ethernet-700-series  DPDK Summit Nov 2017 presentation (YouTube) – https://www.youtube.com/watch?v=X8aMDdAnnBI  DPDK Summit Nov 2017 Slides – https://www.slideshare.net/LF_DPDK/lfdpdk17flexible-and- extensible-support-for-new-protocol-processing-with-dpdk- using-dynamic-device-personalization 24
  • 26. Ethernet Networking Division 26 Dynamic Device Personalization Without vs. With, PPPoE example Default FVL6 processing (without personalization profile): DA SA PPPoE IPv4 UDP PAY Parsed fields Payload FVL6 with personalization profile applied: Parsed fields Payload RSS RSS RSS PPPoE is unknown flow type, so no RSS, FDIR or other filters are possible on inner packet fields. FVL classifies PPPoE (Discovery and Session) packets as L2 payload. With a DDP profile, PPPoE header can be parsed and encapsulated packet classified. For example, for PPPoE session with UDP in IPv4, as shown above, RSS and FDIR filters can be used on UDP. If required, RSS, FDIR and Tunnel filters can use PPPoE Session ID as well. RSS DA SA PPPoE IPv4 UDP PAYsession
  • 27. Ethernet Networking Division 27 Dynamic Device Personalization Without vs. With, MPLSoGRE example Default FVL6 processing (without personalization profile): DA SA IPv4 GRE MPLS DA SA IPv4 UDP PAY Parsed fields Payload FVL6 with personalization profile applied: DA SA IPv4 GRE MPLS DA SA IPv4 UDP PAY Parsed fields Payload RSS RSS RSS MPLSoGRE is unknown flow type, so no RSS, FDIR or other filters are possible. Packet type set to 43. With MPLSoGRE flow type is defined by encapsulated frame, for example, UDP in IPv4 as shown above so all filters available for UDP can be applied to the packets: RSS, FDIR. Packet type 59-72. RSS, FDIR and Tunnel filters can use MPLS label as tunnel (tenant) ID. RSS
  • 28. Ethernet Networking Division Q&A, generic Q How profiles will be distributed? A There a two main ways of distributing profiles: 1. as a separate binary file and loaded by application 2. it can be precompiled to a driver, and selected on device initialization stage For the trials/test with a customer we use the first option, as profile configuration can change during pre-release. After full validation, release version can be precompiled with a driver (kernel or DPDK) or an application to be selected at initialization. Q Can profile be applied to only one port/PF/VF of a multi-port device? A No, profiles affect all port on a device. In virtual environment not only PFs but all VFs will be affected as well. Which PF is used to apply a profile does not matter. Q Do we need to reload a profile after NIC reset or, once loaded, profile stays in the NVM? A Profiles are not persistent, so must be reloaded after any reset of the NIC. Q Can we use profiles on any other i40e compatible devices, for example, on Intel® Ethernet Connection X722 ports of Intel® Chipset C620? A No, the Intel Ethernet Connection X722 does not support profiles. 28
  • 29. Ethernet Networking Division Q&A, generic Q Does firmware version 5 supports dynamic device personalization profiles? A No, dynamic device personalization will be available starting from firmware version 6 Q How many profiles can be loaded simultaneously on one device? A Thou the Network Adapters can provide information about up to 16 loaded profiles. Multiple profiles are not recommended. In case if, for some reason, multiple profiles are needed, it should be treated very carefully to make sure that profiles are not overlapping and to avoid any unexpected behaviour. Q Will I (as a customer) be able to create profiles by myself? A No, profile programming requires very deep knowledge of the device internals and can be done only by Intel engineers. Q Can I apply profile while traffic is running through the device or I have to stop device first? A You can apply/remove profile with traffic running, but some packet loss should be expected. 29
  • 30.
  • 31. Ethernet Networking Division 31 Default firmware processing (WITHOUT Personalization profile) DA SA IPv4 UDP GTP TEID IPv4 TCP PAY Parsed fields Payload GTP-U is unknown flow type, so no RSS, FDIR or other filters are possible on encapsulated frame RSS RSS Packet type 24: UDP in IPv4 RSS
  • 32. Ethernet Networking Division 32 GTP-U flow type is defined, encapsulated frame fields (including GTP TEID) can be used for RSS, FDIR Encapsulated frame type is indicated on RX descriptor, for example, TCP in GTP-U or GTP-U echo message GTP-C flow type is defined as well and has separate RSS/FDIR configuration Dynamic Device Personalization GTP Profile applied: DA SA IPv4 UDP GTP TEID IPv4 TCP PAY Parsed fields Payload RSS RSS RSS Packet type 172: TCP in GTP-U RSS
  • 33. Ethernet Networking Division 33 RSS configured separating traffic across 16 queues, assigning each of the packet types to individual traffic classes and queue regions GTP Demo RSS Configuration // 31 ipv4-udp region 1, queues 1-2 // 41 ipv6-udp region 2, queues 3-4 // 34 SCTP region 3, queue 4 // 24 GTPU region 4, queue 6 (GTPU with message types != 0xFF) // 25 GTPC region 5, queue 7 // 22 GTPU_IPV4 region 6, queues 8-11 // 23 GTPU_IPV6 region 7, queues 12-15 Dynamic Device Personalization GTP Profile applied with RSS: DA SA IPv4 UDP GTP TEID IPv4 TCP PAY Parsed fields Payload RSS RSS RSS Packet type 172: TCP in GTP-U RSS