1Dynamic Device Personalization (DDP) Package 2============================================ 3July 7, 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- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group) 63 64 65Safe Mode 66========= 67Safe Mode disables advanced and performance features, and supports only basic 68traffic and minimal functionality, such as updating the NVM or downloading a 69new driver or DDP package. 70 71See the Intel(R) Ethernet Adapters and Devices User Guide for more details on 72DDP and Safe Mode. 73 74 75Notes 76===== 77- You cannot update the DDP package if any PF drivers are already loaded. To 78overwrite a package, unload all PFs and then reload the driver with the new 79package. 80 81- Except for Linux, you can only use one DDP package per driver, even if you 82have more than one device installed that uses the driver. 83 84- Only the first loaded PF per device can download a package for that device. 85 86- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ 87for installation instructions and more information. 88 89 90Installation and Troubleshooting 91================================ 92 93Microsoft* Windows* 94------------------- 95The DDP package is installed as part of the driver binary. You don't need to 96take additional steps to install the DDP package file. 97 98If you encounter issues with the DDP package file, download the latest driver. 99 100 101ESX 102--- 103The DDP package is installed as part of the driver binary. You don't need to 104take additional steps to install the DDP package file. 105 106If you encounter issues with the DDP package file, download the latest driver. 107 108 109FreeBSD 110------- 111The FreeBSD driver automatically installs the default DDP package file during 112driver installation. See the ice driver README for general installation and 113building instructions. 114 115The DDP package loads during device initialization. The driver looks for the 116ice_ddp module and checks that it contains a valid DDP package file. 117 118If you encounter issues with the DDP package file, you may need to download an 119updated driver or ice_ddp module. See the log messages for more information. 120 121NOTE: It's important to do 'make install' during initial ice driver 122installation so that the driver loads the DDP package automatically. 123 124 125Linux 126----- 127The Linux driver automatically installs the default DDP package file during 128driver installation. See the ice driver README for general installation and 129building instructions. 130 131The DDP package loads during device initialization. The driver looks for 132intel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or 133/lib/firmware/updates/) and checks that it contains a valid DDP package file. 134The ice.pkg file is a symbolic link to the default DDP package file installed 135by the linux-firmware software package or the ice out-of-tree driver 136installation. 137 138If you encounter issues with the DDP package file, you may need to download an 139updated driver or DDP package file. See the log messages for more information. 140 141You can install specific DDP package files for different physical devices in 142the same system. To install a specific DDP package: 143 1441. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In 145addition to licensing information and this README, this zip file contains the 146following files: 147 ice-x.x.x.x.pkg 148 ice.pkg 149 150NOTE: The ice.pkg file is a Linux symbolic link file pointing to 151ice-x.x.x.x.pkg (in the same path). 152 1532. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where 154'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in 155hex) of the device you want the package downloaded on. The filename must 156include the complete serial number (including leading zeros) and be all 157lowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then 158the file name would be ice-b887a3ffffca0568.pkg. 159 160To find the serial number from the PCI bus address, you can use the following 161command: 162 163# lspci -vv -s af:00.0 | grep -i Serial 164Capabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 165 166You can use the following command to format the serial number without the 167dashes: 168 169# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g 170b887a3ffffca0568 171 1723. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. 173If the directory does not yet exist, create it before copying the file. 174 1754. Unload all of the PFs on the device. 176 1775. Reload the driver with the new package. 178 179NOTE: The presence of a device-specific DDP package file overrides the loading 180of the default DDP package file (ice.pkg). 181 182 183Legal / Disclaimers 184=================== 185Copyright (c) 2019 - 2020, Intel Corporation. 186 187Intel and the Intel logo are trademarks of Intel Corporation or its 188subsidiaries in the U.S. and/or other countries. 189 190*Other names and brands may be claimed as the property of others. 191 192This software and the related documents are Intel copyrighted materials, and 193your use of them is governed by the express license under which they were 194provided to you ("License"). Unless the License provides otherwise, you may not 195use, modify, copy, publish, distribute, disclose or transmit this software or 196the related documents without Intel's prior written permission. 197This software and the related documents are provided as is, with no express or 198implied warranties, other than those that are expressly stated in the License. 199