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