xref: /f-stack/freebsd/contrib/dev/ice/README (revision 22ce4aff)
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