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