0% found this document useful (0 votes)
195 views36 pages

Guia Intel E810 Drivers Linux

Uploaded by

winpru23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
195 views36 pages

Guia Intel E810 Drivers Linux

Uploaded by

winpru23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

R

Intel® Ethernet Controller E810


Dynamic Device Personalization
(DDP)
Technology Guide

NEX Cloud Networking Group (NCNG)

Rev. 2.8

February 2023

Doc. No.: 617015, Rev.: 2.8


R

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
This document (and any related software) is Intel copyrighted material, and your use is governed by the express license under which it is provided to
you. Unless the license provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this document (and related
materials) without Intel's prior written permission. This document (and related materials) is provided as is, with no express or implied warranties, other
than those that are expressly stated in the license.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular
purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
This document contains information on products, services and/or processes in development. All information provided here is subject to change without
notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.
The products and services described may contain defects or errors which may cause deviations from published specifications.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
Other names and brands may be claimed as the property of others.
Copyright © 2020–2023, Intel Corporation. All rights reserved.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
2 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
Contents—Intel® Ethernet Controller E810 R

Contents

Revision History..................................................................................................................4

1.0 Introduction................................................................................................................. 5

2.0 How DDP Works............................................................................................................ 6

3.0 Intel® Ethernet 800 Series Improvement over Previous Generations............................8

4.0 DDP Package Definitions and Usage..............................................................................9


4.1 Device Safe Mode (Pre-Boot or Without DDP Package)................................................. 9
4.2 OS-Default Package.............................................................................................. 10
4.3 Driver Load of the OS-Default Package.................................................................... 11
4.3.1 VMware ESXi OS Driver Load of DDP Package............................................... 11
4.3.2 Windows OS Driver Load of DDP Package..................................................... 11
4.3.3 Linux Driver Load of DDP Package............................................................... 12
4.3.4 FreeBSD Driver Load of DDP Package.......................................................... 12
4.3.5 DPDK Driver Load of DDP Package.............................................................. 13
4.3.6 Loading a Specific DDP Package on a Specific 800 Series Network Adapter
in Linux.................................................................................................. 14
4.4 OS-Default Package Protocol Support...................................................................... 15
4.5 Intel® Ethernet Flow Director and RSS Support Using ethtool and DPDK.......................17
4.5.1 Intel® Ethernet Flow Director......................................................................17
4.5.2 Intel® Ethernet Flow Director Filters............................................................ 19
4.5.3 RSS........................................................................................................ 26
4.5.4 DPDK...................................................................................................... 32
5.0 Intel® Ethernet 800 Series Features........................................................................... 33

6.0 DPDK Compatibility..................................................................................................... 36

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 3
Did this document help answer your questions?
R Intel® Ethernet Controller E810—Revision History

Revision History
Revision Date Comments

2.8 February 22, 2023 Updates include the following:


• Updated DDP Comms Package version from 1.3.37.0 to 1.3.40.0.
• Added support for PPPoE v2 header.
• Updated Table, "DPDK Recommended Matching List".

2.7 November 11, 2022 Updates include the following:


• Updated Table, “DPDK Recommended Matching List”.

2.6 July 29, 2022 Updates include the following:


• Updated OS-Default Package version from 1.3.28.0 to 1.3.30.0.
• Updated DDP Comms Package version from 1.3.35.0 to 1.3.37.0.
• Updated Table, “DPDK Recommended Matching List”.

2.5 March 25, 2022 Updates include the following:


• Updated OS-Default Package version from 1.3.27.0 to 1.3.28.0.
• Updated DDP Comms Package version from 1.3.31.0 to 1.3.35.0.
• Updated Table, “DPDK Recommended Matching List”.

2.4 January 6, 2022 Updates include the following:


• Updated OS-Default Package version from 1.3.24.0 to 1.3.27.0.
• Updated DDP Comms Package version from 1.3.28.0 to 1.3.31.0.
• Added Table, “Patterns and Input Sets for iavf Intel® Ethernet Flow Director”.
• Added Table, “Patterns and Input Sets for iavf RSS”.
• Added Section, “Intel® Ethernet 800 Series Features”
• Added Section, “DPDK Compatibility”

2.3 April 1, 2021 Updates include the following:


• Updated OS-Default Package version from 1.3.18.0 to 1.3.24.0.
• Updated DDP Comms Package version from 1.3.22.0 to 1.3.28.0.

2.2 December 15, 2020 Updates include the following:


• Updated OS-Default Package version from 1.3.16.0 to 1.3.18.0.
• Updated DDP Comms Package version from 1.3.20.0 to 1.3.22.0.
• Added Section, “Intel® Ethernet Flow Director and RSS Support Using ethtool and
DPDK”.

2.1 September 24, 2020 Updates include the following:


• Updated OS-Default Package version from 1.3.13.0 to 1.3.16.0.
• Updated DDP Comms Package version from 1.3.17.0 to 1.3.20.0.
• Updated Step 2 in Section, “Loading a Specific DDP Package on a Specific 800 Series
Network Adapter in Linux”.

2.01 July 23, 2020 Initial public release.

Note: 1. There are no previous publicly-available versions of this document.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
4 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
Introduction—Intel® Ethernet Controller E810 R

1.0 Introduction
Intel® Ethernet 800 Series (800 Series) is the next generation of Intel® Ethernet
Controllers and Network Adapters. The Intel® Ethernet 800 Series is designed with an
enhanced programmable pipeline, allowing deeper and more diverse protocol header
processing. This on-chip capability is called Dynamic Device Personalization (DDP).
Unlike the optional DDP solution in the Intel® Ethernet 700 Series (700 Series), the
DDP implementation in the 800 Series is integral to the primary functions of the
network packet processing pipeline. Similar to the 700 Series, enhanced DDP profiles
can be loaded per device for specific capabilities. In the 800 Series, a DDP profile is
loaded dynamically on driver load per device.

A general purpose DDP package is automatically installed with all supported 800
Series drivers on Windows, ESX, FreeBSD, and Linux operating systems, including
those provided by the Data Plane Development Kit (DPDK). This general purpose DDP
package is known as the OS-Default package. Additional DDP packages will be
available to address packet processing needs for specific market segments. For
example, a telecommunications (Comms) DDP package has been developed to support
GTP and PPPoE protocols in addition to the protocols in the OS-Default package. The
Comms DDP package is available with DPDK 19.11 and will also be supported by the
800 Series ice driver on Linux operating systems.

This document describes how the DDP packages are loaded or selected in various
operating systems, the benefits of DDP features, and supported packet types in the
OS-Default DDP package. Also included are examples of DDP in use, including filters
to direct packets to hardware queues.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 5
Did this document help answer your questions?
R Intel® Ethernet Controller E810—How DDP Works

2.0 How DDP Works


The 800 Series on-chip packet processing pipeline is shown in the following figure. The
DDP package programs functionality in both the parser and switch blocks in the
pipeline, allowing dynamic support for new and existing protocols. Each of the
subsequent lookup stages can also be configurable, forming a programmable packet
processing pipeline. This pipeline can then handle packet identification, classification,
and distribution in the network interface rather than in the OS, potentially offloading
CPU cycles. Using this capability together with the 800 Series driver, host software can
create filters to route specific packets to desired hardware queues for better CPU
utilization.

Figure 1. Intel® Ethernet 800 Series On-Chip Packet Processing Pipeline

DDP packages primarily contain static configuration information applied during device
initialization. Furthermore, only one package can be active per device at a time. The
device has a default Non-Volatile Memory (NVM) configuration that provides limited
functionality for the system in pre-boot (before OS boot). During the OS boot process,
the device driver loads the runtime DDP package that provides the more advanced
capabilities of the packet processing pipeline.

The following figure shows the benefits of DDP protocol support by an example of
processing a GTP Ethernet packet with and without the DDP package support for GTP
protocols. With the OS-Default package, which does not have GTP protocol support,
the packet parser can only identify up to the first UDP header information. The result
of identifying a packet as MAC_IPVx_UDP_PAY limits filtering for workload
acceleration.

With GTP protocol support in the enhanced DDP Comms package, the GTP packet is
fully identified (i.e., MAC_IPV4_GTPU_IPVx_TCP/UDP_PAY), enabling hardware
filtering, accelerators, and RSS.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
6 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
How DDP Works—Intel® Ethernet Controller E810 R

Figure 2. Benefits of Protocol Support by Enhanced DDP Package

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 7
Did this document help answer your questions?
R Intel® Ethernet Controller E810—Intel® Ethernet 800 Series Improvement over Previous
Generations

3.0 Intel® Ethernet 800 Series Improvement over


Previous Generations
The 800 Series incorporates many changes in hardware design to enhance packet
processing capability.

The following table shows key enhancements from the 700 Series to the 800 Series.

Table 1. DDP Enhancement Features


Feature 700 Series 800 Series

Maximum Receive Side Scaling (RSS) 64 256


queues per physical function.

VSIs per device 384 768

Maximum unique packet types 192 1024

Intel® Ethernet FD Filters Up to 8K Up to 16K

Maximum packet header processing 256 bytes Up to 504 bytes with up to 16 protocols
depth deep

Custom DDP package loading DPDK or i40e driver using ethtool DPDK or 800 Series driver on startup

OS-Default package loading Default configuration is included as part of DPDK or 800 Series driver on startup
device NVM

Number of protocols supported per One Multiple


DDP package

Different package selected per device Yes Yes

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
8 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

4.0 DDP Package Definitions and Usage


The following figure shows DDP configurations available at different stages of the
system boot process in pre-boot and in OS boot.

In pre-boot or before a DDP package is loaded by an OS driver, an NVM-default


configuration is automatically loaded by firmware. This configuration, referred to as
“safe mode”, supports a minimum set of protocols and allows basic packets handling in
the pre-boot environment, such as PXE boot or UEFI. This NVM-default configuration is
built into the device NVM firmware.

After OS boot, OS-default DDP, market-specific, or custom DDP package can be loaded
by either the 800 Series driver or DPDK Configuration Tools.

Figure 3. Intel® Ethernet 800 Series with Programmable Pipeline via DDP Profiles

4.1 Device Safe Mode (Pre-Boot or Without DDP Package)


In pre-boot or if a DDP package is not loaded by an OS driver, the 800 Series is
configured in safe mode via an NVM-default configuration that is automatically loaded
by firmware. This configuration supports a minimum set of protocols and allows basic
packet handling in the pre-boot environment, such as PXE boot or UEFI.

The device can also be configured in safe mode if the DDP package fails to load due to
a software incompatibility or other issue. If an OS driver loads and cannot load a DDP
package, a message is printed in the system log that the device is now in safe mode.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 9
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

In this safe mode, the driver disables support for the following features:
• Multi-queue
• Virtualization (SR-IOV/VMQ)
• Stateless workload acceleration for tunnel overlays (VxLAN/Geneve)
• RDMA (iWARP/RoCE)
• RSC
• RSS
• DCB /DCBx
• Intel® Ethernet Flow Director
• QinQ
• XDP / AF-XDP
• ADQ

The following table outlines the limited set of protocols supported in safe mode.

Table 2. Safe Mode Supported Protocols and Packet Types


Protocols PTYPEs

MAC MAC_PAY

ETYPE MAC_LLDP

VLAN MAC_ARP

IPv4 MAC_IPV4FRAG

IPv6 MAC_IPV4_PAY

TCP MAC_IPV4_UDP_PAY

UDP MAC_IPV4_TCP

SCTP MAC_IPV4_SCTP

ICMP MAC_IPV4_ICMP

ICMPv6 MAC_IPV6FRAG

LLDP MAC_IPV6_PAY

ARP MAC_IPV6_UDP_PAY

MAC_IPV6_TCP

MAC_IPV6_SCTP

MAC_IPV6_ICMPv6

4.2 OS-Default Package


The OS-Default DDP package is included with the 800 Series base driver. The DDP
package is installed automatically when the driver is installed. It is loaded into the
device during driver initialization in operating system boot. It is recommended to
install the driver on a system running compatible device NVM firmware.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
10 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

4.3 Driver Load of the OS-Default Package

4.3.1 VMware ESXi OS Driver Load of DDP Package


DDP Package Installation/Load

For VMware, the DDP package is compiled into the base driver and requires no
additional installation or configuration for use.

Verifying DDP Package Status on VMware ESXi

The vmkernel.log file in /var/log/vmware/ shows the status of DDP package loading.

2019-11-20T10:49:49.748z cpu10:2098026) icen: icen_LogPkg:1976: 000:04:00.0: The


DDP
package was successfully loaded: ICE OS Default Package version 1.3.30.0.
2019-11-20T10:49:49.860z cpu10:2098026) icen: icen_LogPkg:1976: 000:04:00.1: The
DDP
package was successfully loaded: ICE OS Default Package version 1.3.30.0.

4.3.2 Windows OS Driver Load of DDP Package


DDP Package Installation/Load

For Windows operating systems, the DDP package is compiled into the base driver and
requires no additional installation or configuration for use.

Verifying DDP Package Status on Windows

The status of package loading can be found under the System Logs.

Using the Event Viewer application, the status can be found under:

Event Viewer ➤ Windows Logs ➤ System

with icea as the source log.

Or, the status messages can be found using Powershell:

Get-WinEvent -provider icea | ? Message -like *DDP*

The following is an example of a Windows system event log shows successful loading
of an OS-Default package:

Intel(R) Ethernet Network Adapter E810-C-Q2 #2


The DDP package was successfully loaded: ICE OS Default Package version 1.3.30.0

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 11
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

4.3.3 Linux Driver Load of DDP Package


For Linux-based operating systems, the DDP package is included with the ice Linux
base driver source code.

Out-of-Tree Driver DDP Installation

For the out-of-tree (OOT) driver, the driver installation process automatically installs
ice-x.x.x.x.pkg to the /lib/firmware/updates/intel/ice/ddp directory and creates a
symbolic link to ice.pkg.

Upstream DDP Installation

Upstream ice drivers are supported on kernel.org v5.4 mainline kernel or higher. The
required DDP package (and symbolic link) must be installed separately through
downloading and installing version 20191022 or higher of the linux-firmware package
from the following git repository:

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

DDP Package Driver Load

In either case (out-of-tree or upstream drivers), the ice driver looks for ice.pkg under
the appropriate directory (depending on whether it is upstream or out of tree) and
loads it during driver initialization.

The kernel message log (e.g., dmesg) indicates the status of package loading in the
system. If the driver successfully finds and loads the DDP package, dmesg indicates
that the DDP package is successfully loaded.

Following is an example of a dmesg indicating successful loading of the OS-default


DDP package on a four-port device. The package is loaded by the first Physical
Function (PF), and remaining PFs use the loaded DDP package.

# dmesg | grep -i ddp


ice 0000:82:00.0: The DDP package was successfully loaded: ICE OS Default Package
version 1.3.30.0
ice 0000:82:00.1: DDP package already present on device: ICE OS Default Package
version 1.3.30.0
ice 0000:82:00.2: DDP package already present on device: ICE OS Default Package
version 11.3.30.0
ice 0000:82:00.3: DDP package already present on device: ICE OS Default Package
version 1.3.30.0

4.3.4 FreeBSD Driver Load of DDP Package


For FreeBSD, the package is embedded into a firmware module and loaded by the PF
driver using a native FreeBSD Firmware API for firmware updates. The firmware
module is released with the base driver, and is installed by default with the driver
package with no additional configuration necessary. Dmesg shows the loading status
of the DDP package similar to Linux. The user can also use the sysctl command to
view the loading status and the loaded package version.

# sysctl dev.ice.0.ddp_version
dev.ice.0.ddp_version: ICE OS Default Package version 1.3.30.0

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
12 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

4.3.5 DPDK Driver Load of DDP Package


If the system boots up with corresponding ice Linux base driver, the driver loads the
DDP package as mentioned in the Linux DDP Driver load section. However, if the ice
driver has not loaded a DDP package on the system at the time of the DPDK start,
DPDK requires its own DDP installation process.

DPDK DDP Package Installation

If the DDP package has not been installed and loaded by the ice driver, DPDK requires
a manual DDP package installation.

The user can download the DDP package from the Intel download center and extract
the zip file to obtain the package (.pkg) file.

Similar to the Linux base driver, the DPDK driver looks for intel/ice/ddp/ice.pkg in the
kernel default firmware search path /lib/firmware/updates or /lib/firmware/.

DPDK DDP Package Load

When the DPDK driver loads, it looks for ice.pkg to load in /lib/firmware/intel/ice/ddp/
or /lib/firmware/updates/intel/ice/ddp/. If the file exists and it has not already been
loaded, the driver downloads it into the device.

The kernel message log (e.g., dmesg) indicates the status of package loading in the
system. If the driver successfully finds and loads the DDP package, dmesg indicates
that the DDP package is successfully loaded.

Following is an example of a dmesg indicating successful loading of the Comms DDP


package on a two-port device. The package is loaded by the first Physical Function
(PF), and remaining PFs use the loaded DDP package.

# dmesg | grep -i ddp


ice 0000:3b:00.0: The DDP package was successfully loaded: ICE Comms Package
version 1.3.40.0
ice 0000:3b:00.1: DDP package already present on device: ICE OS Comms Package
version 1.3.40.0

DPDK's testpmd application also indicates the status and version of the loaded DDP
package.

The example shows the testpmd output of a successful Comms package loading.

EAL: PCI device 0000:3b:00.1 on NUMA socket 0


EAL: probe driver: 8086:1592 net_ice
ice_load_pkg_type(): Active package is: 1.3.40.0, ICE COMMS Package

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 13
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

4.3.6 Loading a Specific DDP Package on a Specific 800 Series


Network Adapter in Linux
On a host system running with multiple 800 Series devices, there is sometimes a need
to load a specific DDP package on a selected device while loading a different package
on the remaining devices.

The 800 Series Linux base driver and DPDK driver can both load a specific DDP
package to a selected adapter based on the device's serial number. The driver does
this by looking for a specific symbolic link package filename containing the selected
device's serial number.

The following example illustrates how a user can load a specific package (e.g.,
ice-1.3.40.0.pkg) on the device of Bus 6.
1. Find device serial number.
To view bus, device, and function of all 800 Series Network Adapters in the
system:

# lspci | grep -i Ethernet | grep -i Intel


06:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
QSFP (rev 01)
06:00.1 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
QSFP (rev 01)
82:00.0 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
SFP (rev 01)
82:00.1 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
SFP (rev 01)
82:00.2 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
SFP (rev 01)
82:00.3 Ethernet controller: Intel Corporation Ethernet Controller E810-C for
SFP (rev 01)

Use the lspci command to obtain the selected device serial number:

# lspci -vv -s 06:00.0 | grep -i Serial


Capabilities: [150 v1] Device Serial Number 35-11-a0-ff-ff-ca-05-68

Or, fully parsed without punctuation:

# lspci -vv -s 06:00.0 |grep Serial |awk '{print $7}'|sed s/-//g


3511a0ffffca0568

2. Rename the package file with the device serial number in the name.
Copy the specific package over to /lib/firmware/updates/intel/ice/ddp (or /lib/
firmware/intel/ice/ddp) and create a symbolic link with the serial number linking
to the package, as shown. The specific symbolic link filename starts with “ice-”
followed by the device serial in lower case without dash ('-').

# ln -s /lib/firmware/updates/intel/ice/ddp/ice-1.3.40.0.pkg /lib/firmware/
updates/intel/ice/ddp/ice-3511a0ffffca0568.pkg

Or:

ln -sf /lib/firmware/updates/intel/ice/ddp/ice_comms-1.3.40.0.pkg ice-


e0680bffffb7a640.pkg

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
14 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

Check softlink:

ll ice.pkg
lrwxrwxrwx. 1 root root 58 Sep 10 01:24 ice.pkg -> /lib/firmware/updates/
intel/ice/ddp/ice_comms-1.3.40.0.pkg

3. If using Linux kernel driver (ice), reload the base driver (not required if using only
DPDK driver).

# rmmod ice
# modprobe ice

The driver loads the specific package to the selected device and the OS-Default
package to the remaining 800 Series devices in the system.
4. Verify.
For kernel driver:
Following is an example of successful loading of the specific DDP package on the
selected device of Bus 6 and OS-Default package on the other device of Bus 82:

# dmesg | grep -i "ddp \| safe"


ice 0000:06:00.0: The DDP package was successfully loaded: ICE COMMS Package
version 1.3.40.0
ice 0000:06:00.1: DDP package already present on device: ICE COMMS Package
version 1.3.40.0
ice 0000:82:00.0: The DDP package was successfully loaded: ICE OS Default
Package version 1.3.30.0
ice 0000:82:00.1: DDP package already present on device: ICE OS Default
Package version 1.3.30.0
ice 0000:82:00.2: DDP package already present on device: ICE OS Default
Package version 1.3.30.0
ice 0000:82:00.3: DDP package already present on device: ICE OS Default
Package version 1.3.30.0

If DPDK is used:
Verify using DPDK's testpmd application to indicate the status and version of the
loaded DDP package.

4.4 OS-Default Package Protocol Support


Once the OS-Default package is successfully loaded, the following protocols and
packets are supported, as shown in the following tables.

Table 3. OS-Default DDP Package Supported Protocols


Protocols

MAC TCP CTRL GRE

ETYPE UDP LLDP NVGRE

VLAN SCTP ARP GENEVE

IPv4 ICMP VXLAN-GPE RoCEv2

IPv6 ICMPv6 VXLAN (non-GPE)

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 15
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

Table 4. OS-Default DDP Package Supported Packet Types


PTYPE PTYPE Description PTYPE PTYPE Description

1 MAC_PAY 46 MAC_IPV4_TUN_IPV4_UDP_PAY

2 MAC_PTP 48 MAC_IPV4_TUN_IPV4_TCP

11 MAC_ARP 49 MAC_IPV4_TUN_IPV4_SCTP

278 MAC_CONTROL 50 MAC_IPV4_TUN_IPV4_ICMP

22 MAC_IPV4_FRAG 110 MAC_IPV6_TUN_IPV4_FRAG

23 MAC_IPV4_PAY 111 MAC_IPV6_TUN_IPV4_PAY

24 MAC_IPV4_UDP_PAY 112 MAC_IPV6_TUN_IPV4_UDP_PAY

26 MAC_IPV4_TCP 114 MAC_IPV6_TUN_IPV4_TCP

27 MAC_IPV4_SCTP 115 MAC_IPV6_TUN_IPV4_SCTP

28 MAC_IPV4_ICMP 116 MAC_IPV6_TUN_IPV4_ICMP

88 MAC_IPV6_FRAG 51 MAC_IPV4_TUN_IPV6_FRAG

89 MAC_IPV6_PAY 52 MAC_IPV4_TUN_IPV6_PAY

90 MAC_IPV6_UDP_PAY 53 MAC_IPV4_TUN_IPV6_UDP_PAY

92 MAC_IPV6_TCP 55 MAC_IPV4_TUN_IPV6_TCP

93 MAC_IPV6_SCTP 56 MAC_IPV4_TUN_IPV6_SCTP

94 MAC_IPV6_ICMPV6 57 MAC_IPV4_TUN_IPV6_ICMPV6

29 MAC_IPV4_IPV4_FRAG 117 MAC_IPV6_TUN_IPV6_FRAG

30 MAC_IPV4_IPV4_PAY 118 MAC_IPV6_TUN_IPV6_PAY

31 MAC_IPV4_IPV4_UDP_PAY 119 MAC_IPV6_TUN_IPV6_UDP_PAY

33 MAC_IPV4_IPV4_TCP 121 MAC_IPV6_TUN_IPV6_TCP

34 MAC_IPV4_IPV4_SCTP 122 MAC_IPV6_TUN_IPV6_SCTP

35 MAC_IPV4_IPV4_ICMP 123 MAC_IPV6_TUN_IPV6_ICMPV6

95 MAC_IPV6_IPV4_FRAG 59 MAC_IPV4_TUN_MAC_IPV4_FRAG

96 MAC_IPV6_IPV4_PAY 60 MAC_IPV4_TUN_MAC_IPV4_PAY

97 MAC_IPV6_IPV4_UDP_PA 61 MAC_IPV4_TUN_MAC_IPV4_UDP_PAY

99 MAC_IPV6_IPV4_TCP 63 MAC_IPV4_TUN_MAC_IPV4_TCP

100 MAC_IPV6_IPV4_SCTP 64 MAC_IPV4_TUN_MAC_IPV4_SCTP

101 MAC_IPV6_IPV4_ICMP 65 MAC_IPV4_TUN_MAC_IPV4_ICMP

36 MAC_IPV4_IPV6_FRAG 125 MAC_IPV6_TUN_MAC_IPV4_FRAG

37 MAC_IPV4_IPV6_PAY 126 MAC_IPV6_TUN_MAC_IPV4_PAY

38 MAC_IPV4_IPV6_UDP_PAY 127 MAC_IPV6_TUN_MAC_IPV4_UDP_PAY

40 MAC_IPV4_IPV6_TCP 129 MAC_IPV6_TUN_MAC_IPV4_TCP

41 MAC_IPV4_IPV6_SCTP 130 MAC_IPV6_TUN_MAC_IPV4_SCTP

42 MAC_IPV4_IPV6_ICMPV6 131 MAC_IPV6_TUN_MAC_IPV4_ICMP

102 MAC_IPV6_IPV6_FRAG 66 MAC_IPV4_TUN_MAC_IPV6_FRAG


continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
16 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

PTYPE PTYPE Description PTYPE PTYPE Description

103 MAC_IPV6_IPV6_PAY 67 MAC_IPV4_TUN_MAC_IPV6_PAY

104 MAC_IPV6_IPV6_UDP_PAY 68 MAC_IPV4_TUN_MAC_IPV6_UDP_PAY

106 MAC_IPV6_IPV6_TCP 70 MAC_IPV4_TUN_MAC_IPV6_TCP

107 MAC_IPV6_IPV6_SCTP 71 MAC_IPV4_TUN_MAC_IPV6_SCTP

108 MAC_IPV6_IPV6_ICMPV6 72 MAC_IPV4_TUN_MAC_IPV6_SCTP

43 MAC_IPV4_TUN_PAY 132 MAC_IPV6_TUN_MAC_IPV6_FRAG

58 MAC_IPV4_TUN_MAC_PAY 133 MAC_IPV6_TUN_MAC_IPV6_PAY

109 MAC_IPV6_TUN_PAY 134 MAC_IPV6_TUN_MAC_IPV6_UDP_PAY

124 MAC_IPV6_TUN_MAC_PAY 136 MAC_IPV6_TUN_MAC_IPV6_TCP

44 MAC_IPV4_TUN_IPV4_FRAG 137 MAC_IPV6_TUN_MAC_IPV6_SCTP

45 MAC_IPV4_TUN_IPV4_PAY 138 MAC_IPV6_TUN_MAC_IPV6_ICMPV6

4.5 Intel® Ethernet Flow Director and RSS Support Using


ethtool and DPDK

4.5.1 Intel® Ethernet Flow Director


The Intel® Ethernet Flow Director performs the following tasks:
• Directs receive packets according to their flows to different queues.
• Enables tight control on routing a flow in the platform.
• Matches flows and CPU cores for flow affinity.

NOTE
An included script (set_irq_affinity) automates setting the IRQ to CPU affinity.

This driver supports the following flow types:


• IPv4
• TCPv4
• UDPv4
• SCTPv4
• IPv6
• TCPv6
• UDPv6
• SCTPv6

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 17
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

Table 5. Intel® Ethernet Flow Director Supported Flow Types


Tuple Type Tuple Inputs Supported Flow Types

1 4 Tuple src-ip, dst-ip, src-port, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

2 3 Tuple src-ip, dst-ip, src-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

3 src-ip, dst-ip, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

4 src-ip, src-port, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

5 dst-ip, src-port, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

6 2 Tuple src-ip, dst-ip tcp4, udp4, sctp4, tcp6, udp6, sctp6, ip4, ip6

7 src-ip, src-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

8 src-ip, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

9 dst-ip, src-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

10 dst-ip, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

11 src-port, dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

12 1 Tuple src-ip tcp4, udp4, sctp4, tcp6, udp6, sctp6, ip4, ip6

13 dst-ip tcp4, udp4, sctp4, tcp6, udp6, sctp6, ip4, ip6

14 src-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

15 dst-port tcp4, udp4, sctp4, tcp6, udp6, sctp6

Each flow type supports valid combinations of IP Addresses (source or destination)


and UDP/TCP/SCTP ports (source and destination). You can supply only a source IP
Address, a source IP Address and a destination port, or any combination of one or
more of these four parameters.

NOTES
• This driver allows you to filter traffic based on a user-defined flexible 2-byte
pattern and offset by using the ethtool user-def and mask fields. Only L3 and L4
flow types are supported for user-defined flexible filters. For a given flow type, you
must clear all Intel® Ethernet Flow Director filters before changing the input set
(for that flow type).
• Intel® Ethernet Flow Director filters impact only LAN traffic. RDMA filtering occurs
before Intel® Ethernet Flow Director, so Intel® Ethernet Flow Director filters do not
impact RDMA.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
18 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

The following table summarizes supported Intel® Ethernet Flow Director features
across Intel® Ethernet controller families.

Table 6. Supported Intel® Ethernet Flow Director Features


Feature 500 Series 700 Series 800 Series

VF Flow Director Supported Routing to VF not supported Not supported

IP Address Range Filter Supported Not supported Field masking

IPv6 Support Supported Supported Supported

Configurable Input Set Configured per port Configured globally Configured per port

ATR Supported Supported Not supported

Flex Bye Filter Starts at beginning of packet Starts at beginning of payload Starts at beginning of packet

Tunneled Packets Filter matches outer header Filter matches inner header Filter matches inner header

4.5.2 Intel® Ethernet Flow Director Filters


Intel® Ethernet Flow Director filters are used to direct traffic that matches specified
characteristics. They are enabled through the ethtool ntuple interface.
• To enable or disable the Intel® Ethernet Flow Director and these filters:

# ethtool -K <ethX> ntuple <off|on>

Where:
<ethX> = The Ethernet device to program.

NOTE
When ntuple filters are disabled, all the user-programmed filters are flushed from
the driver cache and hardware. All needed filters must be re-added when ntuple is
re-enabled.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 19
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

• To display all of the active filters:

# ethtool -u <ethX>

Where:
<ethX> = The Ethernet device to program.

• To add a new filter:

# ethtool -U <ethX> flow-type <type> src-ip <ip> [m <ip_mask>] dst-ip <ip> [m


<ip_mask>] src-port <port> [m <port_mask>] dst-port <port> [m <port_mask>]
action <queue>

Where:
<ethX> = The Ethernet device to program.

<type> = Can be ip4, tcp4, udp4, sctp4, ip6, tcp6, udp6, or sctp6.

<ip> = The IP address to match on.

<ip_mask> = The IPv4 address to mask on. (Note: These filters use inverted masks.)

<port> = The port number to match on.

<port_mask> = The 16-bit integer for masking. (Note: These filters use inverted masks.)

<queue> = The queue to direct traffic toward. (-1 discards the matched traffic.)

• To delete a filter:

# ethtool -U <ethX> delete <N>

Where:
<ethX> = The Ethernet device to program.

<N> = The Filter ID displayed when printing all the active filters, and might also have been
specified using “loc <N>” when adding the filter.

EXAMPLES
• To add a filter that directs packet to queue 2:

# ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip 192.168.10.2


src-port 2000 dst-port 2001 action 2 [loc 1]

• To set a filter using only the source and destination IP address:

# ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip 192.168.10.2


action 2 [loc 1]

• To set a filter based on a user-defined pattern and offset:

# ethtool -U <ethX> flow-type tcp4 src-ip 192.168.10.1 dst-ip 192.168.10.2


user-def 0x4FFFF action 2 [loc 1]

Where the value of the user-def field contains the offset (4 bytes) and the pattern
(0xffff).

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
20 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

• To match TCP traffic sent from 192.168.0.1, port 5300, directed to 192.168.0.5,
port 80, and then send it to queue 7:

# ethtool -U enp130s0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.0.5


src-port 5300 dst-port 80 action 7

• To add a TCPv4 filter with a partial mask for a source IP subnet:

# ethtool -U <ethX> flow-type tcp4 src-ip 192.168.0.0 m 0.255.255.255 dst-ip


192.168.5.12 src-port 12600 dst-port 31 action 12

NOTE
For each flow-type, the programmed filters must all have the same matching input
set. For example, issuing the following two commands is acceptable:

# ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7


# ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.5 src-port 55 action 10

Issuing the next two commands, however, is not acceptable, since the first
specifies src-ip and the second specifies dst-ip:

# ethtool -U enp130s0 flow-type ip4 src-ip 192.168.0.1 src-port 5300 action 7


# ethtool -U enp130s0 flow-type ip4 dst-ip 192.168.0.5 src-port 55 action 10

The second command will fail with an error. You may program multiple filters with
the same fields, using different values. However, on one device, you may not
program two tcp4 filters with different matching fields.
The ice driver does not support matching on a sub-portion of a field, thus partial
mask fields are not supported.

Table 7. Patterns and Input Sets for iavf Intel® Ethernet Flow Director
DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth ethertype

eth / ipv4 src_ip | dst_ip | proto | tos | ttl

eth / ipv4 / udp src_ip | dst_ip | proto | tos | ttl


| src_port | dst_port

eth / ipv4 / tcp src_ip | dst_ip | proto | tos | ttl Drop


| src_port | dst_port To Queue
eth / ipv4 / sctp src_ip | dst_ip | proto | tos | ttl To Queue
| src_port | dst_port Group
Flow
eth / ipv6 src_ip | src_dst | next_hdr | tc | Mark
hop_limit

eth / ipv6 / udp src_ip | src_dst | next_hdr | tc |


hop_limit | src_port | dst_port

eth / ipv6 / tcp src_ip | src_dst | next_hdr | tc |


hop_limit | src_port | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 21
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth / ipv6 / sctp src_ip | src_dst | next_hdr | tc |


hop_limit | src_port | dst_port

eth / ipv4 / udp / gtpu outer_src_ip | outer_dst_ip |


teid

eth / ipv4 / udp / gtpu / gtp_psc outer_src_ip | outer_dst_ip |


teid | qfi

eth / ipv6 / udp / gtpu outer_src_ip | outer_dst_ip |


teid

eth / ipv6 / udp / gtpu / gtp_psc outer_src_ip | outer_dst_ip |


teid | qfi

eth / ipv4 / l2tpv3 session_id

eth / ipv4 / esp spi

eth / ipv4 / udp / esp spi | src_ip | dst_ip

eth / ipv4 / ah spi

eth / ipv4 / pfcp s_field

eth / ipv6 / l2tpv3 session_id

eth / ipv6 / esp spi

eth / ipv6 / udp / esp spi


Drop
eth / ipv6 / ah spi To Queue
eth / ipv6 / pfcp s_field To Queue
Group
eth / ecpri proto | pc_id1 Flow
Mark
eth / ipv4 / udp / ecpri proto | pc_id1

eth / ipv4 / gtpu / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gtpu / ipv4 / udp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / ipv4 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / eh / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh / ipv4 / inner: src_ip | dst_ip | src_port


udp | dst_port

eth / ipv4 / gtpu / eh / ipv4 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / eh(0) / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh(0) / ipv4 / inner: src_ip | dst_ip | src_port


udp | dst_port

eth / ipv4 / gtpu / eh(0) / ipv4 / inner: src_ip | dst_ip | src_port


tcp | dst_port

eth / ipv4 / gtpu / eh(1) / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh(1) / ipv4 / inner: src_ip | dst_ip | src_port


udp | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
22 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth / ipv4 / gtpu / eh(1) / ipv4 / inner: src_ip | dst_ip | src_port


tcp | dst_port

eth / ipv4 / gtpu / ipv6 inner: src_ip | dst_ip

eth / ipv4 / gtpu / ipv6 / udp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / ipv6 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / eh / ipv6 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh / ipv6 / inner: src_ip | dst_ip | src_port


udp | dst_port

eth / ipv4 / gtpu / eh / ipv6 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gtpu / eh(0) / ipv6 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh(0) / ipv6 / inner: src_ip | dst_ip | src_port


udp | dst_port

eth / ipv4 / gtpu / eh(0) / ipv6 / inner: src_ip | dst_ip | src_port


tcp | dst_port

eth / ipv4 / gtpu / eh(1) / ipv6 inner: src_ip | dst_ip

eth / ipv4 / gtpu / eh(1) / ipv6 / inner: src_ip | dst_ip | src_port Drop
udp | dst_port To Queue
To Queue
eth / ipv4 / gtpu / eh(1) / ipv6 / inner: src_ip | dst_ip | src_port Group
tcp | dst_port
Flow
Mark
eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip
gtpu / ipv4

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / udp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv4

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / udp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / tcp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / ipv4

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / udp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / tcp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv4
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 23
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / udp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / ipv4

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / udp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / tcp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv4

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / udp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / tcp | dst_port

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / ipv4

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv4 / udp | dst_port
Drop
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port To Queue
gtpu / ipv4 / tcp | dst_port
To Queue
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip Group
gtpu / gtp_psc / ipv4 Flow
Mark
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port
gtpu / gtp_psc / ipv4 / udp | dst_port

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv4 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / ipv6

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / udp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv6

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / udp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / tcp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / ipv6

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / udp | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
24 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / tcp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv6

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / udp | dst_port

eth / ipv4 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / ipv6

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / udp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / ipv6 / tcp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv6

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / udp | dst_port

eth / ipv6 / gre / ipv4 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / tcp | dst_port
Drop
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip To Queue
gtpu / ipv6
To Queue
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port Group
gtpu / ipv6 / udp | dst_port Flow
Mark
eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port
gtpu / ipv6 / tcp | dst_port

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip


gtpu / gtp_psc / ipv6

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / udp | dst_port

eth / ipv6 / gre / ipv6 / udp / inner: src_ip | dst_ip | src_port


gtpu / gtp_psc / ipv6 / tcp | dst_port

eth / ipv4 / gre / ipv4 / udp / teid | src_ip | dst_ip


gtpu

eth / ipv4 / gre / ipv6 / udp / teid | src_ip | dst_ip


gtpu

eth / ipv6 / gre / ipv4 / udp / teid | src_ip | dst_ip


gtpu

eth / ipv6 / gre / ipv6 / udp / teid | src_ip | dst_ip


gtpu

eth / ipv4 / gre / ipv4 / udp / teid | gfi | src_ip | dst_ip


gtpu / gtp_psc

eth / ipv4 / gre / ipv6 / udp / teid | gfi | src_ip | dst_ip


gtpu / gtp_psc
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 25
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP

Pattern Input Set Action GTP


OS
Comms Wireless over
Default
GRE

eth / ipv6 / gre / ipv4 / udp / teid | gfi | src_ip | dst_ip


gtpu / gtp_psc

eth / ipv6 / gre / ipv6 / udp / teid | gfi | src_ip | dst_ip


gtpu / gtp_psc

eth / ipv4 / gre / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gre / ipv4 / udp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gre / ipv4 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv4 / gre / ipv6 inner: src_ip | dst_ip


Drop
eth / ipv4 / gre / ipv6 / udp inner: src_ip | dst_ip | src_port To Queue
| dst_port
To Queue
eth / ipv4 / gre / ipv6 / tcp inner: src_ip | dst_ip | src_port Group
| dst_port Flow
Mark
eth / ipv6 / gre / ipv4 inner: src_ip | dst_ip

eth / ipv6 / gre / ipv4 / udp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv6 / gre / ipv4 / tcp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv6 / gre / ipv6 inner: src_ip | dst_ip

eth / ipv6 / gre / ipv6 / udp inner: src_ip | dst_ip | src_port


| dst_port

eth / ipv6 / gre / ipv6 / tcp inner: src_ip | dst_ip | src_port


| dst_port

Note: 1. Action on eCPRI packets based on the message type field and specifically for message type zero packets based
on the ecpriPcid field.

4.5.2.1 DPDK iavf Intel® Ethernet Flow Director Example Configuration

flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345678 / end
actions
queue index 1 / mark / end

4.5.3 RSS
Packets are sent to different cores for interrupt processing, and then subsequently
forwarded to cores where the consuming process is running.

RSS aims to spread incoming packets across cores while directing packets from
common flows to the same core.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
26 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

Ethtool RSS Hash Flow:

ethtool -N <ethX> rx-flow-hash <type> <option>

Where:
<ethX> = The Ethernet device to program.

<type> = tcp4 — Signifies TCP over IPv4.


udp4 — Signifies UDP over IPv4.
tcp6 — Signifies TCP over IPv6.
udp6 — Signifies UDP over IPv6.

<option> = s — Hash on the IP source address of the Rx packet.


d — Hash on the IP destination address of the Rx packet.
f — Hash on bytes 0 and 1 of the Layer 4 header of the Rx packet.

• To enable RSS Hashing on Source address, Destination address, Source ports and
Destination ports:

ethtool -n <ethX> rx-flow-hash udp4

• Verify that the rule was created and is correct. For unsupported flow-type, the rule
should fail to create.

ethtool -n <ethX>

Table 8. Patterns and Input Sets for iavf RSS


DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv4 src_mac | dst_mac | src_ip | dst_ip


| l3_checksum

eth / ipv4_frag src_mac | dst_mac | src_ip | dst_ip


| packet_id| l3_checksum

eth / ipv4 / udp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port| l3_checksum |
l4_checksum

eth / ipv4 / tcp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port| l3_checksum |
l4_checksum

eth / ipv4 / sctp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port| l3_checksum |
l4_checksum

eth / ipv4 src_mac | dst_mac | vlan | src_ip |


dst_ip

eth / ipv4 / udp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port

eth / ipv4 / tcp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port

eth / ipv4 / sctp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 27
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv6 src_mac | dst_mac | src_ip | dst_ip

eth / ipv6 / ipv6_frag_ext src_mac | dst_mac | src_ip | dst_ip


| packet_id

eth / ipv6 / udp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port | l4_checksum

eth / ipv6 / tcp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port | l4_checksum

eth / ipv6 / sctp src_mac | dst_mac | src_ip | dst_ip


| src_port | dst_port | l4_checksum

eth / ipv6 src_mac | dst_mac | vlan | src_ip |


dst_ip

eth / ipv6 / udp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port

eth / ipv6 / tcp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port |
l4_checksum

eth / ipv6 / sctp src_mac | dst_mac | vlan | src_ip |


dst_ip | src_port | dst_port |
l4_checksum

eth / ipv4 / udp / gtpu / ipv4 teid | inner: src_ip | dst_ip

eth / ipv4 / udp / gtpu / ipv4 / udp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv4 / udp / gtpu / ipv4 / tcp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv6 / udp / gtpu / ipv4 teid | inner: src_ip | dst_ip

eth / ipv6 / udp / gtpu / ipv4 / udp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv6 / udp / gtpu / ipv4 / tcp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip


ipv4

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv4 / udp

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv4 / tcp

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip


ipv4

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv4 / udp

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv4 / tcp

eth / ipv4 / udp / gtpu / ipv6 teid | inner: src_ip | dst_ip

eth / ipv4 / udp / gtpu / ipv6 / udp teid | inner: src_ip | dst_ip |
src_port | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
28 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv4 / udp / gtpu / ipv6 / tcp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv6 / udp / gtpu / ipv6 teid | inner: src_ip | dst_ip

eth / ipv6 / udp / gtpu / ipv6 / udp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv6 / udp / gtpu / ipv6 / tcp teid | inner: src_ip | dst_ip |
src_port | dst_port

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip


ipv6

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv6 / udp

eth / ipv4 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv6 / tcp

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip


ipv6

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv6 / udp

eth / ipv6 / udp / gtpu / gtp_psc / src_ip | dst_ip | src_port | dst_port


ipv6 / tcp

eth / ipv4 / esp spi | src_ip | dst_ip

eth / ipv4 / udp / esp spi | src_ip | dst_ip

eth / ipv4 / ah spi | src_ip | dst_ip

eth / ipv4 / l2tpv3 session_id | src_ip | dst_ip

eth / ipv4 / pfcp seid | src_ip | dst_ip

eth / ipv4 / gtpc teid | src_ip | dst_ip

eth / ipv4 / gtpu teid | outer_src_ip | outer_dst_ip

eth / ipv6 / esp spi | src_ip | dst_ip

eth / ipv6 / udp / esp spi | src_ip | dst_ip

eth / ipv6 / ah spi | src_ip | dst_ip

eth / ipv6 / l2tpv3 session_id | src_ip | dst_ip

eth / ipv6 / pfcp seid | src_ip | dst_ip

eth / ipv6 / gtpc teid | src_ip | dst_ip

eth / ipv6 / gtpu teid | outer_src_ip | outer_dst_ip

eth / ecpri proto | pc_id1

eth / ipv4 / udp / ecpri proto | pc_id1

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv4

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / udp src_port | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 29
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / tcp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv4

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / udp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / tcp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv4

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / udp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / tcp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv4

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / udp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / tcp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv4

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / udp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / tcp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv4

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / udp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / tcp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv4

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / udp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv4 / tcp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv4

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / udp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv4 / tcp src_port | dst_port
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
30 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
DDP Package Definitions and Usage—Intel® Ethernet Controller E810 R

DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv6

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / udp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / tcp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv6

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / udp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / tcp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv6

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / udp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / tcp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv6

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / udp src_port | dst_port

eth / ipv4 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / tcp src_port | dst_port

eth / ipv4 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv6

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / udp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / tcp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv6

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / udp src_port | dst_port

eth / ipv6 / gre / ipv4 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / tcp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
ipv6

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / udp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
ipv6 / tcp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip
gtp_psc / ipv6
continued...

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 31
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DDP Package Definitions and Usage

DDP
Pattern Input Set
OS GTP over
Comms Wireless
Default GRE

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / udp src_port | dst_port

eth / ipv6 / gre / ipv6 / udp / gtpu / teid | inner: src_ip | dst_ip |
gtp_psc / ipv6 / tcp src_port | dst_port

eth / ipv4 / gre / ipv4 inner: src_ip | dst_ip

eth / ipv4 / gre / ipv4 / udp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv4 / gre / ipv4 / tcp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv4 / gre / ipv6 inner: src_ip | dst_ip

eth / ipv4 / gre / ipv6 / udp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv4 / gre / ipv6 / tcp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv6 / gre / ipv4 inner: src_ip | dst_ip

eth / ipv6 / gre / ipv4 / udp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv6 / gre / ipv4 / tcp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv6 / gre / ipv6 inner: src_ip | dst_ip

eth / ipv6 / gre / ipv6 / udp inner: src_ip | dst_ip | src_port |


dst_port

eth / ipv6 / gre / ipv6 / tcp inner: src_ip | dst_ip | src_port |


dst_port

Note: 1. eCPRI header to be used for calculating the RSS hash based on the the message type field and specifically for
message type zero packets based on the ecpriPcid field.

4.5.4 DPDK
Create a rule for the RSS type GTPU and hash l3 src and dst keywords:

testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 /
udp
/ end actions rss types ipv4 end key_len 0 queues end / end

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
32 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
Intel® Ethernet 800 Series Features—Intel® Ethernet Controller E810 R

5.0 Intel® Ethernet 800 Series Features


In the following tables, feature support is denoted as follows:
• 1 = PF Mode
• 2 = VF Mode
• 3 = DCF Mode
• N = No (not supported).
• Y = Yes (supported).
• P = Partial support.
• Red text indicates a change in the level of support from one DPDK version to the
next.

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 33
Did this document help answer your questions?
R Intel® Ethernet Controller E810—Intel® Ethernet 800 Series Features

Table 9. Basic Features

DPDK Version
Feature 19.11 20.05 20.08 20.11 21.02 21.05 21.08 21.11
1 2 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Speed Capabilities Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Link Status Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Link Status Event Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
Rx Interrupt Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Fast mbuf Free Y N P N N P N N P N N P N N P N N P N N P N N
Queue Start/Stop Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Burst Mode Info Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
MTU Update Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Jumbo Frame Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Scattered Rx Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
TSO Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Promiscuous Mode Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Allmulticast Mode Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Static RSS Hash Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
Unicast MAC Filter Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
RSS Hash Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
RSS Key Update Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
RSS reta Update Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
VLAN Filter Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
CRC Offload Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
VLAN Offload Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
QinQ Offload Y N P N N P N N P N N P Y N P Y N P Y N P Y N
L3 Checksum Offload Y Y P P P P P P P P P P P P P P P P P P P P P
L4 Checksum Offload Y Y P P P P P P P P P P P P P P P P P P P P P
Inner L3 Checksum N N P N N P N N P N N P N N P N N P N N P N N
Inner L4 Checksum N N P N N P N N P N N P N N P N N P N N P N N
Packet Type Parsing Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Timesync N N N N N N N N N N N N N N N N N N N N Y N N
Timestamp Offload N N N N N N N N N N N N N N N N N N N N Y N N
Rx Descriptor Status Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Tx Descriptor Status Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Basic Stats Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Extended Stats Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
Firmware Version Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
Module EEPROM Dump Y N Y N N Y N N Y N N Y N N Y N N Y N N Y N N
Multi-Process Aware N Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
BSD nic_uio Y Y Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Linux UIO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Linux VFIO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
x86-32 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
x86-64 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
DPDK iavf support in Windows N N N N N N N N N N N N N N N N N N N N N Y N

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
34 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?
Intel® Ethernet 800 Series Features—Intel® Ethernet Controller E810 R

Table 10. Advanced Features

DPDK Version
Feature 19.11 20.05 20.08 20.11 21.02 21.05 21.08 21.11
1 2 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
RTE-FLOW API Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
Raw Packet RSS N N N N N N N N N N N N N N N N N N N N Y N N
Raw Packet FDIR N N N N N N N N N N N N N N N N N N N N Y N N
Flow Priority Y N Y N N Y N N Y N N Y N N Y N Y Y N Y Y N Y
VxLAN/GRE Y N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
GTPU (EH) Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
PPPOE Y N Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N Y
PFCP N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
ESP/AH N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
L2TPv3 N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
MPLS N N N N N Y N N Y Y N Y Y N Y Y N Y Y N Y Y N
eCPRI N N N N N N N N N N N N Y N N Y N N Y N N Y N
QinQ Filter N N N N N N N N N N N Y N Y Y N Y Y N Y Y N Y
GTPU (5 Tuple Hash) N N N N N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
GTPU (w/o EH) N N N N N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
GTPU TEID Filter N N N Y N N Y N N Y N N Y N N Y N N Y N N Y N
Symmetric Hash N N N N N Y Y N Y Y N Y Y N Y Y N Y Y N Y Y N
Separate Configure for Outer
N N N N N N N N Y Y N Y Y N Y Y N Y Y N Y Y N
IPv4/IPv6 GTPU
IPv6 Prefix Hash N N N N N Y N N Y Y N Y Y N Y Y N Y Y N Y Y N
Flexible Protocol Extraction to
Y N Y N N Y N N Y Y N Y Y N Y Y N Y Y N Y Y N
mbuf
GRE inner filter N N N N N N N N N N N N N N N N N N Y N N Y N
GTP over GRE inner Filter N N N N N N N N N N N N N N N N N N Y N N Y N
L3/L4 Checksum RSS N N N N N N N N N N N N N N N N N N N N Y Y N
PPPoL2TPv2oUDP inner RSS N N N N N N N N N N N N N N N N N N N N Y N N
ETS Based HQoS N N N N N N N N N N N N N N N N N N Y Y N Y Y
1PPS N N N N N N N N N N N N N N N N N N N N Y N N
AVX 512 Basic N N N N N N N N Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
AVX 512 Offload N N N N N N N N N N N N N N Y Y Y Y Y Y Y Y Y
Time sync API (Scalar Path
only) and
N N N N N N N N N N N N N N N N N N N N Y N N
“DEV_RX_OFFLOAD_TIMEST
AMP”
DCF Reset API N N N N N N N N N N N N N N N N N N N N Y N N
Queue Numbers 64 16 64 16 N 64 16 16 64 256 16 64 256 16 64 256 16 64 256 16 64 256 16

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


February 2023 Technology Guide
Doc. No.: 617015, Rev.: 2.8 35
Did this document help answer your questions?
R Intel® Ethernet Controller E810—DPDK Compatibility

6.0 DPDK Compatibility


The following table lists the driver, firmware, and package versions recommended for
use with the supported DPDK version.

Table 11. DPDK Recommended Matching List


DDP
iavf DDP
Software ice Kernel NVM DDP OS Wireless
DPDK Kernel Firmware Comms
Release Driver Version Package Edge
Driver Package
Package

20.05 25.2 1.0.4 4.0.1 2.00 1.4.1.13 1.3.13.0 1.3.17.0 N/A

20.08 25.3 1.1.4 4.0.1 2.10 / 2.12 1.5.1.5/1.5 1.3.16.0 1.3.20.0 N/A
25.4 2.15 / 2.14 .1.9

20.08 / 20.111 25.5 1.21 4.0.1 2.20 / 2.22 1.5.2.8 1.3.18.0 1.3.22.0 N/A

20.111 / 21.02 25.6 1.3.2 4.0.2 2.30 / 2.32 1.5.3.7 1.3.20.0 1.3.24.0 N/A

26.1 1.4.11 4.1.1 2.40 / 2.42 1.5.4.5 1.3.24.0 1.3.28.0 1.3.4.0

21.021 / 21.05 26.3 1.5.8 4.1.1 2.50 / 2.52 1.5.5.6 1.3.26.0 1.3.30.0 1.3.6.0

21.05 / 21.081 / 26.4 1.6.4 / 4.2.7 3.00 / 3.02 1.6.0.6 1.3.26.0 1.3.30.0 1.3.6.0
21.111 1.6.7

21.11 26.8 1.7.16 4.3.19 3.10 / 3.12 1.6.1.9 1.3.27.0 1.3.31.0 1.3.7.0

21.111 / 22.03 27.1 1.8.3 4.4.2 3.20 / 3.22 1.6.2.9 1.3.28.0 1.3.35.0 1.3.8.0

22.03 / 22.071 27.5 1.9.11 4.5.3 4.00 / 4.02 1.7.0.7 1.3.30.0 1.3.37.0 1.3.10.0

22.071 27.7 1.10.1.2 4.6.1 4.10 / 4.12 1.7.1.7 1.3.30.0 1.3.37.0 1.3.10.0

22.07 / 22.11 28.0 1.11.14 4.8.2 4.20/4.22 1.7.2.4 1.3.30.0 1.3.40.0 1.3.10.0

Note: 1. Compatibility testing (basic use case testing including VF).

Intel® Ethernet Controller E810 Dynamic Device Personalization (DDP)


Technology Guide February 2023
36 Doc. No.: 617015, Rev.: 2.8
Did this document help answer your questions?

You might also like