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