aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Joyner <erj@FreeBSD.org>2024-10-28 22:48:47 +0000
committerEric Joyner <erj@FreeBSD.org>2024-10-28 22:55:25 +0000
commitf9a039060e834e89e0b2de1e8a442d78bd5c083d (patch)
tree602a537ce727e48025cdb24a302e13ab59e1beb8
parent73979b7f0bac44a9b647c872ade17f4f7021a5e4 (diff)
downloadsrc-f9a039060e83.tar.gz
src-f9a039060e83.zip
ice_ddp: Update to 1.3.41.0
Primarily adds support for E830 devices, unlocking all of their functionality. As well, update the README and remove the non-FreeBSD sections from it. Signed-off-by: Eric Joyner <erj@FreeBSD.org> MFC after: 2 days Sponsored by: Intel Corporation
-rw-r--r--sys/conf/files.amd646
-rw-r--r--sys/conf/files.arm646
-rw-r--r--sys/conf/files.powerpc6
-rw-r--r--sys/contrib/dev/ice/README330
-rw-r--r--sys/contrib/dev/ice/ice-1.3.41.0.pkg (renamed from sys/contrib/dev/ice/ice-1.3.36.0.pkg)bin692776 -> 1352580 bytes
-rw-r--r--sys/modules/ice_ddp/Makefile2
6 files changed, 133 insertions, 217 deletions
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 19a16d42043f..0584fc29d039 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -192,7 +192,7 @@ dev/ice/irdma_di_if.m optional ice pci \
dev/ice/ice_ddp_common.c optional ice pci \
compile-with "${NORMAL_C} -I$S/dev/ice"
ice_ddp.c optional ice_ddp \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
ice_ddp.fwo optional ice_ddp \
@@ -201,8 +201,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.36.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \
+ dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.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 1ed7b57627b4..a1e73e593a99 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -365,7 +365,7 @@ dev/ice/irdma_di_if.m optional ice pci \
dev/ice/ice_ddp_common.c optional ice pci \
compile-with "${NORMAL_C} -I$S/dev/ice"
ice_ddp.c optional ice_ddp \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
ice_ddp.fwo optional ice_ddp \
@@ -374,8 +374,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.36.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \
+ dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.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 96e891577917..314931ed0939 100644
--- a/sys/conf/files.powerpc
+++ b/sys/conf/files.powerpc
@@ -138,7 +138,7 @@ dev/ice/irdma_di_if.m optional ice pci powerpc64 | ice pci powerpc64le \
dev/ice/ice_ddp_common.c optional ice pci powerpc64 | ice pci powerpc64le \
compile-with "${NORMAL_C} -I$S/dev/ice"
ice_ddp.c optional ice_ddp powerpc64 | ice pci powerpc64le \
- compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032400 -mice_ddp -c${.TARGET}" \
+ compile-with "${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01032900 -mice_ddp -c${.TARGET}" \
no-ctfconvert no-implicit-rule before-depend local \
clean "ice_ddp.c"
ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \
@@ -147,8 +147,8 @@ ice_ddp.fwo optional ice_ddp powerpc64 | ice pci powerpc64le \
no-implicit-rule \
clean "ice_ddp.fwo"
ice_ddp.fw optional ice_ddp powerpc64 | ice pci powerpc64le \
- dependency "$S/contrib/dev/ice/ice-1.3.36.0.pkg" \
- compile-with "${CP} $S/contrib/dev/ice/ice-1.3.36.0.pkg ice_ddp.fw" \
+ dependency "$S/contrib/dev/ice/ice-1.3.41.0.pkg" \
+ compile-with "${CP} $S/contrib/dev/ice/ice-1.3.41.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 e2ce84d72e71..c0840ecb499f 100644
--- a/sys/contrib/dev/ice/README
+++ b/sys/contrib/dev/ice/README
@@ -1,285 +1,201 @@
OS Default Dynamic Device Personalization (DDP) Package
-======================================================================
-May 12, 2022
+*******************************************************
+August 09, 2024
-Contents
-========
-- Overview
-- Supported Operating Systems
-- Safe Mode
-- Notes
-- Installation
-- Troubleshooting
-- Legal
+Contents
+^^^^^^^^
-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)
+* OS Default Dynamic Device Personalization (DDP) Package
+ * Overview
-Supported Operating Systems
-===========================
-This DDP package is supported on the following operating systems:
-- Microsoft* Windows Server*
-- Linux*
-- FreeBSD*
-- VMware* ESXi*
+ * Supported Operating Systems
-Refer to the Intel(R) Ethernet Adapters and Devices User Guide for currently
-supported versions of these operating systems.
+ * Contents of This Package
+ * Related Documentation
-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.
+ * Notes
-Refer to the Intel(R) Ethernet Adapters and Devices User Guide for more details
-on DDP and Safe Mode.
+ * Installation
+ * Troubleshooting
-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.
+ * Legal / Disclaimers
-- 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.
+Overview
+========
-- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/
-for installation instructions and more information.
+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.
-Installation
-============
+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.
-Microsoft Windows
------------------
-TO INSTALL THE OS DEFAULT DDP PACKAGE:
+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.
-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.
+Refer to the Intel(R) Ethernet Adapters and Devices User Guide for
+more details on DDP and 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.
-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.
+The default DDP package supports the following:
-NOTE: It's important to do 'make install' during initial ice driver
-installation so that the driver loads the DDP package automatically.
+* MAC
+* EtherType
-Linux
------
-TO INSTALL THE OS DEFAULT DDP PACKAGE:
+* VLAN
-The Linux driver automatically installs the default DDP package file during
-driver installation. Read the base driver README for general installation and
-building instructions.
+* IPv4
-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.
+* IPv6
+* TCP
-TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS:
+* ARP
-You can install specific DDP package files for different physical devices in
-the same system. To install a specific DDP package:
+* UDP
-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
+* SCTP
-NOTE: The ice.pkg file is a Linux symbolic link file pointing to
-ice-x.x.x.x.pkg (in the same path).
+* ICMP
-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.
+* ICMPv6
-To find the serial number from the PCI bus address, you can use the following
-command:
+* CTRL
-# lspci -vv -s af:00.0 | grep -i Serial
-Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68
+* LLDP
-You can use the following command to format the serial number without the
-dashes:
+* VXLAN-GPE
-# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g
-b887a3ffffca0568
+* VXLAN (non-GPE)
-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.
+* Geneve
-4. Unload all of the PFs on the device.
+* GRE
-5. Reload the driver with the new package.
+* NVGRE
-NOTE: The presence of a device-specific DDP package file overrides the loading
-of the default DDP package file.
+* RoCEv2
+* MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2
+ header group)
-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.
+Supported Operating Systems
+===========================
-TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS:
+This DDP package is supported on the following operating systems:
-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
+* Microsoft* Windows Server*
-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
+* Linux*
-To install and load this DDP package:
+* FreeBSD*
-1. Download and install the esxcli plug-in from the URL above.
+* VMware* ESXi*
-2. Download the DDP package.
+Refer to the Intel(R) Ethernet Adapters and Devices User Guide for
+currently supported versions of these operating systems.
-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:
+Related Documentation
+=====================
- # esxcli intnet ddp load -n <vmnicX> -p <ddp_file_name> -f
+See the "Intel(R) Ethernet Adapters and Devices User Guide" for
+additional information on features:
- Where:
- <vmnicX> = the name of the NIC
- <ddp_file_name> = the name of the DDP package to load
- -f = forces the package to load
+* https://cdrdv2.intel.com/v1/dl/getContent/705831/
- NOTE: This operation will cause the driver to reset.
+Additionally, a detailed technology guide is available for this DDP
+package:
-5. Wait for the load result status.
+* https://cdrdv2.intel.com/v1/dl/getContent/617015
-To list all active DDP packages for all virtual NICs, run the following:
+Notes
+=====
-# esxcli intnet ddp list
+* 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.
-To unload (roll back) a DDP package, run the following:
+* 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.
-# esxcli intnet ddp rollback -n <vmnicX> -f
+* 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.
-NOTE: This operation will cause the driver to reset.
+* If you are using DPDK, see the DPDK documentation at
+ https://www.dpdk.org/ for installation instructions and more
+ information.
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.
+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.
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.
+Copyright (c) 2019 - 2024, Intel Corporation.
+
+Intel technologies may require enabled hardware, software or service
+activation.
+
+No product or component can be absolutely secure.
+
+Your costs and results may vary.
+
+Intel, the Intel logo, and other Intel marks are trademarks of Intel
+Corporation or its subsidiaries. Other names and brands may be
+claimed as the property of others.
+
+Performance varies by use, configuration, and other factors. Learn
+more at https://www.Intel.com/PerformanceIndex.
+
+The products described may contain design defects or errors known as
+errata which may cause the product to deviate from published
+specifications. Current characterized errata are available on request.
-*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 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.
+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.
diff --git a/sys/contrib/dev/ice/ice-1.3.36.0.pkg b/sys/contrib/dev/ice/ice-1.3.41.0.pkg
index ce5dbf41f557..71e75a5d7836 100644
--- a/sys/contrib/dev/ice/ice-1.3.36.0.pkg
+++ b/sys/contrib/dev/ice/ice-1.3.41.0.pkg
Binary files differ
diff --git a/sys/modules/ice_ddp/Makefile b/sys/modules/ice_ddp/Makefile
index bacf95365c82..52cc1c4a2360 100644
--- a/sys/modules/ice_ddp/Makefile
+++ b/sys/modules/ice_ddp/Makefile
@@ -1,6 +1,6 @@
.PATH: ${SRCTOP}/sys/contrib/dev/ice
KMOD= ice_ddp
-FIRMWS= ice-1.3.36.0.pkg:ice_ddp:0x01032400
+FIRMWS= ice-1.3.41.0.pkg:ice_ddp:0x01032900
.include <bsd.kmod.mk>