xref: /freebsd/sys/contrib/dev/ice/README (revision 62cfcf62f627e5093fb37026a6d8c98e4d2ef04c)
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