mirror of
https://github.com/opnsense/src.git
synced 2026-02-24 10:20:24 -05:00
This updated DDP is intended to be used with the forthcoming ice(4) driver update to 1.37.7-k. (But it will still work with the current version.) Co-authored-by: Piotr Kubaj <pkubaj@FreeBSD.org> Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 1 week Sponsored by: Intel Corporation
285 lines
9.1 KiB
Text
285 lines
9.1 KiB
Text
OS Default Dynamic Device Personalization (DDP) Package
|
|
======================================================================
|
|
May 12, 2022
|
|
|
|
|
|
Contents
|
|
========
|
|
- Overview
|
|
- Supported Operating Systems
|
|
- Safe Mode
|
|
- Notes
|
|
- Installation
|
|
- Troubleshooting
|
|
- Legal
|
|
|
|
|
|
Overview
|
|
========
|
|
Devices based on the Intel(R) Ethernet 800 Series require a Dynamic Device
|
|
Personalization (DDP) package file to enable advanced features (such as dynamic
|
|
tunneling, Intel(R) Ethernet Flow Director, RSS, and ADQ).
|
|
|
|
DDP allows you to change the packet processing pipeline of a device by applying
|
|
a profile package to the device at runtime. Profiles can be used to, for
|
|
example, add support for new protocols, change existing protocols, or change
|
|
default settings. DDP profiles can also be rolled back without rebooting the
|
|
system.
|
|
|
|
The DDP package loads during device initialization or driver runtime, depending
|
|
on the operating system. The driver checks to see if the DDP package is present
|
|
and compatible. If this file exists, the driver will load it into the device.
|
|
If the DDP package file is missing or incompatible with the driver, the driver
|
|
will go into Safe Mode where it will use the configuration contained in the
|
|
device's NVM. Refer to the Intel(R) Ethernet Adapters and Devices User Guide
|
|
for more information on Safe Mode.
|
|
|
|
A general-purpose, default DDP package is automatically installed with all
|
|
supported Intel Ethernet 800 Series drivers on supported operating systems.
|
|
Additional DDP packages are available to address needs for specific market
|
|
segments or targeted solutions.
|
|
|
|
The default DDP package supports the following:
|
|
- MAC
|
|
- EtherType
|
|
- VLAN
|
|
- IPv4
|
|
- IPv6
|
|
- TCP
|
|
- ARP
|
|
- UDP
|
|
- SCTP
|
|
- ICMP
|
|
- ICMPv6
|
|
- CTRL
|
|
- LLDP
|
|
- VXLAN-GPE
|
|
- VXLAN (non-GPE)
|
|
- Geneve
|
|
- GRE
|
|
- NVGRE
|
|
- RoCEv2
|
|
- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group)
|
|
|
|
|
|
Supported Operating Systems
|
|
===========================
|
|
This DDP package is supported on the following operating systems:
|
|
- Microsoft* Windows Server*
|
|
- Linux*
|
|
- FreeBSD*
|
|
- VMware* ESXi*
|
|
|
|
Refer to the Intel(R) Ethernet Adapters and Devices User Guide for currently
|
|
supported versions of these operating systems.
|
|
|
|
|
|
Safe Mode
|
|
=========
|
|
Safe Mode disables advanced and performance features, and supports only basic
|
|
traffic and minimal functionality, such as updating the NVM or downloading a
|
|
new driver or DDP package.
|
|
|
|
Refer to the Intel(R) Ethernet Adapters and Devices User Guide for more details
|
|
on DDP and Safe Mode.
|
|
|
|
|
|
Notes
|
|
=====
|
|
- In Linux, FreeBSD, and Windows, you cannot update the DDP package if any PF
|
|
drivers are already loaded. To overwrite a package, unload all PFs and then
|
|
reload the driver with the new package.
|
|
|
|
- In ESXi, use esxcli to load and unload DDP packages for specific market
|
|
segments during driver runtime.
|
|
|
|
- In FreeBSD and Windows, you can only use one DDP package per driver, even if
|
|
you have more than one device installed that uses the driver.
|
|
|
|
- In Linux, FreeBSD, and Windows, only the first loaded PF per device can
|
|
download a package for that device. In ESXi, you can load different DDP
|
|
packages for different PFs associated with a device.
|
|
|
|
- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/
|
|
for installation instructions and more information.
|
|
|
|
|
|
Installation
|
|
============
|
|
|
|
Microsoft Windows
|
|
-----------------
|
|
TO INSTALL THE OS DEFAULT DDP PACKAGE:
|
|
|
|
The default DDP package is installed as part of the driver binary. You don't
|
|
need to take additional steps to install the DDP package file.
|
|
|
|
|
|
FreeBSD
|
|
-------
|
|
TO INSTALL THE OS DEFAULT DDP PACKAGE:
|
|
|
|
The FreeBSD driver automatically installs the default DDP package file during
|
|
driver installation. See the base driver README for general installation and
|
|
building instructions.
|
|
|
|
The DDP package loads during device initialization. The driver looks for the
|
|
ice_ddp module and checks that it contains a valid DDP package file.
|
|
|
|
NOTE: It's important to do 'make install' during initial ice driver
|
|
installation so that the driver loads the DDP package automatically.
|
|
|
|
|
|
Linux
|
|
-----
|
|
TO INSTALL THE OS DEFAULT DDP PACKAGE:
|
|
|
|
The Linux driver automatically installs the default DDP package file during
|
|
driver installation. Read the base driver README for general installation and
|
|
building instructions.
|
|
|
|
The DDP package loads during device initialization. The driver looks for
|
|
intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or
|
|
/lib/firmware/updates/) and checks that it contains a valid DDP package file.
|
|
The ice.pkg file is a symbolic link to the default DDP package file installed
|
|
by the linux-firmware software package or the out-of-tree driver installation.
|
|
|
|
|
|
TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS:
|
|
|
|
You can install specific DDP package files for different physical devices in
|
|
the same system. To install a specific DDP package:
|
|
|
|
1. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In
|
|
addition to licensing information and this README, this zip file contains the
|
|
following files:
|
|
ice-x.x.x.x.pkg
|
|
ice.pkg
|
|
|
|
NOTE: The ice.pkg file is a Linux symbolic link file pointing to
|
|
ice-x.x.x.x.pkg (in the same path).
|
|
|
|
2. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where
|
|
'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in
|
|
hex) of the device you want the package downloaded on. The filename must
|
|
include the complete serial number (including leading zeros) and be all
|
|
lowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then
|
|
the file name would be ice-b887a3ffffca0568.pkg.
|
|
|
|
To find the serial number from the PCI bus address, you can use the following
|
|
command:
|
|
|
|
# lspci -vv -s af:00.0 | grep -i Serial
|
|
Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68
|
|
|
|
You can use the following command to format the serial number without the
|
|
dashes:
|
|
|
|
# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g
|
|
b887a3ffffca0568
|
|
|
|
3. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/.
|
|
If the directory does not yet exist, create it before copying the file.
|
|
|
|
4. Unload all of the PFs on the device.
|
|
|
|
5. Reload the driver with the new package.
|
|
|
|
NOTE: The presence of a device-specific DDP package file overrides the loading
|
|
of the default DDP package file.
|
|
|
|
|
|
ESX
|
|
---
|
|
TO INSTALL THE OS DEFAULT DDP PACKAGE:
|
|
|
|
The default DDP package is installed as part of the driver binary. You don't
|
|
need to take additional steps to install the DDP package file.
|
|
|
|
TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS:
|
|
|
|
You must first install the Intel(R) ESXCLI Plug-In for Managing Intel(R)
|
|
Ethernet Network Adapters to be able to install and load market-specific DDP
|
|
packages. Download it from:
|
|
https://www.intel.com/content/www/us/en/download/19380/intel-esxcli-plug-in-for-
|
|
managing-intel-ethernet-network-adapters.html
|
|
|
|
NOTE: ESXi support for DDP packages for specific market segments requires the
|
|
following:
|
|
- OS: ESXi 6.7 or higher
|
|
- Driver: icen 1.9.1.x or higher
|
|
- Tool: intnet 1.8.3.x or higher
|
|
|
|
To install and load this DDP package:
|
|
|
|
1. Download and install the esxcli plug-in from the URL above.
|
|
|
|
2. Download the DDP package.
|
|
|
|
3. Copy the DDP package file to the following location: /store/intel/icen/ddp/.
|
|
If the directory does not yet exist, create it before copying the file.
|
|
|
|
4. From the command prompt, run the following command to load the DDP package:
|
|
|
|
# esxcli intnet ddp load -n <vmnicX> -p <ddp_file_name> -f
|
|
|
|
Where:
|
|
<vmnicX> = the name of the NIC
|
|
<ddp_file_name> = the name of the DDP package to load
|
|
-f = forces the package to load
|
|
|
|
NOTE: This operation will cause the driver to reset.
|
|
|
|
5. Wait for the load result status.
|
|
|
|
|
|
To list all active DDP packages for all virtual NICs, run the following:
|
|
|
|
# esxcli intnet ddp list
|
|
|
|
To unload (roll back) a DDP package, run the following:
|
|
|
|
# esxcli intnet ddp rollback -n <vmnicX> -f
|
|
|
|
NOTE: This operation will cause the driver to reset.
|
|
|
|
|
|
Troubleshooting
|
|
===============
|
|
|
|
Microsoft Windows
|
|
-----------------
|
|
If you encounter issues with the DDP package file, download the latest driver.
|
|
|
|
FreeBSD
|
|
-------
|
|
If you encounter issues with the DDP package file, you may need to download an
|
|
updated driver or ice_ddp module. See the log messages for more information.
|
|
|
|
Linux
|
|
-----
|
|
If you encounter issues with the DDP package file, you may need to download an
|
|
updated driver or DDP package file. Refer to the log messages for more
|
|
information.
|
|
|
|
ESX
|
|
---
|
|
If you encounter issues with the DDP package file, download the latest driver.
|
|
|
|
|
|
Legal / Disclaimers
|
|
===================
|
|
Copyright (c) 2019 - 2022, Intel Corporation.
|
|
|
|
Intel and the Intel logo are trademarks of Intel Corporation or its
|
|
subsidiaries in the U.S. and/or other countries.
|
|
|
|
*Other names and brands may be claimed as the property of others.
|
|
|
|
This software and the related documents are Intel copyrighted materials, and
|
|
your use of them is governed by the express license under which they were
|
|
provided to you ("License"). Unless the License provides otherwise, you may not
|
|
use, modify, copy, publish, distribute, disclose or transmit this software or
|
|
the related documents without Intel's prior written permission.
|
|
This software and the related documents are provided as is, with no express or
|
|
implied warranties, other than those that are expressly stated in the License.
|