git: 2508da22cd6f - main - ice_ddp: Update package to 1.3.30.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Jan 2023 22:21:21 UTC
The branch main has been updated by erj:
URL: https://cgit.FreeBSD.org/src/commit/?id=2508da22cd6f0904fe55d2d5f6cab7c6011f918c
commit 2508da22cd6f0904fe55d2d5f6cab7c6011f918c
Author: Eric Joyner <erj@FreeBSD.org>
AuthorDate: 2023-01-24 22:01:57 +0000
Commit: Eric Joyner <erj@FreeBSD.org>
CommitDate: 2023-01-24 22:19:54 +0000
ice_ddp: Update package to 1.3.30.0
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
---
sys/conf/files.amd64 | 6 +-
sys/conf/files.arm64 | 6 +-
sys/conf/files.powerpc | 12 +-
sys/contrib/dev/ice/README | 168 ++++++++++++++++-----
.../dev/ice/{ice-1.3.27.0.pkg => ice-1.3.30.0.pkg} | Bin 676216 -> 692660 bytes
sys/modules/ice_ddp/Makefile | 2 +-
6 files changed, 142 insertions(+), 52 deletions(-)
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 9d601ba5eee2..f0fba5a88869 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -180,7 +180,7 @@ dev/ice/irdma_if.m optional ice pci \
dev/ice/irdma_di_if.m optional ice pci \
compile-with "${NORMAL_M} -I$S/dev/ice"
ice_ddp.c optional ice_ddp \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031b00 -mice_ddp -c${.TARGET}" \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031e00 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
ice_ddp.fwo optional ice_ddp \
@@ -189,8 +189,8 @@ ice_ddp.fwo optional ice_ddp \
no-implicit-rule \
clean "ice_ddp.fwo"
ice_ddp.fw optional ice_ddp \
- dependency "$S/contrib/dev/ice/ice-1.3.27.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.27.0.pkg ice_ddp.fw" \
+ dependency "$S/contrib/dev/ice/ice-1.3.30.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \
no-obj no-implicit-rule \
clean "ice_ddp.fw"
dev/ioat/ioat.c optional ioat pci
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
index 6c42812fcc42..058f4bfc2c21 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -295,7 +295,7 @@ dev/ice/irdma_if.m optional ice pci \
dev/ice/irdma_di_if.m optional ice pci \
compile-with "${NORMAL_M} -I$S/dev/ice"
ice_ddp.c optional ice_ddp \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031b00 -mice_ddp -c${.TARGET}" \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031e00 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
ice_ddp.fwo optional ice_ddp \
@@ -304,8 +304,8 @@ ice_ddp.fwo optional ice_ddp \
no-implicit-rule \
clean "ice_ddp.fwo"
ice_ddp.fw optional ice_ddp \
- dependency "$S/contrib/dev/ice/ice-1.3.27.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.27.0.pkg ice_ddp.fw" \
+ dependency "$S/contrib/dev/ice/ice-1.3.30.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \
no-obj no-implicit-rule \
clean "ice_ddp.fw"
diff --git a/sys/conf/files.powerpc b/sys/conf/files.powerpc
index 2277468c3c9e..70f4abed8122 100644
--- a/sys/conf/files.powerpc
+++ b/sys/conf/files.powerpc
@@ -84,18 +84,18 @@ dev/ice/irdma_if.m optional ice pci powerpc64 \
compile-with "${NORMAL_M} -I$S/dev/ice"
dev/ice/irdma_di_if.m optional ice pci powerpc64 \
compile-with "${NORMAL_M} -I$S/dev/ice"
-ice_ddp.c optional ice_ddp powerpc64 \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031b00 -mice_ddp -c${.TARGET}" \
+ice_ddp.c optional ice_ddp powerpc64 | ice pci powerpc64le \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031e00 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
-ice_ddp.fwo optional ice_ddp powerpc64 \
+ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \
dependency "ice_ddp.fw" \
compile-with "${NORMAL_FWO}" \
no-implicit-rule \
clean "ice_ddp.fwo"
-ice_ddp.fw optional ice_ddp powerpc64 \
- dependency "$S/contrib/dev/ice/ice-1.3.27.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.27.0.pkg ice_ddp.fw" \
+ice_ddp.fw optional ice_ddp powerpc64 | ice pci powerpc64le \
+ dependency "$S/contrib/dev/ice/ice-1.3.30.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.30.0.pkg ice_ddp.fw" \
no-obj no-implicit-rule \
clean "ice_ddp.fw"
dev/ixl/if_ixl.c optional ixl pci powerpc64 \
diff --git a/sys/contrib/dev/ice/README b/sys/contrib/dev/ice/README
index e6d126d62877..e2ce84d72e71 100644
--- a/sys/contrib/dev/ice/README
+++ b/sys/contrib/dev/ice/README
@@ -1,14 +1,16 @@
-OS Default Dynamic Device Personalization (DDP) Package
+OS Default Dynamic Device Personalization (DDP) Package
======================================================================
-July 7, 2020
+May 12, 2022
Contents
========
- Overview
+- Supported Operating Systems
- Safe Mode
- Notes
-- Installation & Troubleshooting
+- Installation
+- Troubleshooting
- Legal
@@ -16,7 +18,7 @@ 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).
+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
@@ -24,12 +26,13 @@ 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. 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.
+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.
@@ -59,6 +62,18 @@ The default DDP package supports the following:
- 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
@@ -66,45 +81,44 @@ 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.
+on DDP and Safe Mode.
Notes
=====
-- 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 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.
-- Except for Linux, you can only use one DDP package per driver, even if you
-have more than one device installed that uses the driver.
+- 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.
-- Only the first loaded PF per device can download a package for that device.
+- 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 and Troubleshooting
-================================
-
-Microsoft* Windows*
--------------------
-The DDP package is installed as part of the driver binary. You don't need to
-take additional steps to install the DDP package file.
+Installation
+============
-If you encounter issues with the DDP package file, download the latest driver.
-
-
-ESX
----
-The DDP package is installed as part of the driver binary. You don't need to
-take additional steps to install the DDP package file.
+Microsoft Windows
+-----------------
+TO INSTALL THE OS DEFAULT DDP PACKAGE:
-If you encounter issues with the DDP package file, download the latest driver.
+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.
@@ -112,15 +126,14 @@ 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.
-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.
-
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.
@@ -131,9 +144,8 @@ intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or
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.
-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.
+
+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:
@@ -177,9 +189,87 @@ 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 - 2020, Intel Corporation.
+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.
diff --git a/sys/contrib/dev/ice/ice-1.3.27.0.pkg b/sys/contrib/dev/ice/ice-1.3.30.0.pkg
similarity index 79%
rename from sys/contrib/dev/ice/ice-1.3.27.0.pkg
rename to sys/contrib/dev/ice/ice-1.3.30.0.pkg
index 2fcc57d47d5f..454a2a6ea193 100644
Binary files a/sys/contrib/dev/ice/ice-1.3.27.0.pkg and b/sys/contrib/dev/ice/ice-1.3.30.0.pkg differ
diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile
index ef0b064503bb..2735a2ba4da2 100644
--- a/sys/modules/ice_ddp/Makefile
+++ b/sys/modules/ice_ddp/Makefile
@@ -1,6 +1,6 @@
# $FreeBSD$
KMOD= ice_ddp
-FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.27.0.pkg:ice_ddp:0x01031b00
+FIRMWS= ${SRCTOP}/sys/contrib/dev/ice/ice-1.3.30.0.pkg:ice_ddp:0x01031e00
.include <bsd.kmod.mk>