1Dynamic Device Personalization (DDP) Package 2============================================ 3February 21, 2020 4 5 6Contents 7======== 8- Overview 9- Safe Mode 10- Notes 11- Installation & Troubleshooting 12- Legal 13 14 15Overview 16======== 17Adapters based on the Intel(R) Ethernet Controller 800 Series require a Dynamic 18Device Personalization (DDP) package file to enable advanced features (such as 19dynamic tunneling, Flow Director, RSS, and ADQ). 20 21DDP allows you to change the packet processing pipeline of a device by applying 22a profile package to the device at runtime. Profiles can be used to, for 23example, add support for new protocols, change existing protocols, or change 24default settings. DDP profiles can also be rolled back without rebooting the 25system. 26 27The DDP package loads during device initialization. The driver checks to see if 28the DDP package is present and compatible. If this file exists, the driver will 29load it into the device. If the DDP package file is missing or incompatible 30with the driver, the driver will go into Safe Mode where it will use the 31configuration contained in the device's NVM. See "Safe Mode" later in this 32README for more information. 33 34A general purpose, OS-default DDP package is automatically installed with all 35supported Intel Ethernet Controller 800 Series drivers on Microsoft* Windows*, 36ESX*, FreeBSD*, and Linux* operating systems. Additional DDP packages are 37available to address needs for specific market segments. For example, a 38telecommunications (Comms) DDP package is available to support certain 39market-specific protocols in addition to the protocols in the OS-default 40package. 41 42The OS-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 63 64Safe Mode 65========= 66Safe Mode disables advanced and performance features, and supports only basic 67traffic and minimal functionality, such as updating the NVM or downloading a 68new driver or DDP package. 69 70See the Intel(R) Ethernet Adapters and Devices User Guide for more details on 71DDP and Safe Mode. 72 73 74Notes 75===== 76- You cannot update the DDP package if any PF drivers are already loaded. To 77overwrite a package, unload all PFs and then reload the driver with the new 78package. 79 80- Except for Linux, you can only use one DDP package per driver, even if you 81have more than one device installed that uses the driver. 82 83- Only the first loaded PF per device can download a package for that device. 84 85- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ 86for installation instructions and more information. 87 88 89Installation and Troubleshooting 90================================ 91 92Microsoft* Windows* 93------------------- 94The DDP package is installed as part of the driver binary. You don't need to 95take additional steps to install the DDP package file. 96 97If you encounter issues with the DDP package file, download the latest driver. 98 99 100ESX 101--- 102The DDP package is installed as part of the driver binary. You don't need to 103take additional steps to install the DDP package file. 104 105If you encounter issues with the DDP package file, download the latest driver. 106 107 108FreeBSD 109------- 110The FreeBSD driver automatically installs the default DDP package file during 111driver installation. See the ice driver README for general installation and 112building instructions. 113 114The DDP package loads during device initialization. The driver looks for the 115ice_ddp module and checks that it contains a valid DDP package file. 116 117If you encounter issues with the DDP package file, you may need to download an 118updated driver or ice_ddp module. See the log messages for more information. 119 120NOTE: It's important to do 'make install' during initial ice driver 121installation so that the driver loads the DDP package automatically. 122 123 124Linux 125----- 126The Linux driver automatically installs the default DDP package file during 127driver installation. See the ice driver README for general installation and 128building instructions. 129 130The DDP package loads during device initialization. The driver looks for 131intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or 132/lib/firmware/updates/) and checks that it contains a valid DDP package file. 133The ice.pkg file is a symbolic link to the default DDP package file installed 134by the linux-firmware software package or the ice out-of-tree driver 135installation. 136 137If you encounter issues with the DDP package file, you may need to download an 138updated driver or DDP package file. See the log messages for more information. 139 140You can install specific DDP package files for different physical devices in 141the same system. To install a specific DDP package: 142 1431. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In 144addition to licensing information and this README, this zip file contains the 145following files: 146 ice-x.x.x.x.pkg 147 ice.pkg 148 149NOTE: The ice.pkg file is a Linux symbolic link file pointing to 150ice-x.x.x.x.pkg (in the same path). 151 1522. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where 153'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in 154hex) of the device you want the package downloaded on. The filename must 155include the complete serial number (including leading zeros) and be all 156lowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then 157the file name would be ice-b887a3ffffca0568.pkg. 158 159To find the serial number from the PCI bus address, you can use the following 160command: 161 162# lspci -vv -s af:00.0 | grep -i Serial 163Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 164 165You can use the following command to format the serial number without the 166dashes: 167 168# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g 169b887a3ffffca0568 170 1713. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. 172If the directory does not yet exist, create it before copying the file. 173 1744. Unload all of the PFs on the device. 175 1765. Reload the driver with the new package. 177 178NOTE: The presence of a device-specific DDP package file overrides the loading 179of the default DDP package file (ice.pkg). 180 181 182Legal / Disclaimers 183=================== 184Copyright (c) 2019 - 2020, Intel Corporation. 185 186Intel and the Intel logo are trademarks of Intel Corporation or its 187subsidiaries in the U.S. and/or other countries. 188 189*Other names and brands may be claimed as the property of others. 190 191This software and the related documents are Intel copyrighted materials, and 192your use of them is governed by the express license under which they were 193provided to you ("License"). Unless the License provides otherwise, you may not 194use, modify, copy, publish, distribute, disclose or transmit this software or 195the related documents without Intel's prior written permission. 196This software and the related documents are provided as is, with no express or 197implied warranties, other than those that are expressly stated in the License. 198