1OS Default Dynamic Device Personalization (DDP) Package 2====================================================================== 3May 12, 2022 4 5 6Contents 7======== 8- Overview 9- Supported Operating Systems 10- Safe Mode 11- Notes 12- Installation 13- Troubleshooting 14- Legal 15 16 17Overview 18======== 19Devices based on the Intel(R) Ethernet 800 Series require a Dynamic Device 20Personalization (DDP) package file to enable advanced features (such as dynamic 21tunneling, Intel(R) Ethernet Flow Director, RSS, and ADQ). 22 23DDP allows you to change the packet processing pipeline of a device by applying 24a profile package to the device at runtime. Profiles can be used to, for 25example, add support for new protocols, change existing protocols, or change 26default settings. DDP profiles can also be rolled back without rebooting the 27system. 28 29The DDP package loads during device initialization or driver runtime, depending 30on the operating system. The driver checks to see if the DDP package is present 31and compatible. If this file exists, the driver will load it into the device. 32If the DDP package file is missing or incompatible with the driver, the driver 33will go into Safe Mode where it will use the configuration contained in the 34device's NVM. Refer to the Intel(R) Ethernet Adapters and Devices User Guide 35for more information on Safe Mode. 36 37A general-purpose, default DDP package is automatically installed with all 38supported Intel Ethernet 800 Series drivers on supported operating systems. 39Additional DDP packages are available to address needs for specific market 40segments or targeted solutions. 41 42The default DDP package supports the following: 43- MAC 44- EtherType 45- VLAN 46- IPv4 47- IPv6 48- TCP 49- ARP 50- UDP 51- SCTP 52- ICMP 53- ICMPv6 54- CTRL 55- LLDP 56- VXLAN-GPE 57- VXLAN (non-GPE) 58- Geneve 59- GRE 60- NVGRE 61- RoCEv2 62- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group) 63 64 65Supported Operating Systems 66=========================== 67This DDP package is supported on the following operating systems: 68- Microsoft* Windows Server* 69- Linux* 70- FreeBSD* 71- VMware* ESXi* 72 73Refer to the Intel(R) Ethernet Adapters and Devices User Guide for currently 74supported versions of these operating systems. 75 76 77Safe Mode 78========= 79Safe Mode disables advanced and performance features, and supports only basic 80traffic and minimal functionality, such as updating the NVM or downloading a 81new driver or DDP package. 82 83Refer to the Intel(R) Ethernet Adapters and Devices User Guide for more details 84on DDP and Safe Mode. 85 86 87Notes 88===== 89- In Linux, FreeBSD, and Windows, you cannot update the DDP package if any PF 90drivers are already loaded. To overwrite a package, unload all PFs and then 91reload the driver with the new package. 92 93- In ESXi, use esxcli to load and unload DDP packages for specific market 94segments during driver runtime. 95 96- In FreeBSD and Windows, you can only use one DDP package per driver, even if 97you have more than one device installed that uses the driver. 98 99- In Linux, FreeBSD, and Windows, only the first loaded PF per device can 100download a package for that device. In ESXi, you can load different DDP 101packages for different PFs associated with a device. 102 103- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ 104for installation instructions and more information. 105 106 107Installation 108============ 109 110Microsoft Windows 111----------------- 112TO INSTALL THE OS DEFAULT DDP PACKAGE: 113 114The default DDP package is installed as part of the driver binary. You don't 115need to take additional steps to install the DDP package file. 116 117 118FreeBSD 119------- 120TO INSTALL THE OS DEFAULT DDP PACKAGE: 121 122The FreeBSD driver automatically installs the default DDP package file during 123driver installation. See the base driver README for general installation and 124building instructions. 125 126The DDP package loads during device initialization. The driver looks for the 127ice_ddp module and checks that it contains a valid DDP package file. 128 129NOTE: It's important to do 'make install' during initial ice driver 130installation so that the driver loads the DDP package automatically. 131 132 133Linux 134----- 135TO INSTALL THE OS DEFAULT DDP PACKAGE: 136 137The Linux driver automatically installs the default DDP package file during 138driver installation. Read the base driver README for general installation and 139building instructions. 140 141The DDP package loads during device initialization. The driver looks for 142intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or 143/lib/firmware/updates/) and checks that it contains a valid DDP package file. 144The ice.pkg file is a symbolic link to the default DDP package file installed 145by the linux-firmware software package or the out-of-tree driver installation. 146 147 148TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: 149 150You can install specific DDP package files for different physical devices in 151the same system. To install a specific DDP package: 152 1531. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In 154addition to licensing information and this README, this zip file contains the 155following files: 156 ice-x.x.x.x.pkg 157 ice.pkg 158 159NOTE: The ice.pkg file is a Linux symbolic link file pointing to 160ice-x.x.x.x.pkg (in the same path). 161 1622. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where 163'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in 164hex) of the device you want the package downloaded on. The filename must 165include the complete serial number (including leading zeros) and be all 166lowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then 167the file name would be ice-b887a3ffffca0568.pkg. 168 169To find the serial number from the PCI bus address, you can use the following 170command: 171 172# lspci -vv -s af:00.0 | grep -i Serial 173Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 174 175You can use the following command to format the serial number without the 176dashes: 177 178# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g 179b887a3ffffca0568 180 1813. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. 182If the directory does not yet exist, create it before copying the file. 183 1844. Unload all of the PFs on the device. 185 1865. Reload the driver with the new package. 187 188NOTE: The presence of a device-specific DDP package file overrides the loading 189of the default DDP package file. 190 191 192ESX 193--- 194TO INSTALL THE OS DEFAULT DDP PACKAGE: 195 196The default DDP package is installed as part of the driver binary. You don't 197need to take additional steps to install the DDP package file. 198 199TO INSTALL A DDP PACKAGE FOR SPECIFIC MARKET SEGMENTS: 200 201You must first install the Intel(R) ESXCLI Plug-In for Managing Intel(R) 202Ethernet Network Adapters to be able to install and load market-specific DDP 203packages. Download it from: 204https://www.intel.com/content/www/us/en/download/19380/intel-esxcli-plug-in-for- 205managing-intel-ethernet-network-adapters.html 206 207NOTE: ESXi support for DDP packages for specific market segments requires the 208following: 209- OS: ESXi 6.7 or higher 210- Driver: icen 1.9.1.x or higher 211- Tool: intnet 1.8.3.x or higher 212 213To install and load this DDP package: 214 2151. Download and install the esxcli plug-in from the URL above. 216 2172. Download the DDP package. 218 2193. Copy the DDP package file to the following location: /store/intel/icen/ddp/. 220 If the directory does not yet exist, create it before copying the file. 221 2224. From the command prompt, run the following command to load the DDP package: 223 224 # esxcli intnet ddp load -n <vmnicX> -p <ddp_file_name> -f 225 226 Where: 227 <vmnicX> = the name of the NIC 228 <ddp_file_name> = the name of the DDP package to load 229 -f = forces the package to load 230 231 NOTE: This operation will cause the driver to reset. 232 2335. Wait for the load result status. 234 235 236To list all active DDP packages for all virtual NICs, run the following: 237 238# esxcli intnet ddp list 239 240To unload (roll back) a DDP package, run the following: 241 242# esxcli intnet ddp rollback -n <vmnicX> -f 243 244NOTE: This operation will cause the driver to reset. 245 246 247Troubleshooting 248=============== 249 250Microsoft Windows 251----------------- 252If you encounter issues with the DDP package file, download the latest driver. 253 254FreeBSD 255------- 256If you encounter issues with the DDP package file, you may need to download an 257updated driver or ice_ddp module. See the log messages for more information. 258 259Linux 260----- 261If you encounter issues with the DDP package file, you may need to download an 262updated driver or DDP package file. Refer to the log messages for more 263information. 264 265ESX 266--- 267If you encounter issues with the DDP package file, download the latest driver. 268 269 270Legal / Disclaimers 271=================== 272Copyright (c) 2019 - 2022, Intel Corporation. 273 274Intel and the Intel logo are trademarks of Intel Corporation or its 275subsidiaries in the U.S. and/or other countries. 276 277*Other names and brands may be claimed as the property of others. 278 279This software and the related documents are Intel copyrighted materials, and 280your use of them is governed by the express license under which they were 281provided to you ("License"). Unless the License provides otherwise, you may not 282use, modify, copy, publish, distribute, disclose or transmit this software or 283the related documents without Intel's prior written permission. 284This software and the related documents are provided as is, with no express or 285implied warranties, other than those that are expressly stated in the License. 286