mirror of
https://github.com/opnsense/src.git
synced 2026-04-05 09:25:25 -04:00
This is intended to be used with forthcoming ice(4) driver version 1.34.2. Signed-off-by: Eric Joyner <erj@FreeBSD.org> Sponsored by: Intel Corporation
195 lines
6.8 KiB
Text
195 lines
6.8 KiB
Text
OS Default Dynamic Device Personalization (DDP) Package
|
||
======================================================================
|
||
July 7, 2020
|
||
|
||
|
||
Contents
|
||
========
|
||
- Overview
|
||
- 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. 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)
|
||
|
||
|
||
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
|
||
=====
|
||
- 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.
|
||
|
||
- Only the first loaded PF per device can download a package for that 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.
|
||
|
||
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.
|
||
|
||
If you encounter issues with the DDP package file, download the latest driver.
|
||
|
||
|
||
FreeBSD
|
||
-------
|
||
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.
|
||
|
||
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
|
||
-----
|
||
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
|
||
Legal / Disclaimers
|
||
===================
|
||
Copyright (c) 2019 - 2020, 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.
|