xref: /freebsd/sys/contrib/dev/ice/README (revision f9a039060e834e89e0b2de1e8a442d78bd5c083d)
12508da22SEric JoynerOS Default Dynamic Device Personalization (DDP) Package
2*f9a03906SEric Joyner*******************************************************
3*f9a03906SEric Joyner
4*f9a03906SEric JoynerAugust 09, 2024
571d10453SEric Joyner
671d10453SEric Joyner
771d10453SEric JoynerContents
8*f9a03906SEric Joyner^^^^^^^^
9*f9a03906SEric Joyner
10*f9a03906SEric Joyner* OS Default Dynamic Device Personalization (DDP) Package
11*f9a03906SEric Joyner
12*f9a03906SEric Joyner  * Overview
13*f9a03906SEric Joyner
14*f9a03906SEric Joyner  * Supported Operating Systems
15*f9a03906SEric Joyner
16*f9a03906SEric Joyner  * Contents of This Package
17*f9a03906SEric Joyner
18*f9a03906SEric Joyner  * Related Documentation
19*f9a03906SEric Joyner
20*f9a03906SEric Joyner  * Notes
21*f9a03906SEric Joyner
22*f9a03906SEric Joyner  * Installation
23*f9a03906SEric Joyner
24*f9a03906SEric Joyner  * Troubleshooting
25*f9a03906SEric Joyner
26*f9a03906SEric Joyner  * Legal / Disclaimers
2771d10453SEric Joyner
2871d10453SEric Joyner
2971d10453SEric JoynerOverview
3071d10453SEric Joyner========
3171d10453SEric Joyner
32*f9a03906SEric JoynerDevices based on the Intel(R) Ethernet 800 Series require a Dynamic
33*f9a03906SEric JoynerDevice Personalization (DDP) package file to enable advanced features
34*f9a03906SEric Joyner(such as dynamic tunneling, Intel(R) Ethernet Flow Director, RSS, and
35*f9a03906SEric JoynerADQ).
3671d10453SEric Joyner
37*f9a03906SEric JoynerDDP allows you to change the packet processing pipeline of a device by
38*f9a03906SEric Joynerapplying a profile package to the device at runtime. Profiles can be
39*f9a03906SEric Joynerused to, for example, add support for new protocols, change existing
40*f9a03906SEric Joynerprotocols, or change default settings. DDP profiles can also be rolled
41*f9a03906SEric Joynerback without rebooting the system.
4271d10453SEric Joyner
43*f9a03906SEric JoynerThe DDP package loads during device initialization or driver runtime,
44*f9a03906SEric Joynerdepending on the operating system. The driver checks to see if the DDP
45*f9a03906SEric Joynerpackage is present and compatible. If this file exists, the driver
46*f9a03906SEric Joynerwill load it into the device. If the DDP package file is missing or
47*f9a03906SEric Joynerincompatible with the driver, the driver will go into Safe Mode where
48*f9a03906SEric Joynerit will use the configuration contained in the device's NVM.
49*f9a03906SEric Joyner
50*f9a03906SEric JoynerSafe Mode disables advanced and performance features, and supports
51*f9a03906SEric Joyneronly basic traffic and minimal functionality, such as updating the NVM
52*f9a03906SEric Joyneror downloading a new driver or DDP package.
53*f9a03906SEric Joyner
54*f9a03906SEric JoynerRefer to the Intel(R) Ethernet Adapters and Devices User Guide for
55*f9a03906SEric Joynermore details on DDP and Safe Mode.
56*f9a03906SEric Joyner
57*f9a03906SEric JoynerA general-purpose, default DDP package is automatically installed with
58*f9a03906SEric Joynerall supported Intel Ethernet 800 Series drivers on supported operating
59*f9a03906SEric Joynersystems. Additional DDP packages are available to address needs for
60*f9a03906SEric Joynerspecific market segments or targeted solutions.
6171d10453SEric Joyner
62e438f0a9SEric JoynerThe default DDP package supports the following:
63*f9a03906SEric Joyner
64*f9a03906SEric Joyner* MAC
65*f9a03906SEric Joyner
66*f9a03906SEric Joyner* EtherType
67*f9a03906SEric Joyner
68*f9a03906SEric Joyner* VLAN
69*f9a03906SEric Joyner
70*f9a03906SEric Joyner* IPv4
71*f9a03906SEric Joyner
72*f9a03906SEric Joyner* IPv6
73*f9a03906SEric Joyner
74*f9a03906SEric Joyner* TCP
75*f9a03906SEric Joyner
76*f9a03906SEric Joyner* ARP
77*f9a03906SEric Joyner
78*f9a03906SEric Joyner* UDP
79*f9a03906SEric Joyner
80*f9a03906SEric Joyner* SCTP
81*f9a03906SEric Joyner
82*f9a03906SEric Joyner* ICMP
83*f9a03906SEric Joyner
84*f9a03906SEric Joyner* ICMPv6
85*f9a03906SEric Joyner
86*f9a03906SEric Joyner* CTRL
87*f9a03906SEric Joyner
88*f9a03906SEric Joyner* LLDP
89*f9a03906SEric Joyner
90*f9a03906SEric Joyner* VXLAN-GPE
91*f9a03906SEric Joyner
92*f9a03906SEric Joyner* VXLAN (non-GPE)
93*f9a03906SEric Joyner
94*f9a03906SEric Joyner* Geneve
95*f9a03906SEric Joyner
96*f9a03906SEric Joyner* GRE
97*f9a03906SEric Joyner
98*f9a03906SEric Joyner* NVGRE
99*f9a03906SEric Joyner
100*f9a03906SEric Joyner* RoCEv2
101*f9a03906SEric Joyner
102*f9a03906SEric Joyner* MPLS (up to 5 consecutive MPLS labels in the outermost Layer 2
103*f9a03906SEric Joyner  header group)
10471d10453SEric Joyner
10571d10453SEric Joyner
1062508da22SEric JoynerSupported Operating Systems
1072508da22SEric Joyner===========================
108*f9a03906SEric Joyner
1092508da22SEric JoynerThis DDP package is supported on the following operating systems:
1102508da22SEric Joyner
111*f9a03906SEric Joyner* Microsoft* Windows Server*
112*f9a03906SEric Joyner
113*f9a03906SEric Joyner* Linux*
114*f9a03906SEric Joyner
115*f9a03906SEric Joyner* FreeBSD*
116*f9a03906SEric Joyner
117*f9a03906SEric Joyner* VMware* ESXi*
118*f9a03906SEric Joyner
119*f9a03906SEric JoynerRefer to the Intel(R) Ethernet Adapters and Devices User Guide for
120*f9a03906SEric Joynercurrently supported versions of these operating systems.
1212508da22SEric Joyner
1222508da22SEric Joyner
123*f9a03906SEric JoynerRelated Documentation
124*f9a03906SEric Joyner=====================
12571d10453SEric Joyner
126*f9a03906SEric JoynerSee the "Intel(R) Ethernet Adapters and Devices User Guide" for
127*f9a03906SEric Joyneradditional information on features:
128*f9a03906SEric Joyner
129*f9a03906SEric Joyner* https://cdrdv2.intel.com/v1/dl/getContent/705831/
130*f9a03906SEric Joyner
131*f9a03906SEric JoynerAdditionally, a detailed technology guide is available for this DDP
132*f9a03906SEric Joynerpackage:
133*f9a03906SEric Joyner
134*f9a03906SEric Joyner* https://cdrdv2.intel.com/v1/dl/getContent/617015
13571d10453SEric Joyner
13671d10453SEric Joyner
13771d10453SEric JoynerNotes
13871d10453SEric Joyner=====
13971d10453SEric Joyner
140*f9a03906SEric Joyner* In Linux, FreeBSD, and Windows, you cannot update the DDP package if
141*f9a03906SEric Joyner  any PF drivers are already loaded. To overwrite a package, unload
142*f9a03906SEric Joyner  all PFs and then reload the driver with the new package.
14371d10453SEric Joyner
144*f9a03906SEric Joyner* In FreeBSD and Windows, you can only use one DDP package per driver,
145*f9a03906SEric Joyner  even if you have more than one device installed that uses the
146*f9a03906SEric Joyner  driver.
1472508da22SEric Joyner
148*f9a03906SEric Joyner* In Linux, FreeBSD, and Windows, only the first loaded PF per device
149*f9a03906SEric Joyner  can download a package for that device. In ESXi, you can load
150*f9a03906SEric Joyner  different DDP packages for different PFs associated with a device.
15171d10453SEric Joyner
152*f9a03906SEric Joyner* If you are using DPDK, see the DPDK documentation at
153*f9a03906SEric Joyner  https://www.dpdk.org/ for installation instructions and more
154*f9a03906SEric Joyner  information.
1552508da22SEric Joyner
1562508da22SEric Joyner
1572508da22SEric JoynerTroubleshooting
1582508da22SEric Joyner===============
1592508da22SEric Joyner
1602508da22SEric Joyner
1612508da22SEric JoynerFreeBSD
1622508da22SEric Joyner-------
1632508da22SEric Joyner
164*f9a03906SEric JoynerIf you encounter issues with the DDP package file, you may need to
165*f9a03906SEric Joynerdownload an updated driver or ice_ddp module. See the log messages for
166*f9a03906SEric Joynermore information.
1672508da22SEric Joyner
1682508da22SEric Joyner
16971d10453SEric JoynerLegal / Disclaimers
17071d10453SEric Joyner===================
17171d10453SEric Joyner
172*f9a03906SEric JoynerCopyright (c) 2019 - 2024, Intel Corporation.
17371d10453SEric Joyner
174*f9a03906SEric JoynerIntel technologies may require enabled hardware, software or service
175*f9a03906SEric Joyneractivation.
17671d10453SEric Joyner
177*f9a03906SEric JoynerNo product or component can be absolutely secure.
178*f9a03906SEric Joyner
179*f9a03906SEric JoynerYour costs and results may vary.
180*f9a03906SEric Joyner
181*f9a03906SEric JoynerIntel, the Intel logo, and other Intel marks are trademarks of Intel
182*f9a03906SEric JoynerCorporation or its subsidiaries.  Other names and brands may be
183*f9a03906SEric Joynerclaimed as the property of others.
184*f9a03906SEric Joyner
185*f9a03906SEric JoynerPerformance varies by use, configuration, and other factors. Learn
186*f9a03906SEric Joynermore at https://www.Intel.com/PerformanceIndex.
187*f9a03906SEric Joyner
188*f9a03906SEric JoynerThe products described may contain design defects or errors known as
189*f9a03906SEric Joynererrata which may cause the product to deviate from published
190*f9a03906SEric Joynerspecifications. Current characterized errata are available on request.
191*f9a03906SEric Joyner
192*f9a03906SEric JoynerThis software and the related documents are Intel copyrighted
193*f9a03906SEric Joynermaterials, and your use of them is governed by the express license
194*f9a03906SEric Joynerunder which they were provided to you ("License"). Unless the License
195*f9a03906SEric Joynerprovides otherwise, you may not use, modify, copy, publish,
196*f9a03906SEric Joynerdistribute, disclose or transmit this software or the related
197*f9a03906SEric Joynerdocuments without Intel's prior written permission.
198*f9a03906SEric Joyner
199*f9a03906SEric JoynerThis software and the related documents are provided as is, with no
200*f9a03906SEric Joynerexpress or implied warranties, other than those that are expressly
201*f9a03906SEric Joynerstated in the License.
202