1*2508da22SEric JoynerOS Default Dynamic Device Personalization (DDP) Package 2e438f0a9SEric Joyner====================================================================== 3*2508da22SEric JoynerMay 12, 2022 471d10453SEric Joyner 571d10453SEric Joyner 671d10453SEric JoynerContents 771d10453SEric Joyner======== 871d10453SEric Joyner- Overview 9*2508da22SEric Joyner- Supported Operating Systems 1071d10453SEric Joyner- Safe Mode 1171d10453SEric Joyner- Notes 12*2508da22SEric Joyner- Installation 13*2508da22SEric Joyner- Troubleshooting 1471d10453SEric Joyner- Legal 1571d10453SEric Joyner 1671d10453SEric Joyner 1771d10453SEric JoynerOverview 1871d10453SEric Joyner======== 19e438f0a9SEric JoynerDevices based on the Intel(R) Ethernet 800 Series require a Dynamic Device 20e438f0a9SEric JoynerPersonalization (DDP) package file to enable advanced features (such as dynamic 21*2508da22SEric Joynertunneling, Intel(R) Ethernet Flow Director, RSS, and ADQ). 2271d10453SEric Joyner 2371d10453SEric JoynerDDP allows you to change the packet processing pipeline of a device by applying 2471d10453SEric Joynera profile package to the device at runtime. Profiles can be used to, for 2571d10453SEric Joynerexample, add support for new protocols, change existing protocols, or change 2671d10453SEric Joynerdefault settings. DDP profiles can also be rolled back without rebooting the 2771d10453SEric Joynersystem. 2871d10453SEric Joyner 29*2508da22SEric JoynerThe DDP package loads during device initialization or driver runtime, depending 30*2508da22SEric Joyneron the operating system. The driver checks to see if the DDP package is present 31*2508da22SEric Joynerand compatible. If this file exists, the driver will load it into the device. 32*2508da22SEric JoynerIf the DDP package file is missing or incompatible with the driver, the driver 33*2508da22SEric Joynerwill go into Safe Mode where it will use the configuration contained in the 34*2508da22SEric Joynerdevice's NVM. Refer to the Intel(R) Ethernet Adapters and Devices User Guide 35*2508da22SEric Joynerfor more information on Safe Mode. 3671d10453SEric Joyner 37e438f0a9SEric JoynerA general-purpose, default DDP package is automatically installed with all 38e438f0a9SEric Joynersupported Intel Ethernet 800 Series drivers on supported operating systems. 39e438f0a9SEric JoynerAdditional DDP packages are available to address needs for specific market 40e438f0a9SEric Joynersegments or targeted solutions. 4171d10453SEric Joyner 42e438f0a9SEric JoynerThe default DDP package supports the following: 4371d10453SEric Joyner- MAC 4471d10453SEric Joyner- EtherType 4571d10453SEric Joyner- VLAN 4671d10453SEric Joyner- IPv4 4771d10453SEric Joyner- IPv6 4871d10453SEric Joyner- TCP 4971d10453SEric Joyner- ARP 5071d10453SEric Joyner- UDP 5171d10453SEric Joyner- SCTP 5271d10453SEric Joyner- ICMP 5371d10453SEric Joyner- ICMPv6 5471d10453SEric Joyner- CTRL 5571d10453SEric Joyner- LLDP 5671d10453SEric Joyner- VXLAN-GPE 5771d10453SEric Joyner- VXLAN (non-GPE) 5871d10453SEric Joyner- Geneve 5971d10453SEric Joyner- GRE 6071d10453SEric Joyner- NVGRE 6171d10453SEric Joyner- RoCEv2 621bd641afSEric Joyner- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group) 6371d10453SEric Joyner 6471d10453SEric Joyner 65*2508da22SEric JoynerSupported Operating Systems 66*2508da22SEric Joyner=========================== 67*2508da22SEric JoynerThis DDP package is supported on the following operating systems: 68*2508da22SEric Joyner- Microsoft* Windows Server* 69*2508da22SEric Joyner- Linux* 70*2508da22SEric Joyner- FreeBSD* 71*2508da22SEric Joyner- VMware* ESXi* 72*2508da22SEric Joyner 73*2508da22SEric JoynerRefer to the Intel(R) Ethernet Adapters and Devices User Guide for currently 74*2508da22SEric Joynersupported versions of these operating systems. 75*2508da22SEric Joyner 76*2508da22SEric Joyner 7771d10453SEric JoynerSafe Mode 7871d10453SEric Joyner========= 7971d10453SEric JoynerSafe Mode disables advanced and performance features, and supports only basic 8071d10453SEric Joynertraffic and minimal functionality, such as updating the NVM or downloading a 8171d10453SEric Joynernew driver or DDP package. 8271d10453SEric Joyner 83e438f0a9SEric JoynerRefer to the Intel(R) Ethernet Adapters and Devices User Guide for more details 84*2508da22SEric Joyneron DDP and Safe Mode. 8571d10453SEric Joyner 8671d10453SEric Joyner 8771d10453SEric JoynerNotes 8871d10453SEric Joyner===== 89*2508da22SEric Joyner- In Linux, FreeBSD, and Windows, you cannot update the DDP package if any PF 90*2508da22SEric Joynerdrivers are already loaded. To overwrite a package, unload all PFs and then 91*2508da22SEric Joynerreload the driver with the new package. 9271d10453SEric Joyner 93*2508da22SEric Joyner- In ESXi, use esxcli to load and unload DDP packages for specific market 94*2508da22SEric Joynersegments during driver runtime. 9571d10453SEric Joyner 96*2508da22SEric Joyner- In FreeBSD and Windows, you can only use one DDP package per driver, even if 97*2508da22SEric Joyneryou have more than one device installed that uses the driver. 98*2508da22SEric Joyner 99*2508da22SEric Joyner- In Linux, FreeBSD, and Windows, only the first loaded PF per device can 100*2508da22SEric Joynerdownload a package for that device. In ESXi, you can load different DDP 101*2508da22SEric Joynerpackages for different PFs associated with a device. 10271d10453SEric Joyner 10371d10453SEric Joyner- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ 10471d10453SEric Joynerfor installation instructions and more information. 10571d10453SEric Joyner 10671d10453SEric Joyner 107*2508da22SEric JoynerInstallation 108*2508da22SEric Joyner============ 10971d10453SEric Joyner 110*2508da22SEric JoynerMicrosoft Windows 111*2508da22SEric Joyner----------------- 112*2508da22SEric JoynerTO INSTALL THE OS DEFAULT DDP PACKAGE: 11371d10453SEric Joyner 114*2508da22SEric JoynerThe default DDP package is installed as part of the driver binary. You don't 115*2508da22SEric Joynerneed to take additional steps to install the DDP package file. 11671d10453SEric Joyner 11771d10453SEric Joyner 11871d10453SEric JoynerFreeBSD 11971d10453SEric Joyner------- 120*2508da22SEric JoynerTO INSTALL THE OS DEFAULT DDP PACKAGE: 121*2508da22SEric Joyner 12271d10453SEric JoynerThe FreeBSD driver automatically installs the default DDP package file during 123e438f0a9SEric Joynerdriver installation. See the base driver README for general installation and 12471d10453SEric Joynerbuilding instructions. 12571d10453SEric Joyner 12671d10453SEric JoynerThe DDP package loads during device initialization. The driver looks for the 12771d10453SEric Joynerice_ddp module and checks that it contains a valid DDP package file. 12871d10453SEric Joyner 12971d10453SEric JoynerNOTE: It's important to do 'make install' during initial ice driver 13071d10453SEric Joynerinstallation so that the driver loads the DDP package automatically. 13171d10453SEric Joyner 13271d10453SEric Joyner 13371d10453SEric JoynerLinux 13471d10453SEric Joyner----- 135*2508da22SEric JoynerTO INSTALL THE OS DEFAULT DDP PACKAGE: 136*2508da22SEric Joyner 13771d10453SEric JoynerThe Linux driver automatically installs the default DDP package file during 138e438f0a9SEric Joynerdriver installation. Read the base driver README for general installation and 13971d10453SEric Joynerbuilding instructions. 14071d10453SEric Joyner 14171d10453SEric JoynerThe DDP package loads during device initialization. The driver looks for 14271d10453SEric Joynerintel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or 14371d10453SEric Joyner/lib/firmware/updates/) and checks that it contains a valid DDP package file. 14471d10453SEric JoynerThe ice.pkg file is a symbolic link to the default DDP package file installed 145e438f0a9SEric Joynerby the linux-firmware software package or the out-of-tree driver installation. 14671d10453SEric Joyner 147*2508da22SEric Joyner 148*2508da22SEric JoynerTO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: 14971d10453SEric Joyner 15071d10453SEric JoynerYou can install specific DDP package files for different physical devices in 15171d10453SEric Joynerthe same system. To install a specific DDP package: 15271d10453SEric Joyner 15371d10453SEric Joyner1. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In 15471d10453SEric Joyneraddition to licensing information and this README, this zip file contains the 15571d10453SEric Joynerfollowing files: 15671d10453SEric Joyner ice-x.x.x.x.pkg 15771d10453SEric Joyner ice.pkg 15871d10453SEric Joyner 15971d10453SEric JoynerNOTE: The ice.pkg file is a Linux symbolic link file pointing to 16071d10453SEric Joynerice-x.x.x.x.pkg (in the same path). 16171d10453SEric Joyner 16271d10453SEric Joyner2. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where 16371d10453SEric Joyner'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in 16471d10453SEric Joynerhex) of the device you want the package downloaded on. The filename must 16571d10453SEric Joynerinclude the complete serial number (including leading zeros) and be all 16671d10453SEric Joynerlowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then 16771d10453SEric Joynerthe file name would be ice-b887a3ffffca0568.pkg. 16871d10453SEric Joyner 16971d10453SEric JoynerTo find the serial number from the PCI bus address, you can use the following 17071d10453SEric Joynercommand: 17171d10453SEric Joyner 17271d10453SEric Joyner# lspci -vv -s af:00.0 | grep -i Serial 17371d10453SEric JoynerCapabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 17471d10453SEric Joyner 17571d10453SEric JoynerYou can use the following command to format the serial number without the 17671d10453SEric Joynerdashes: 17771d10453SEric Joyner 17871d10453SEric Joyner# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g 17971d10453SEric Joynerb887a3ffffca0568 18071d10453SEric Joyner 18171d10453SEric Joyner3. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. 18271d10453SEric JoynerIf the directory does not yet exist, create it before copying the file. 18371d10453SEric Joyner 18471d10453SEric Joyner4. Unload all of the PFs on the device. 18571d10453SEric Joyner 18671d10453SEric Joyner5. Reload the driver with the new package. 18771d10453SEric Joyner 18871d10453SEric JoynerNOTE: The presence of a device-specific DDP package file overrides the loading 189e438f0a9SEric Joynerof the default DDP package file. 19071d10453SEric Joyner 19171d10453SEric Joyner 192*2508da22SEric JoynerESX 193*2508da22SEric Joyner--- 194*2508da22SEric JoynerTO INSTALL THE OS DEFAULT DDP PACKAGE: 195*2508da22SEric Joyner 196*2508da22SEric JoynerThe default DDP package is installed as part of the driver binary. You don't 197*2508da22SEric Joynerneed to take additional steps to install the DDP package file. 198*2508da22SEric Joyner 199*2508da22SEric JoynerTO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: 200*2508da22SEric Joyner 201*2508da22SEric JoynerYou must first install the Intel(R) ESXCLI Plug-In for Managing Intel(R) 202*2508da22SEric JoynerEthernet Network Adapters to be able to install and load market-specific DDP 203*2508da22SEric Joynerpackages. Download it from: 204*2508da22SEric Joynerhttps://www.intel.com/content/www/us/en/download/19380/intel-esxcli-plug-in-for- 205*2508da22SEric Joynermanaging-intel-ethernet-network-adapters.html 206*2508da22SEric Joyner 207*2508da22SEric JoynerNOTE: ESXi support for DDP packages for specific market segments requires the 208*2508da22SEric Joynerfollowing: 209*2508da22SEric Joyner- OS: ESXi 6.7 or higher 210*2508da22SEric Joyner- Driver: icen 1.9.1.x or higher 211*2508da22SEric Joyner- Tool: intnet 1.8.3.x or higher 212*2508da22SEric Joyner 213*2508da22SEric JoynerTo install and load this DDP package: 214*2508da22SEric Joyner 215*2508da22SEric Joyner1. Download and install the esxcli plug-in from the URL above. 216*2508da22SEric Joyner 217*2508da22SEric Joyner2. Download the DDP package. 218*2508da22SEric Joyner 219*2508da22SEric Joyner3. Copy the DDP package file to the following location: /store/intel/icen/ddp/. 220*2508da22SEric Joyner If the directory does not yet exist, create it before copying the file. 221*2508da22SEric Joyner 222*2508da22SEric Joyner4. From the command prompt, run the following command to load the DDP package: 223*2508da22SEric Joyner 224*2508da22SEric Joyner # esxcli intnet ddp load -n <vmnicX> -p <ddp_file_name> -f 225*2508da22SEric Joyner 226*2508da22SEric Joyner Where: 227*2508da22SEric Joyner <vmnicX> = the name of the NIC 228*2508da22SEric Joyner <ddp_file_name> = the name of the DDP package to load 229*2508da22SEric Joyner -f = forces the package to load 230*2508da22SEric Joyner 231*2508da22SEric Joyner NOTE: This operation will cause the driver to reset. 232*2508da22SEric Joyner 233*2508da22SEric Joyner5. Wait for the load result status. 234*2508da22SEric Joyner 235*2508da22SEric Joyner 236*2508da22SEric JoynerTo list all active DDP packages for all virtual NICs, run the following: 237*2508da22SEric Joyner 238*2508da22SEric Joyner# esxcli intnet ddp list 239*2508da22SEric Joyner 240*2508da22SEric JoynerTo unload (roll back) a DDP package, run the following: 241*2508da22SEric Joyner 242*2508da22SEric Joyner# esxcli intnet ddp rollback -n <vmnicX> -f 243*2508da22SEric Joyner 244*2508da22SEric JoynerNOTE: This operation will cause the driver to reset. 245*2508da22SEric Joyner 246*2508da22SEric Joyner 247*2508da22SEric JoynerTroubleshooting 248*2508da22SEric Joyner=============== 249*2508da22SEric Joyner 250*2508da22SEric JoynerMicrosoft Windows 251*2508da22SEric Joyner----------------- 252*2508da22SEric JoynerIf you encounter issues with the DDP package file, download the latest driver. 253*2508da22SEric Joyner 254*2508da22SEric JoynerFreeBSD 255*2508da22SEric Joyner------- 256*2508da22SEric JoynerIf you encounter issues with the DDP package file, you may need to download an 257*2508da22SEric Joynerupdated driver or ice_ddp module. See the log messages for more information. 258*2508da22SEric Joyner 259*2508da22SEric JoynerLinux 260*2508da22SEric Joyner----- 261*2508da22SEric JoynerIf you encounter issues with the DDP package file, you may need to download an 262*2508da22SEric Joynerupdated driver or DDP package file. Refer to the log messages for more 263*2508da22SEric Joynerinformation. 264*2508da22SEric Joyner 265*2508da22SEric JoynerESX 266*2508da22SEric Joyner--- 267*2508da22SEric JoynerIf you encounter issues with the DDP package file, download the latest driver. 268*2508da22SEric Joyner 269*2508da22SEric Joyner 27071d10453SEric JoynerLegal / Disclaimers 27171d10453SEric Joyner=================== 272*2508da22SEric JoynerCopyright (c) 2019 - 2022, Intel Corporation. 27371d10453SEric Joyner 27471d10453SEric JoynerIntel and the Intel logo are trademarks of Intel Corporation or its 27571d10453SEric Joynersubsidiaries in the U.S. and/or other countries. 27671d10453SEric Joyner 27771d10453SEric Joyner*Other names and brands may be claimed as the property of others. 27871d10453SEric Joyner 27971d10453SEric JoynerThis software and the related documents are Intel copyrighted materials, and 28071d10453SEric Joyneryour use of them is governed by the express license under which they were 28171d10453SEric Joynerprovided to you ("License"). Unless the License provides otherwise, you may not 28271d10453SEric Joyneruse, modify, copy, publish, distribute, disclose or transmit this software or 28371d10453SEric Joynerthe related documents without Intel's prior written permission. 28471d10453SEric JoynerThis software and the related documents are provided as is, with no express or 28571d10453SEric Joynerimplied warranties, other than those that are expressly stated in the License. 286