1*22ce4affSfengbojiangDynamic Device Personalization (DDP) Package 2*22ce4affSfengbojiang============================================ 3*22ce4affSfengbojiangJuly 7, 2020 4*22ce4affSfengbojiang 5*22ce4affSfengbojiang 6*22ce4affSfengbojiangContents 7*22ce4affSfengbojiang======== 8*22ce4affSfengbojiang- Overview 9*22ce4affSfengbojiang- Safe Mode 10*22ce4affSfengbojiang- Notes 11*22ce4affSfengbojiang- Installation & Troubleshooting 12*22ce4affSfengbojiang- Legal 13*22ce4affSfengbojiang 14*22ce4affSfengbojiang 15*22ce4affSfengbojiangOverview 16*22ce4affSfengbojiang======== 17*22ce4affSfengbojiangAdapters based on the Intel(R) Ethernet Controller 800 Series require a Dynamic 18*22ce4affSfengbojiangDevice Personalization (DDP) package file to enable advanced features (such as 19*22ce4affSfengbojiangdynamic tunneling, Flow Director, RSS, and ADQ). 20*22ce4affSfengbojiang 21*22ce4affSfengbojiangDDP allows you to change the packet processing pipeline of a device by applying 22*22ce4affSfengbojianga profile package to the device at runtime. Profiles can be used to, for 23*22ce4affSfengbojiangexample, add support for new protocols, change existing protocols, or change 24*22ce4affSfengbojiangdefault settings. DDP profiles can also be rolled back without rebooting the 25*22ce4affSfengbojiangsystem. 26*22ce4affSfengbojiang 27*22ce4affSfengbojiangThe DDP package loads during device initialization. The driver checks to see if 28*22ce4affSfengbojiangthe DDP package is present and compatible. If this file exists, the driver will 29*22ce4affSfengbojiangload it into the device. If the DDP package file is missing or incompatible 30*22ce4affSfengbojiangwith the driver, the driver will go into Safe Mode where it will use the 31*22ce4affSfengbojiangconfiguration contained in the device's NVM. See "Safe Mode" later in this 32*22ce4affSfengbojiangREADME for more information. 33*22ce4affSfengbojiang 34*22ce4affSfengbojiangA general purpose, OS-default DDP package is automatically installed with all 35*22ce4affSfengbojiangsupported Intel Ethernet Controller 800 Series drivers on Microsoft* Windows*, 36*22ce4affSfengbojiangESX*, FreeBSD*, and Linux* operating systems. Additional DDP packages are 37*22ce4affSfengbojiangavailable to address needs for specific market segments. For example, a 38*22ce4affSfengbojiangtelecommunications (Comms) DDP package is available to support certain 39*22ce4affSfengbojiangmarket-specific protocols in addition to the protocols in the OS-default 40*22ce4affSfengbojiangpackage. 41*22ce4affSfengbojiang 42*22ce4affSfengbojiangThe OS-default DDP package supports the following: 43*22ce4affSfengbojiang- MAC 44*22ce4affSfengbojiang- EtherType 45*22ce4affSfengbojiang- VLAN 46*22ce4affSfengbojiang- IPv4 47*22ce4affSfengbojiang- IPv6 48*22ce4affSfengbojiang- TCP 49*22ce4affSfengbojiang- ARP 50*22ce4affSfengbojiang- UDP 51*22ce4affSfengbojiang- SCTP 52*22ce4affSfengbojiang- ICMP 53*22ce4affSfengbojiang- ICMPv6 54*22ce4affSfengbojiang- CTRL 55*22ce4affSfengbojiang- LLDP 56*22ce4affSfengbojiang- VXLAN-GPE 57*22ce4affSfengbojiang- VXLAN (non-GPE) 58*22ce4affSfengbojiang- Geneve 59*22ce4affSfengbojiang- GRE 60*22ce4affSfengbojiang- NVGRE 61*22ce4affSfengbojiang- RoCEv2 62*22ce4affSfengbojiang- MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2 header group) 63*22ce4affSfengbojiang 64*22ce4affSfengbojiang 65*22ce4affSfengbojiangSafe Mode 66*22ce4affSfengbojiang========= 67*22ce4affSfengbojiangSafe Mode disables advanced and performance features, and supports only basic 68*22ce4affSfengbojiangtraffic and minimal functionality, such as updating the NVM or downloading a 69*22ce4affSfengbojiangnew driver or DDP package. 70*22ce4affSfengbojiang 71*22ce4affSfengbojiangSee the Intel(R) Ethernet Adapters and Devices User Guide for more details on 72*22ce4affSfengbojiangDDP and Safe Mode. 73*22ce4affSfengbojiang 74*22ce4affSfengbojiang 75*22ce4affSfengbojiangNotes 76*22ce4affSfengbojiang===== 77*22ce4affSfengbojiang- You cannot update the DDP package if any PF drivers are already loaded. To 78*22ce4affSfengbojiangoverwrite a package, unload all PFs and then reload the driver with the new 79*22ce4affSfengbojiangpackage. 80*22ce4affSfengbojiang 81*22ce4affSfengbojiang- Except for Linux, you can only use one DDP package per driver, even if you 82*22ce4affSfengbojianghave more than one device installed that uses the driver. 83*22ce4affSfengbojiang 84*22ce4affSfengbojiang- Only the first loaded PF per device can download a package for that device. 85*22ce4affSfengbojiang 86*22ce4affSfengbojiang- If you are using DPDK, see the DPDK documentation at https://www.dpdk.org/ 87*22ce4affSfengbojiangfor installation instructions and more information. 88*22ce4affSfengbojiang 89*22ce4affSfengbojiang 90*22ce4affSfengbojiangInstallation and Troubleshooting 91*22ce4affSfengbojiang================================ 92*22ce4affSfengbojiang 93*22ce4affSfengbojiangMicrosoft* Windows* 94*22ce4affSfengbojiang------------------- 95*22ce4affSfengbojiangThe DDP package is installed as part of the driver binary. You don't need to 96*22ce4affSfengbojiangtake additional steps to install the DDP package file. 97*22ce4affSfengbojiang 98*22ce4affSfengbojiangIf you encounter issues with the DDP package file, download the latest driver. 99*22ce4affSfengbojiang 100*22ce4affSfengbojiang 101*22ce4affSfengbojiangESX 102*22ce4affSfengbojiang--- 103*22ce4affSfengbojiangThe DDP package is installed as part of the driver binary. You don't need to 104*22ce4affSfengbojiangtake additional steps to install the DDP package file. 105*22ce4affSfengbojiang 106*22ce4affSfengbojiangIf you encounter issues with the DDP package file, download the latest driver. 107*22ce4affSfengbojiang 108*22ce4affSfengbojiang 109*22ce4affSfengbojiangFreeBSD 110*22ce4affSfengbojiang------- 111*22ce4affSfengbojiangThe FreeBSD driver automatically installs the default DDP package file during 112*22ce4affSfengbojiangdriver installation. See the ice driver README for general installation and 113*22ce4affSfengbojiangbuilding instructions. 114*22ce4affSfengbojiang 115*22ce4affSfengbojiangThe DDP package loads during device initialization. The driver looks for the 116*22ce4affSfengbojiangice_ddp module and checks that it contains a valid DDP package file. 117*22ce4affSfengbojiang 118*22ce4affSfengbojiangIf you encounter issues with the DDP package file, you may need to download an 119*22ce4affSfengbojiangupdated driver or ice_ddp module. See the log messages for more information. 120*22ce4affSfengbojiang 121*22ce4affSfengbojiangNOTE: It's important to do 'make install' during initial ice driver 122*22ce4affSfengbojianginstallation so that the driver loads the DDP package automatically. 123*22ce4affSfengbojiang 124*22ce4affSfengbojiang 125*22ce4affSfengbojiangLinux 126*22ce4affSfengbojiang----- 127*22ce4affSfengbojiangThe Linux driver automatically installs the default DDP package file during 128*22ce4affSfengbojiangdriver installation. See the ice driver README for general installation and 129*22ce4affSfengbojiangbuilding instructions. 130*22ce4affSfengbojiang 131*22ce4affSfengbojiangThe DDP package loads during device initialization. The driver looks for 132*22ce4affSfengbojiangintel/ice/ddp/ice.pkg in your firmware root (typically /lib/firmware/ or 133*22ce4affSfengbojiang/lib/firmware/updates/) and checks that it contains a valid DDP package file. 134*22ce4affSfengbojiangThe ice.pkg file is a symbolic link to the default DDP package file installed 135*22ce4affSfengbojiangby the linux-firmware software package or the ice out-of-tree driver 136*22ce4affSfengbojianginstallation. 137*22ce4affSfengbojiang 138*22ce4affSfengbojiangIf you encounter issues with the DDP package file, you may need to download an 139*22ce4affSfengbojiangupdated driver or DDP package file. See the log messages for more information. 140*22ce4affSfengbojiang 141*22ce4affSfengbojiangYou can install specific DDP package files for different physical devices in 142*22ce4affSfengbojiangthe same system. To install a specific DDP package: 143*22ce4affSfengbojiang 144*22ce4affSfengbojiang1. Download the DDP package file (ice-x.x.x.x.zip) you want for your device. In 145*22ce4affSfengbojiangaddition to licensing information and this README, this zip file contains the 146*22ce4affSfengbojiangfollowing files: 147*22ce4affSfengbojiang ice-x.x.x.x.pkg 148*22ce4affSfengbojiang ice.pkg 149*22ce4affSfengbojiang 150*22ce4affSfengbojiangNOTE: The ice.pkg file is a Linux symbolic link file pointing to 151*22ce4affSfengbojiangice-x.x.x.x.pkg (in the same path). 152*22ce4affSfengbojiang 153*22ce4affSfengbojiang2. Rename the ice-x.x.x.x.pkg file as ice-xxxxxxxxxxxxxxxx.pkg, where 154*22ce4affSfengbojiang'xxxxxxxxxxxxxxxx' is the unique 64-bit PCI Express device serial number (in 155*22ce4affSfengbojianghex) of the device you want the package downloaded on. The filename must 156*22ce4affSfengbojianginclude the complete serial number (including leading zeros) and be all 157*22ce4affSfengbojianglowercase. For example, if the 64-bit serial number is b887a3ffffca0568, then 158*22ce4affSfengbojiangthe file name would be ice-b887a3ffffca0568.pkg. 159*22ce4affSfengbojiang 160*22ce4affSfengbojiangTo find the serial number from the PCI bus address, you can use the following 161*22ce4affSfengbojiangcommand: 162*22ce4affSfengbojiang 163*22ce4affSfengbojiang# lspci -vv -s af:00.0 | grep -i Serial 164*22ce4affSfengbojiangCapabilities: [150 v1] Device Serial Number b8-87-a3-ff-ff-ca-05-68 165*22ce4affSfengbojiang 166*22ce4affSfengbojiangYou can use the following command to format the serial number without the 167*22ce4affSfengbojiangdashes: 168*22ce4affSfengbojiang 169*22ce4affSfengbojiang# lspci -vv -s af:00.0 | grep -i Serial | awk '{print $7}' | sed s/-//g 170*22ce4affSfengbojiangb887a3ffffca0568 171*22ce4affSfengbojiang 172*22ce4affSfengbojiang3. Copy the renamed DDP package file to /lib/firmware/updates/intel/ice/ddp/. 173*22ce4affSfengbojiangIf the directory does not yet exist, create it before copying the file. 174*22ce4affSfengbojiang 175*22ce4affSfengbojiang4. Unload all of the PFs on the device. 176*22ce4affSfengbojiang 177*22ce4affSfengbojiang5. Reload the driver with the new package. 178*22ce4affSfengbojiang 179*22ce4affSfengbojiangNOTE: The presence of a device-specific DDP package file overrides the loading 180*22ce4affSfengbojiangof the default DDP package file (ice.pkg). 181*22ce4affSfengbojiang 182*22ce4affSfengbojiang 183*22ce4affSfengbojiangLegal / Disclaimers 184*22ce4affSfengbojiang=================== 185*22ce4affSfengbojiangCopyright (c) 2019 - 2020, Intel Corporation. 186*22ce4affSfengbojiang 187*22ce4affSfengbojiangIntel and the Intel logo are trademarks of Intel Corporation or its 188*22ce4affSfengbojiangsubsidiaries in the U.S. and/or other countries. 189*22ce4affSfengbojiang 190*22ce4affSfengbojiang*Other names and brands may be claimed as the property of others. 191*22ce4affSfengbojiang 192*22ce4affSfengbojiangThis software and the related documents are Intel copyrighted materials, and 193*22ce4affSfengbojiangyour use of them is governed by the express license under which they were 194*22ce4affSfengbojiangprovided to you ("License"). Unless the License provides otherwise, you may not 195*22ce4affSfengbojianguse, modify, copy, publish, distribute, disclose or transmit this software or 196*22ce4affSfengbojiangthe related documents without Intel's prior written permission. 197*22ce4affSfengbojiangThis software and the related documents are provided as is, with no express or 198*22ce4affSfengbojiangimplied warranties, other than those that are expressly stated in the License. 199