aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Joyner <erj@FreeBSD.org>2023-01-24 22:01:57 +0000
committerEric Joyner <erj@FreeBSD.org>2023-02-21 23:55:14 +0000
commite8046d1cc4b93ed844b75524f80f94bcd88f2c14 (patch)
treec6a6c5f1290e8a2c3edb252cac49af252080cbe1
parenta8c86b2e05ca703b3975134bf74f852a1a7aaf21 (diff)
downloadsrc-e8046d1cc4b93ed844b75524f80f94bcd88f2c14.tar.gz
src-e8046d1cc4b93ed844b75524f80f94bcd88f2c14.zip
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> Approved by: re (cperciva) Sponsored by: Intel Corporation (cherry picked from commit 2508da22cd6f0904fe55d2d5f6cab7c6011f918c) (cherry picked from commit cd280c60a5b85875b8aeff8d522793914e60d19d)
-rw-r--r--sys/conf/files.amd646
-rw-r--r--sys/conf/files.arm646
-rw-r--r--sys/conf/files.powerpc12
-rw-r--r--sys/contrib/dev/ice/README168
-rw-r--r--sys/contrib/dev/ice/ice-1.3.30.0.pkg (renamed from sys/contrib/dev/ice/ice-1.3.27.0.pkg)bin676216 -> 692660 bytes
-rw-r--r--sys/modules/ice_ddp/Makefile2
6 files changed, 142 insertions, 52 deletions
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index d8f7a1837f6a..464c7af84bfa 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -206,7 +206,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 \
@@ -215,8 +215,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 563d62859258..88cb483f178f 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -236,7 +236,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 \
@@ -245,8 +245,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 889310c0afaa..c01e0e81ab1a 100644
--- a/sys/conf/files.powerpc
+++ b/sys/conf/files.powerpc
@@ -80,18 +80,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
index 2fcc57d47d5f..454a2a6ea193 100644
--- a/sys/contrib/dev/ice/ice-1.3.27.0.pkg
+++ b/sys/contrib/dev/ice/ice-1.3.30.0.pkg
Binary files 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>