xref: /dpdk/doc/guides/rel_notes/release_22_11.rst (revision e4792a81e3e79a9422ac00679027bf34003d73b4)
172206323SDavid Marchand.. SPDX-License-Identifier: BSD-3-Clause
272206323SDavid Marchand   Copyright 2022 The DPDK contributors
372206323SDavid Marchand
472206323SDavid Marchand.. include:: <isonum.txt>
572206323SDavid Marchand
672206323SDavid MarchandDPDK Release 22.11
772206323SDavid Marchand==================
872206323SDavid Marchand
972206323SDavid MarchandNew Features
1072206323SDavid Marchand------------
1172206323SDavid Marchand
1229631ee5SMin Zhou* **Added initial LoongArch architecture support.**
1329631ee5SMin Zhou
1429631ee5SMin Zhou  Added EAL implementation for LoongArch architecture.
1550b2a419SJohn McNamara  The initial port was tested on Loongson 3A5000,
1629631ee5SMin Zhou  Loongson 3C5000 and Loongson 3C5000L.
1729631ee5SMin Zhou  In theory this implementation should work with any target based on
1829631ee5SMin Zhou  ``LoongArch`` ISA.
1929631ee5SMin Zhou
20458485ebSHanumanth Pothula* **Added support for multiple mbuf pools per ethdev Rx queue.**
21458485ebSHanumanth Pothula
2250b2a419SJohn McNamara  Added a capability which allows an application to provide many mempools
2350b2a419SJohn McNamara  of different size, and PMDs and/or NICs to choose a memory pool
2450b2a419SJohn McNamara  based on the packet's length and/or Rx buffer availability.
25458485ebSHanumanth Pothula
266b81dddbSJerin Jacob* **Added support for congestion management in ethdev.**
276b81dddbSJerin Jacob
286b81dddbSJerin Jacob  Added new API functions ``rte_eth_cman_config_init()``,
2950b2a419SJohn McNamara  ``rte_eth_cman_config_get()``, ``rte_eth_cman_config_set()``
3050b2a419SJohn McNamara  and ``rte_eth_cman_info_get()`` to support congestion management.
316b81dddbSJerin Jacob
32e4e6f4cbSYuan Wang* **Added protocol header based buffer split.**
33e4e6f4cbSYuan Wang
34e4e6f4cbSYuan Wang  * Added ``rte_eth_buffer_split_get_supported_hdr_ptypes()`` to get supported
35e4e6f4cbSYuan Wang    header protocols to split at.
3650b2a419SJohn McNamara  * Added support for protocol-based buffer split using new ``proto_hdr``
3750b2a419SJohn McNamara    field in structure ``rte_eth_rxseg_split``.
38e4e6f4cbSYuan Wang
39eb0d471aSKalesh AP* **Added proactive error handling mode for ethdev.**
40eb0d471aSKalesh AP
41eb0d471aSKalesh AP  Added proactive error handling mode for ethdev,
4250b2a419SJohn McNamara  and introduced three new events: ``RTE_ETH_EVENT_ERR_RECOVERING``
43eb0d471aSKalesh AP  to report that the port is recovering from an error,
44eb0d471aSKalesh AP  ``RTE_ETH_EVENT_RECOVER_SUCCESS`` and ``RTE_ETH_EVENT_RECOVER_FAILED``.
45eb0d471aSKalesh AP
46092b701fSDongdong Liu* **Added ethdev Rx/Tx descriptor dump API.**
47092b701fSDongdong Liu
48092b701fSDongdong Liu  Added the ethdev Rx/Tx descriptor dump API which provides functions
49092b701fSDongdong Liu  for querying descriptor from device.
50092b701fSDongdong Liu  The descriptor information differs in different NICs.
51092b701fSDongdong Liu  The information demonstrates I/O process which is important for debug.
52092b701fSDongdong Liu  The dump format is vendor-specific.
53092b701fSDongdong Liu
54bc705061SDariusz Sosnowski* **Added ethdev hairpin memory configuration options.**
55bc705061SDariusz Sosnowski
56bc705061SDariusz Sosnowski  Added new configuration flags for hairpin queues in ``rte_eth_hairpin_conf``:
57bc705061SDariusz Sosnowski
58bc705061SDariusz Sosnowski  * ``use_locked_device_memory``
59bc705061SDariusz Sosnowski  * ``use_rte_memory``
60bc705061SDariusz Sosnowski  * ``force_memory``
61bc705061SDariusz Sosnowski
62bc705061SDariusz Sosnowski  Each flag has a corresponding capability flag
63bc705061SDariusz Sosnowski  in ``struct rte_eth_hairpin_queue_cap``.
64bc705061SDariusz Sosnowski
6544ceeefcSMichael Baum* **Added strict queue to pre-configuration flow hints.**
6644ceeefcSMichael Baum
6744ceeefcSMichael Baum  * Added flags option to ``rte_flow_configure`` and ``rte_flow_info_get``.
6844ceeefcSMichael Baum  * Added ``RTE_FLOW_PORT_FLAG_STRICT_QUEUE`` flag to indicate all operations
6944ceeefcSMichael Baum    for a given flow rule will strictly happen on the same flow queue.
7044ceeefcSMichael Baum
713d7c08e4SSuanming Mou* **Added configuration for asynchronous flow connection tracking.**
723d7c08e4SSuanming Mou
733d7c08e4SSuanming Mou  Added connection tracking action number hint to ``rte_flow_configure``
743d7c08e4SSuanming Mou  and ``rte_flow_info_get``.
7550b2a419SJohn McNamara  The PMD can prepare the connection tracking resources according to the hint.
763d7c08e4SSuanming Mou
77c9dc0384SSuanming Mou* **Added support for queue-based async query in flow API.**
78c9dc0384SSuanming Mou
7950b2a419SJohn McNamara  Added new function ``rte_flow_async_action_handle_query()``
80c9dc0384SSuanming Mou  to query the action asynchronously.
81c9dc0384SSuanming Mou
823af7a4afSAlexander Kozyrev* **Extended metering and marking support in the flow API.**
833af7a4afSAlexander Kozyrev
8450b2a419SJohn McNamara  * Added ``METER_COLOR`` item to match color marker set by a meter.
85443401d0SAlexander Kozyrev  * Added ability to set color marker via modify field flow API.
8650b2a419SJohn McNamara  * Added meter API to get a pointer to the profile/policy by their ID.
8750b2a419SJohn McNamara  * Added ``METER_MARK`` action for metering with lockless profile/policy access.
883af7a4afSAlexander Kozyrev
896838dd4bSMichael Savisko* **Added flow offload action to route packets to kernel.**
906838dd4bSMichael Savisko
9150b2a419SJohn McNamara  Added new flow action which allows an application to re-route packets
926838dd4bSMichael Savisko  directly to the kernel without software involvement.
936838dd4bSMichael Savisko
941eb1846bSCiara Loftus* **Updated AF_XDP driver.**
951eb1846bSCiara Loftus
9650b2a419SJohn McNamara  * Updated AF_XDP driver to make it compatible with libbpf v0.8.0
9750b2a419SJohn McNamara    (when used with libxdp).
981eb1846bSCiara Loftus
99a5205992SAndrew Boyer* **Updated AMD Pensando ionic driver.**
100a5205992SAndrew Boyer
10150b2a419SJohn McNamara  * Updated ionic driver to reflect that Pensando has been acquired by AMD.
1027b20fc2fSAndrew Boyer  * Enhanced data path to provide substantial performance improvements.
1039ac234eeSAndrew Boyer  * Added support for mbuf fast free.
104b5b56afdSAndrew Boyer  * Added support for advertising packet types.
1050983a74aSAndrew Boyer  * Added support for descriptor status functions.
1069de21005SAndrew Boyer  * Added Q-in-CMB feature controlled by device option ``ionic_cmb``.
107e86a6fccSAndrew Boyer  * Added optimized handlers for non-scattered Rx and Tx.
108a5205992SAndrew Boyer
10950b2a419SJohn McNamara* **Added GVE net PMD.**
110457967cdSJunfeng Guo
111457967cdSJunfeng Guo  * Added the new ``gve`` net driver for Google Virtual Ethernet devices.
112457967cdSJunfeng Guo  * See the :doc:`../nics/gve` NIC guide for more details on this new driver.
113457967cdSJunfeng Guo
114fe10f040SJie Wang* **Updated Intel iavf driver.**
115fe10f040SJie Wang
116fe10f040SJie Wang  * Added flow subscription support.
117fe10f040SJie Wang
118629dad3eSYuan Wang* **Updated Intel ice driver.**
119629dad3eSYuan Wang
120629dad3eSYuan Wang  * Added protocol based buffer split support in scalar path.
121629dad3eSYuan Wang
122549343c2SJunfeng Guo* **Added Intel idpf driver.**
123549343c2SJunfeng Guo
124549343c2SJunfeng Guo  Added the new ``idpf`` net driver
12507854386SBeilei Xing  for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
126549343c2SJunfeng Guo  See the :doc:`../nics/idpf` NIC guide for more details on this new driver.
127549343c2SJunfeng Guo
128a05a8e40SIvan Malov* **Updated Marvell cnxk driver.**
129a05a8e40SIvan Malov
13050b2a419SJohn McNamara  * Added support for flow action ``REPRESENTED_PORT``.
131b7d3a0feSSunil Kumar Kori  * Added support for congestion management.
132a05a8e40SIvan Malov
133517ed6e2SLong Li* **Added Microsoft mana driver.**
134517ed6e2SLong Li
13550b2a419SJohn McNamara  The driver has been disabled by default because of a, currently, missing dependency.
136578e3790SFerruh Yigit
137b1880421SChaoyong He* **Updated Netronome nfp driver.**
138b1880421SChaoyong He
1398ad9ffa2SChaoyong He  Added flow API support:
140b1880421SChaoyong He
14150b2a419SJohn McNamara  * Added support for the flower firmware.
142b1880421SChaoyong He  * Added the flower service infrastructure.
143a36634e8SChaoyong He  * Added the control message interactive channels between PMD and firmware.
14450b2a419SJohn McNamara  * Added support for a representor port.
145b1880421SChaoyong He
14622681deeSAlex Vesker* **Updated NVIDIA mlx5 driver.**
14722681deeSAlex Vesker
14850b2a419SJohn McNamara  * Added full support for queue-based async hardware steering.
14952771547SMichael Baum
150ddb68e47SBing Zhao    - Support of FDB.
1519fa7c1cdSDariusz Sosnowski    - Support of control flow and isolate mode.
152463170a7SSuanming Mou    - Support of conntrack.
1534d368e1dSXiaoyu Min    - Support of counter.
15489f6da90SMichael Baum    - Support of aging.
15524865366SAlexander Kozyrev    - Support of meter.
1560f4aa72bSSuanming Mou    - Support of modify fields.
15722681deeSAlex Vesker
158b1e15294SIvan Malov* **Updated NXP dpaa2 driver.**
159b1e15294SIvan Malov
16050b2a419SJohn McNamara  * Added support for flow action ``REPRESENTED_PORT``.
161b1e15294SIvan Malov
162abea8974SJiawen Wu* **Updated Wangxun ngbe driver.**
163abea8974SJiawen Wu
164abea8974SJiawen Wu  * Added support to set device link down/up.
165abea8974SJiawen Wu
166e8c3d496SXuan Ding* **Added DMA vChannel unconfiguration for async vhost.**
167e8c3d496SXuan Ding
168e8c3d496SXuan Ding  Added support to unconfigure DMA vChannel that is no longer used
169e8c3d496SXuan Ding  by the vhost library.
170e8c3d496SXuan Ding
171830f7e79SChangpeng Liu* **Added non-blocking notify API to vhost library.**
172830f7e79SChangpeng Liu
173830f7e79SChangpeng Liu  Added ``rte_vhost_vring_call_nonblock`` API to notify the guest that
17450b2a419SJohn McNamara  used descriptors have been added to the vring in n aon-blocking way.
17550b2a419SJohn McNamara  The user should check the return value of this API and try again if needed.
176830f7e79SChangpeng Liu
177bbbe6c59SAkhil Goyal* **Added support for MACsec in rte_security.**
178bbbe6c59SAkhil Goyal
179bbbe6c59SAkhil Goyal  Added MACsec transform for rte_security session and added new API
180bbbe6c59SAkhil Goyal  to configure security associations (SA) and secure channels (SC).
181bbbe6c59SAkhil Goyal
182515cd4a4SArek Kusztal* **Added new algorithms to cryptodev.**
183515cd4a4SArek Kusztal
18435ffc5b0SArek Kusztal  * Added symmetric hash algorithm ShangMi 3 (SM3).
185515cd4a4SArek Kusztal  * Added symmetric cipher algorithm ShangMi 4 (SM4) in ECB, CBC and CTR modes.
186515cd4a4SArek Kusztal
187305e1f85SArek Kusztal* **Updated Intel QuickAssist Technology (QAT) crypto driver.**
18892522c84SArek Kusztal
18975fd4bbcSArek Kusztal  * Added support for SM3 hash algorithm.
19092522c84SArek Kusztal  * Added support for SM4 encryption algorithm in ECB, CBC and CTR modes.
191305e1f85SArek Kusztal  * Added support for ECDH key exchange algorithm.
19292522c84SArek Kusztal
193246dea7eSArchana Muniganti* **Updated Marvell cnxk crypto driver.**
194246dea7eSArchana Muniganti
19550b2a419SJohn McNamara  * Added AES-CCM support in lookaside protocol (IPsec) for CN9K and  CN10K.
19687d39616SVolodymyr Fialko  * Added AES & DES DOCSIS algorithm support in lookaside crypto for CN9K.
197246dea7eSArchana Muniganti
1987babda43SPablo de Lara* **Updated aesni_mb crypto driver.**
1997babda43SPablo de Lara
2007babda43SPablo de Lara  * Added support for 8-byte and 16-byte tags for ZUC-EIA3-256.
201f9dfb59eSCiara Power  * Added support for in-place SGL, out-of-place SGL in SGL out,
202f9dfb59eSCiara Power    out-of-place LB in SGL out, and out-of-place SGL in LB out.
2037babda43SPablo de Lara
20430808227SRuifeng Wang* **Updated ipsec_mb crypto driver.**
20530808227SRuifeng Wang
206f272ea5bSPablo de Lara  * Added SNOW-3G and ZUC support for ARM platform.
207f272ea5bSPablo de Lara  * Added Intel IPsec MB v1.3 library support for x86 platform.
20830808227SRuifeng Wang
2098799d66eSZhangfei Gao* **Added UADK crypto driver.**
2108799d66eSZhangfei Gao
2118799d66eSZhangfei Gao  Added a new crypto driver for the UADK library. See the
2128799d66eSZhangfei Gao  :doc:`../cryptodevs/uadk` guide for more details on this new driver.
2138799d66eSZhangfei Gao
2149d393325SNicolas Chautru* **Added bbdev operation for FFT processing.**
2159d393325SNicolas Chautru
2169d393325SNicolas Chautru  Added a new operation type in bbdev for FFT processing with new functions
21750b2a419SJohn McNamara  ``rte_bbdev_enqueue_fft_ops`` and ``rte_bbdev_dequeue_fft_ops``,
2189d393325SNicolas Chautru  and related structures.
2199d393325SNicolas Chautru
220c2d93488SNicolas Chautru* **Added Intel ACC200 bbdev driver.**
221c2d93488SNicolas Chautru
222c2d93488SNicolas Chautru  Added a new ``acc200`` bbdev driver for the Intel\ |reg| ACC200 accelerator
223*e4792a81SDavid Marchand  integrated on SPR-EE.  See the ``bbdevs/acc200`` guide for more details
224*e4792a81SDavid Marchand  on this new driver.
225c2d93488SNicolas Chautru
226a1793ee8SGanapati Kundapura* **Added eventdev adapter instance get API.**
227a1793ee8SGanapati Kundapura
228a1793ee8SGanapati Kundapura  * Added ``rte_event_eth_rx_adapter_instance_get`` to get Rx adapter
229a1793ee8SGanapati Kundapura    instance ID for specified ethernet device ID and Rx queue index.
230a1793ee8SGanapati Kundapura
231b2963cbdSGanapati Kundapura  * Added ``rte_event_eth_tx_adapter_instance_get`` to get Tx adapter
232b2963cbdSGanapati Kundapura    instance ID for specified ethernet device ID and Tx queue index.
233b2963cbdSGanapati Kundapura
2343c3328aeSNaga Harish K S V* **Added eventdev Tx adapter queue start/stop API.**
2353c3328aeSNaga Harish K S V
2363c3328aeSNaga Harish K S V  * Added ``rte_event_eth_tx_adapter_queue_start`` to start
2373c3328aeSNaga Harish K S V    enqueueing packets to the Tx queue by Tx adapter.
2383c3328aeSNaga Harish K S V  * Added ``rte_event_eth_tx_adapter_queue_stop`` to stop the Tx Adapter
2393c3328aeSNaga Harish K S V    from enqueueing any packets to the Tx queue.
2403c3328aeSNaga Harish K S V
241c1749bc5SVolodymyr Fialko* **Added event crypto adapter vectorization support.**
242c1749bc5SVolodymyr Fialko
24350b2a419SJohn McNamara  Added support for aggregating crypto operations processed by event crypto adapter
24450b2a419SJohn McNamara  into a single event containing ``rte_event_vector``
245c1749bc5SVolodymyr Fialko  whose event type is ``RTE_EVENT_TYPE_CRYPTODEV_VECTOR``.
246c1749bc5SVolodymyr Fialko
247db354bd2SLeyi Rong* **Added NitroSketch in membership library.**
248db354bd2SLeyi Rong
24950b2a419SJohn McNamara  Added a new data structure called sketch into the membership library,
250db354bd2SLeyi Rong  to profile the traffic efficiently.
251db354bd2SLeyi Rong  NitroSketch provides high-fidelity approximate measurements
252db354bd2SLeyi Rong  and appears as a promising alternative to traditional approaches
253db354bd2SLeyi Rong  such as packet sampling.
254db354bd2SLeyi Rong
25560b8a661STadhg Kearney* **Added Intel uncore frequency control API to the power library.**
25660b8a661STadhg Kearney
25760b8a661STadhg Kearney  Added API to allow uncore frequency adjustment.
25860b8a661STadhg Kearney  This is done through manipulating related uncore frequency control
25960b8a661STadhg Kearney  sysfs entries to adjust the minimum and maximum uncore frequency values,
26060b8a661STadhg Kearney  which works on Linux with Intel hardware only.
26160b8a661STadhg Kearney
2621f5cfe96SAnoob Joseph* **Added security performance test application.**
2631f5cfe96SAnoob Joseph
2641f5cfe96SAnoob Joseph  Added new application to test ``rte_security`` session create/destroy
2651f5cfe96SAnoob Joseph  performance.
2661f5cfe96SAnoob Joseph  See the :doc:`../tools/securityperf` for more details.
2671f5cfe96SAnoob Joseph
2686938fc92SVolodymyr Fialko* **Updated IPsec sample application.**
2696938fc92SVolodymyr Fialko
2706938fc92SVolodymyr Fialko  Added support for lookaside sessions in event mode.
2716938fc92SVolodymyr Fialko  See the :doc:`../sample_app_ug/ipsec_secgw` for more details.
2726938fc92SVolodymyr Fialko
27336128a67SGowrishankar Muthukrishnan* **Updated FIPS validation sample application.**
27436128a67SGowrishankar Muthukrishnan
27536128a67SGowrishankar Muthukrishnan  Added support for asymmetric crypto algorithms.
27636128a67SGowrishankar Muthukrishnan  See the :doc:`../sample_app_ug/fips_validation` for more details.
27736128a67SGowrishankar Muthukrishnan
27850b2a419SJohn McNamara* **Rewrote pmdinfo script.**
2790ce3cf4aSRobin Jarry
2800ce3cf4aSRobin Jarry  The ``dpdk-pmdinfo.py`` script was rewritten to produce valid JSON only.
2810ce3cf4aSRobin Jarry  PCI-IDs parsing has been removed.
2820ce3cf4aSRobin Jarry  To get a similar output to the (now removed) ``-r/--raw`` flag,
2830ce3cf4aSRobin Jarry  the following command may be used:
2840ce3cf4aSRobin Jarry
2850ce3cf4aSRobin Jarry  .. code-block:: sh
2860ce3cf4aSRobin Jarry
2870ce3cf4aSRobin Jarry     strings $dpdk_binary_or_driver | sed -n 's/^PMD_INFO_STRING= //p'
2880ce3cf4aSRobin Jarry
28972206323SDavid Marchand
29072206323SDavid MarchandRemoved Items
29172206323SDavid Marchand-------------
29272206323SDavid Marchand
2936277523cSDavid Marchand* mem: Removed not implemented and deprecated ``rte_malloc_set_limit``.
2946277523cSDavid Marchand
29513f8de92SIvan Malov* ethdev: removed ``RTE_FLOW_ITEM_TYPE_PF``;
29650b2a419SJohn McNamara  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
29713f8de92SIvan Malov
2985c45fde3SIvan Malov* ethdev: removed ``RTE_FLOW_ITEM_TYPE_VF``;
29950b2a419SJohn McNamara  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
3005c45fde3SIvan Malov
3015e3779b7SIvan Malov* ethdev: removed ``RTE_FLOW_ITEM_TYPE_PHY_PORT``;
30250b2a419SJohn McNamara  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
3035e3779b7SIvan Malov
304235558feSIvan Malov* ethdev: removed ``RTE_FLOW_ACTION_TYPE_PHY_PORT``;
30550b2a419SJohn McNamara  use ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT`` instead.
306235558feSIvan Malov
3078ff9bb8aSAndrew Rybchenko* ethdev: removed ``OF_SET_MPLS_TTL``, ``OF_DEC_MPLS_TTL``,
3088ff9bb8aSAndrew Rybchenko  ``OF_SET_NW_TTL``, ``OF_COPY_TTL_OUT`` and ``OF_COPY_TTL_IN``
3098ff9bb8aSAndrew Rybchenko  which are not actually supported by any PMD.
310e7b571a9SAndrew Rybchenko  ``MODIFY_FIELD`` action should be used to do packet edits via flow API.
311e7b571a9SAndrew Rybchenko
3125b546fa7SDavid Marchand* vhost: Removed deprecated ``rte_vhost_gpa_to_vva`` and
3135b546fa7SDavid Marchand  ``rte_vhost_get_queue_num`` helpers.
3145b546fa7SDavid Marchand
31572206323SDavid Marchand
31672206323SDavid MarchandAPI Changes
31772206323SDavid Marchand-----------
31872206323SDavid Marchand
31950b2a419SJohn McNamara* eal: ``RTE_FUNC_PTR_OR_*`` macros have been marked deprecated and will be removed
3208f1d23ecSDavid Marchand  in the future. Applications can use ``devtools/cocci/func_or_ret.cocci``
3218f1d23ecSDavid Marchand  to update their code.
3228f1d23ecSDavid Marchand
32350b2a419SJohn McNamara* eal: Updated ``rte_eal_remote_launch`` so it returns ``-EPIPE`` in case of
3249856af40SBruce Richardson  a read or write error on the pipe, instead of calling ``rte_panic``.
3259856af40SBruce Richardson
32650b2a419SJohn McNamara* eal: Updated return types for ``rte_{bsf,fls}`` inline functions
3274b81c145STyler Retzlaff  to be consistently ``uint32_t``.
3284b81c145STyler Retzlaff
32950b2a419SJohn McNamara* mempool: Deprecated helper macro ``MEMPOOL_HEADER_SIZE()`` has been removed.
330b0831090SAndrew Rybchenko  The replacement macro ``RTE_MEMPOOL_HEADER_SIZE()`` is internal only.
331b0831090SAndrew Rybchenko
3326efe9ff2SAndrew Rybchenko* mempool: Deprecated macro to register mempool driver
33350b2a419SJohn McNamara  ``MEMPOOL_REGISTER_OPS()`` has been removed. Use replacement macro
3346efe9ff2SAndrew Rybchenko  ``RTE_MEMPOOL_REGISTER_OPS()`` instead.
3356efe9ff2SAndrew Rybchenko
336f51abd43SAndrew Rybchenko* mempool: Deprecated macros ``MEMPOOL_PG_NUM_DEFAULT`` and
33750b2a419SJohn McNamara  ``MEMPOOL_PG_SHIFT_MAX`` have been removed. These macros are not used and
338f51abd43SAndrew Rybchenko  not required any more.
339f51abd43SAndrew Rybchenko
340b9b50924SAndrew Rybchenko* mbuf: Removed deprecated ``PKT_*`` flags.
341b9b50924SAndrew Rybchenko  Use corresponding flags with ``RTE_MBUF_F_`` prefix instead.
34250b2a419SJohn McNamara  Applications can use ``devtools/cocci/prefix_mbuf_offload_flags.cocci``
343b9b50924SAndrew Rybchenko  to replace all occurrences of old mbuf flags in C code.
344b9b50924SAndrew Rybchenko
3457dcd73e3SOlivier Matz* bus: Changed the device numa node to -1 when NUMA information is unavailable.
3467dcd73e3SOlivier Matz  The ``dev->device.numa_node`` field is set by each bus driver for
3477dcd73e3SOlivier Matz  every device it manages to indicate on which NUMA node this device lies.
3487dcd73e3SOlivier Matz  When this information is unknown, the assigned value was not consistent
3497dcd73e3SOlivier Matz  across the bus drivers. This similarly impacts ``rte_eth_dev_socket_id()``.
3507dcd73e3SOlivier Matz
351a04322f6SDavid Marchand* bus: Registering a bus has been marked as an internal API.
352a04322f6SDavid Marchand  External users may still register their bus using the ``bus_driver.h``
353a04322f6SDavid Marchand  driver header (see ``enable_driver_sdk`` meson option).
354a04322f6SDavid Marchand  The ``rte_bus`` object is now opaque and must be manipulated through added
355a04322f6SDavid Marchand  accessors.
356a04322f6SDavid Marchand
3574851ef2bSDavid Marchand* drivers: Registering a driver on the ``auxiliary``, ``ifpga``, ``pci``,
35884aaf06dSDavid Marchand  ``vdev``, ``vmbus`` buses has been marked as an internal API.
359b3f89090SDavid Marchand  External users may still register their driver using the associated driver
360b3f89090SDavid Marchand  headers (see ``enable_driver_sdk`` meson option).
361fbd59c8eSDavid Marchand  The ``rte_driver`` and ``rte_device`` objects are now opaque and must be
362fbd59c8eSDavid Marchand  manipulated through added accessors.
363b3f89090SDavid Marchand
364667c74deSAndrew Rybchenko* ethdev: Removed deprecated macros. Applications can use ``devtools/cocci/namespace_ethdev.cocci``
365667c74deSAndrew Rybchenko  to update their code.
366667c74deSAndrew Rybchenko
367667c74deSAndrew Rybchenko  * Removed deprecated ``ETH_LINK_SPEED_*``, ``ETH_SPEED_NUM_*`` and ``ETH_LINK_*``
368667c74deSAndrew Rybchenko    (duplex-related) defines.  Use corresponding defines with ``RTE_`` prefix
369667c74deSAndrew Rybchenko    instead.
370667c74deSAndrew Rybchenko
3710593c208SAndrew Rybchenko  * Removed deprecated ``ETH_MQ_RX_*`` and ``ETH_MQ_TX_*`` defines.
3720593c208SAndrew Rybchenko    Use corresponding defines with ``RTE_`` prefix instead.
3730593c208SAndrew Rybchenko
374683f93efSAndrew Rybchenko  * Removed deprecated ``ETH_RSS_*`` defines for hash function and
375683f93efSAndrew Rybchenko    RETA size specification. Use corresponding defines with ``RTE_`` prefix
376683f93efSAndrew Rybchenko    instead.
377683f93efSAndrew Rybchenko
3783be1c233SAndrew Rybchenko  * Removed deprecated ``DEV_RX_OFFLOAD_*`` and ``DEV_TX_OFFLOAD_``
3793be1c233SAndrew Rybchenko    defines. Use corresponding defines with ``RTE_ETH_RX_OFFLOAD_`` and
3803be1c233SAndrew Rybchenko    ``RTE_ETH_TX_OFFLOAD_`` prefix instead.
3813be1c233SAndrew Rybchenko
382935b9a43SAndrew Rybchenko  * Removed deprecated ``ETH_DCB_*``, ``ETH_VMDQ_``, ``ETH_*_TCS``,
383935b9a43SAndrew Rybchenko    ``ETH_*_POOLS`` and ``ETH_MAX_VMDQ_POOL`` defines. Use corresponding
384935b9a43SAndrew Rybchenko    defines with ``RTE_`` prefix instead.
385935b9a43SAndrew Rybchenko
38625b77b60SAndrew Rybchenko  * Removed deprecated ``RTE_TUNNEL_*`` defines. Use corresponding
38725b77b60SAndrew Rybchenko    defines with ``RTE_ETH_TUNNEL_`` prefix instead.
38825b77b60SAndrew Rybchenko
38925def33dSAndrew Rybchenko  * Removed deprecated ``RTE_FC_*`` defines. Use corresponding
39025def33dSAndrew Rybchenko    defines with ``RTE_ETH_FC_`` prefix instead.
39125def33dSAndrew Rybchenko
392ab870119SAndrew Rybchenko  * Removed deprecated ``ETH_VLAN_*`` and ``ETH_QINQ_`` defines.
393ab870119SAndrew Rybchenko    Use corresponding defines with ``RTE_`` prefix instead.
394ab870119SAndrew Rybchenko
39516acf7b1SAndrew Rybchenko  * Removed deprecated ``ETH_NUM_RECEIVE_MAC_ADDR`` define.
39616acf7b1SAndrew Rybchenko    Use corresponding define with ``RTE_`` prefix instead.
39716acf7b1SAndrew Rybchenko
39836eccf7bSAndrew Rybchenko  * Removed deprecated ``PKT_{R,T}X_DYNF_METADATA`` defines.
39936eccf7bSAndrew Rybchenko    Use corresponding defines ``RTE_MBUF_DYNFLAG_{R,T}X_METADATA`` instead.
40036eccf7bSAndrew Rybchenko
4015007ac13SAndrew Rybchenko* ethdev: Removed deprecated Flow Director configuration from device
4025007ac13SAndrew Rybchenko  configuration (``dev_conf.fdir_conf``). Moved corresponding structures
4035007ac13SAndrew Rybchenko  to internal API since some drivers still use it internally.
4045007ac13SAndrew Rybchenko
4058d54b1ecSXuan Ding* ethdev: Removed the Rx offload flag ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``
4068d54b1ecSXuan Ding  and field ``split_hdr_size`` from the structure ``rte_eth_rxmode``
4078d54b1ecSXuan Ding  used to configure header split.
4088d54b1ecSXuan Ding  Instead, user can still use ``RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT``
4098d54b1ecSXuan Ding  for per-queue packet split offload,
4108d54b1ecSXuan Ding  which is configured by ``rte_eth_rxseg_split``.
4118d54b1ecSXuan Ding
412605975b8SYuan Wang* ethdev: The ``reserved`` field in the ``rte_eth_rxseg_split`` structure is
413605975b8SYuan Wang  replaced with ``proto_hdr`` to support protocol header based buffer split.
414605975b8SYuan Wang  User can choose length or protocol header to configure buffer split
415605975b8SYuan Wang  according to NIC's capability.
416605975b8SYuan Wang
4173a26e41eSSatha Rao* ethdev: Changed the type of the parameter ``rate`` of the function
4183a26e41eSSatha Rao  ``rte_eth_set_queue_rate_limit()`` from ``uint16_t`` to ``uint32_t``
4193a26e41eSSatha Rao  to support more than 64 Gbps.
4203a26e41eSSatha Rao  Changed the type of the parameter ``tx_rate`` of the functions
4213a26e41eSSatha Rao  ``rte_pmd_bnxt_set_vf_rate_limit()`` and
4223a26e41eSSatha Rao  ``rte_pmd_ixgbe_set_vf_rate_limit()`` in the same way for consistency.
4233a26e41eSSatha Rao
424fc0a9293SIvan Malov* ethdev: Promoted ``rte_eth_rx_metadata_negotiate()``
425fc0a9293SIvan Malov  from experimental to stable.
426fc0a9293SIvan Malov
42741b7de35SIvan Malov* ethdev: Promoted the following flow primitives
42841b7de35SIvan Malov  from experimental to stable:
42941b7de35SIvan Malov
43041b7de35SIvan Malov  - ``RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR``
43141b7de35SIvan Malov  - ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT``
43241b7de35SIvan Malov  - ``RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR``
43341b7de35SIvan Malov  - ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT``
43441b7de35SIvan Malov
43550a239faSIvan Malov* ethdev: Promoted ``rte_flow_pick_transfer_proxy()``
43650a239faSIvan Malov  from experimental to stable.
43750a239faSIvan Malov
438bd2a4d4bSIvan Malov* ethdev: Banned the use of attributes ``ingress``/``egress`` in "transfer"
43950b2a419SJohn McNamara  flows, as the final step of the deprecation process that had been started
440bd2a4d4bSIvan Malov  in DPDK 21.11. See items ``PORT_REPRESENTOR``, ``REPRESENTED_PORT``.
441bd2a4d4bSIvan Malov
442755a8eafSMaxime Coquelin* vhost: Promoted ``rte_vhost_vring_stats_get()``,
443755a8eafSMaxime Coquelin  ``rte_vhost_vring_stats_get_names()`` and ``rte_vhost_vring_stats_reset()``
444755a8eafSMaxime Coquelin  from experimental to stable.
445755a8eafSMaxime Coquelin
4462a440d6aSAkhil Goyal* cryptodev: The structure ``rte_cryptodev_sym_session`` was made internal.
4472a440d6aSAkhil Goyal  The API ``rte_cryptodev_sym_session_init`` and ``rte_cryptodev_sym_session_clear``
4482a440d6aSAkhil Goyal  were removed and user would only need to call ``rte_cryptodev_sym_session_create``
4492a440d6aSAkhil Goyal  and ``rte_cryptodev_sym_session_free`` to create/destroy sessions.
4502a440d6aSAkhil Goyal  The API ``rte_cryptodev_sym_session_create`` was updated to take a single mempool
4512a440d6aSAkhil Goyal  with element size big enough to hold session data and session private data.
4522a440d6aSAkhil Goyal  All sample applications were updated to attach an opaque pointer for the session
4532a440d6aSAkhil Goyal  to the ``rte_crypto_op`` while enqueuing.
4542a440d6aSAkhil Goyal
4552973dbf9SAkhil Goyal* security: The structure ``rte_security_session`` was made internal
4562973dbf9SAkhil Goyal  and corresponding functions were updated to take/return an opaque session pointer.
4572973dbf9SAkhil Goyal  The API ``rte_security_session_create`` was updated to take only one mempool
4582973dbf9SAkhil Goyal  which has enough space to hold session and driver private data.
4592973dbf9SAkhil Goyal
46050b2a419SJohn McNamara* security: MACsec support has been added which resulted in updates
461bbbe6c59SAkhil Goyal  to structures ``rte_security_macsec_xform``, ``rte_security_macsec_stats``
462bbbe6c59SAkhil Goyal  and security capability structure ``rte_security_capability``
463bbbe6c59SAkhil Goyal  to accommodate MACsec capabilities.
464bbbe6c59SAkhil Goyal
46568d25915SSrujana Challa* security: The experimental API ``rte_security_get_userdata`` was being unused
46668d25915SSrujana Challa  by most of the drivers and it was retrieving userdata from mbuf dynamic field.
46768d25915SSrujana Challa  The API is now removed and the application can directly get the userdata from
46868d25915SSrujana Challa  mbuf dynamic field.
46968d25915SSrujana Challa
470c1749bc5SVolodymyr Fialko* eventdev: The function ``rte_event_crypto_adapter_queue_pair_add`` was updated
471c1749bc5SVolodymyr Fialko  to accept configuration of type ``rte_event_crypto_adapter_queue_conf``
472c1749bc5SVolodymyr Fialko  instead of ``rte_event``,
473c1749bc5SVolodymyr Fialko  similar to ``rte_event_eth_rx_adapter_queue_add`` signature.
474c1749bc5SVolodymyr Fialko  Event will be one of the configuration fields,
475c1749bc5SVolodymyr Fialko  together with additional vector parameters.
476c1749bc5SVolodymyr Fialko
477922e71b5SPavan Nikhilesh* eventdev: The function pointer definition ``eventdev_stop_flush_t``
478922e71b5SPavan Nikhilesh  is renamed to ``rte_eventdev_stop_flush_t``
479922e71b5SPavan Nikhilesh  to avoid conflicts with application symbols.
480922e71b5SPavan Nikhilesh
4811bdfe4d7SPavan Nikhilesh* eventdev: The data type of the ID parameter in the functions
4821bdfe4d7SPavan Nikhilesh  ``rte_event_dev_xstats_names_get``, ``rte_event_dev_xstats_get``,
4831bdfe4d7SPavan Nikhilesh  ``rte_event_dev_xstats_by_name_get`` and ``rte_event_dev_xstats_reset``
4841bdfe4d7SPavan Nikhilesh  is changed to ``uint64_t`` from ``unsigned int`` and ``uint32_t``.
4851bdfe4d7SPavan Nikhilesh
4866d03ef60SBruce Richardson* metrics: Updated ``rte_metrics_init`` so it returns an error code instead
4876d03ef60SBruce Richardson  of calling ``rte_exit``.
4886d03ef60SBruce Richardson
489b64b2a6cSBruce Richardson* telemetry: The allowed characters in names for dictionary values
490b64b2a6cSBruce Richardson  are now limited to alphanumeric characters and a small subset of additional
491b64b2a6cSBruce Richardson  printable characters.
492b64b2a6cSBruce Richardson  This will ensure that all dictionary parameter names can be output
493b64b2a6cSBruce Richardson  without escaping in JSON - or in any future output format used.
494b64b2a6cSBruce Richardson  Names for the telemetry commands are now similarly limited.
495b64b2a6cSBruce Richardson  The parameters for telemetry commands are unaffected by this change.
496b64b2a6cSBruce Richardson
4979c1b4ae5SDavid Marchand* raw/ifgpa: The function ``rte_pmd_ifpga_get_pci_bus`` has been removed.
4989c1b4ae5SDavid Marchand
49972206323SDavid Marchand
50072206323SDavid MarchandABI Changes
50172206323SDavid Marchand-----------
50272206323SDavid Marchand
5038ae94697SAbdullah Ömer Yamaç* eal: Updated EAL thread names from ``lcore-worker-<lcore_id>`` to
5048ae94697SAbdullah Ömer Yamaç  ``rte-worker-<lcore_id>`` so that DPDK can accommodate lcores higher than 99.
5058ae94697SAbdullah Ömer Yamaç
5065812b327SShijith Thotton* mbuf: Replaced ``buf_iova`` field with ``next`` field and added a new field
5075812b327SShijith Thotton  ``dynfield2`` at its place in second cacheline if ``RTE_IOVA_AS_PA`` is 0.
5085812b327SShijith Thotton
50913f8de92SIvan Malov* ethdev: enum ``RTE_FLOW_ITEM`` was affected by deprecation procedure.
51013f8de92SIvan Malov
511235558feSIvan Malov* ethdev: enum ``RTE_FLOW_ACTION`` was affected by deprecation procedure.
512235558feSIvan Malov
513e70212ccSNicolas Chautru* bbdev: enum ``rte_bbdev_op_type`` was affected to remove ``RTE_BBDEV_OP_TYPE_COUNT``
514e70212ccSNicolas Chautru  and to allow for futureproof enum insertion a padded ``RTE_BBDEV_OP_TYPE_SIZE_MAX``
515e70212ccSNicolas Chautru  macro is added.
516e70212ccSNicolas Chautru
5171be86f2eSNicolas Chautru* bbdev: Structure ``rte_bbdev_driver_info`` was updated to add new parameters
51853115a4eSNicolas Chautru  for queue topology, device status using ``rte_bbdev_device_status``.
5191be86f2eSNicolas Chautru
5204f08028cSNicolas Chautru* bbdev: Structure ``rte_bbdev_queue_data`` was updated to add new parameter
5214f08028cSNicolas Chautru  for enqueue status using ``rte_bbdev_enqueue_status``.
5224f08028cSNicolas Chautru
5233d9d8adfSNaga Harish K S V* eventdev: Added ``evtim_drop_count`` field
5243d9d8adfSNaga Harish K S V  to ``rte_event_timer_adapter_stats`` structure.
5253d9d8adfSNaga Harish K S V
5262f279a1bSShijith Thotton* eventdev: Added ``weight`` and ``affinity`` fields
5272f279a1bSShijith Thotton  to ``rte_event_queue_conf`` structure.
5282f279a1bSShijith Thotton
529922e71b5SPavan Nikhilesh* eventdev: The field ``*u64s`` in the structure ``rte_event_vector`` is replaced
53050b2a419SJohn McNamara  with ``u64s`` as the field is supposed to hold an array of ``uint64_t`` values.
531922e71b5SPavan Nikhilesh
532922e71b5SPavan Nikhilesh* eventdev: The structure ``rte_event_vector`` was updated to include a new bit
533922e71b5SPavan Nikhilesh  field ``elem_offset:12``. The bits are taken from the bitfield ``rsvd:15``.
534922e71b5SPavan Nikhilesh
53572206323SDavid Marchand
53672206323SDavid MarchandTested Platforms
53772206323SDavid Marchand----------------
53872206323SDavid Marchand
53967cb9cbeSLingli Chen* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
54067cb9cbeSLingli Chen
54167cb9cbeSLingli Chen  * CPU
54267cb9cbeSLingli Chen
54367cb9cbeSLingli Chen    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
54467cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
54567cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
54667cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
54767cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
54867cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz
54967cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
55067cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
55167cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
55267cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
55367cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz
55467cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
55567cb9cbeSLingli Chen    * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
55667cb9cbeSLingli Chen
55767cb9cbeSLingli Chen  * OS:
55867cb9cbeSLingli Chen
55967cb9cbeSLingli Chen    * Fedora 36
56067cb9cbeSLingli Chen    * FreeBSD 13.1
56167cb9cbeSLingli Chen    * Red Hat Enterprise Linux Server release 8.6
56267cb9cbeSLingli Chen    * Red Hat Enterprise Linux Server release 9
56367cb9cbeSLingli Chen    * CentOS 7.9
56467cb9cbeSLingli Chen    * Ubuntu 20.04.5
56567cb9cbeSLingli Chen    * Ubuntu 22.04.1
56667cb9cbeSLingli Chen    * Ubuntu 22.10
56767cb9cbeSLingli Chen    * SUSE Linux Enterprise Server 15 SP4
56867cb9cbeSLingli Chen
56967cb9cbeSLingli Chen  * NICs:
57067cb9cbeSLingli Chen
57167cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
57267cb9cbeSLingli Chen
57367cb9cbeSLingli Chen      * Firmware version: 4.10 0x800151d8 1.3310.0
57467cb9cbeSLingli Chen      * Device id (pf/vf): 8086:1593 / 8086:1889
57567cb9cbeSLingli Chen      * Driver version(out-tree): 1.10.6 (ice)
57667cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic / 4.18.0-372.9.1.rt7.166.el8.x86_64 (ice)
57767cb9cbeSLingli Chen      * OS Default DDP: 1.3.30.0
57867cb9cbeSLingli Chen      * COMMS DDP: 1.3.37.0
57967cb9cbeSLingli Chen      * Wireless Edge DDP: 1.3.10.0
58067cb9cbeSLingli Chen
58167cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
58267cb9cbeSLingli Chen
58367cb9cbeSLingli Chen      * Firmware version: 4.10 0x8001518e 1.3310.0
58467cb9cbeSLingli Chen      * Device id (pf/vf): 8086:1592 / 8086:1889
58567cb9cbeSLingli Chen      * Driver version: 1.10.6 (ice)
58667cb9cbeSLingli Chen      * OS Default DDP: 1.3.30.0
58767cb9cbeSLingli Chen      * COMMS DDP: 1.3.37.0
58867cb9cbeSLingli Chen      * Wireless Edge DDP: 1.3.10.0
58967cb9cbeSLingli Chen
59067cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
59167cb9cbeSLingli Chen
59267cb9cbeSLingli Chen      * Firmware version: 4.10 0x80015188 1.3310.0
59367cb9cbeSLingli Chen      * Device id (pf/vf): 8086:159b / 8086:1889
59467cb9cbeSLingli Chen      * Driver version: 1.10.6 (ice)
59567cb9cbeSLingli Chen      * OS Default DDP: 1.3.30.0
59667cb9cbeSLingli Chen      * COMMS DDP: 1.3.37.0
59767cb9cbeSLingli Chen
59867cb9cbeSLingli Chen    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
59967cb9cbeSLingli Chen
60067cb9cbeSLingli Chen      * Firmware version: 0x61bf0001
60167cb9cbeSLingli Chen      * Device id (pf/vf): 8086:10fb / 8086:10ed
60267cb9cbeSLingli Chen      * Driver version(out-tree): 5.16.5 (ixgbe)
60367cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (ixgbe)
60467cb9cbeSLingli Chen
60567cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
60667cb9cbeSLingli Chen
60767cb9cbeSLingli Chen      * Firmware version: 9.00 0x8000cead 1.3179.0
60867cb9cbeSLingli Chen      * Device id (pf/vf): 8086:1572 / 8086:154c
60967cb9cbeSLingli Chen      * Driver version(out-tree): 2.20.12 (i40e)
61067cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (i40e)
61167cb9cbeSLingli Chen
61267cb9cbeSLingli Chen    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
61367cb9cbeSLingli Chen
61467cb9cbeSLingli Chen      * Firmware version: 6.00 0x800039ec 1.3179.0
61567cb9cbeSLingli Chen      * Device id (pf/vf): 8086:37d0 / 8086:37cd
61667cb9cbeSLingli Chen      * Driver version(out-tree): 2.20.12 (i40e)
61767cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (i40e)
61867cb9cbeSLingli Chen
61967cb9cbeSLingli Chen    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
62067cb9cbeSLingli Chen
62167cb9cbeSLingli Chen      * Firmware version: 6.00 0x800039aa 1.2935.0
62267cb9cbeSLingli Chen      * Device id (pf/vf): 8086:37d2 / 8086:37cd
62367cb9cbeSLingli Chen      * Driver version(out-tree): 2.20.12 (i40e)
62467cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (i40e)
62567cb9cbeSLingli Chen
62667cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
62767cb9cbeSLingli Chen
62867cb9cbeSLingli Chen      * Firmware version: 9.00 0x8000ce90 1.3179.0
62967cb9cbeSLingli Chen      * Device id (pf/vf): 8086:158b / 8086:154c
63067cb9cbeSLingli Chen      * Driver version(out-tree): 2.20.12 (i40e)
63167cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (i40e)
63267cb9cbeSLingli Chen
63367cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
63467cb9cbeSLingli Chen
63567cb9cbeSLingli Chen      * Firmware version(PF): 9.00 0x8000ce86 1.3179.0
63667cb9cbeSLingli Chen      * Device id (pf/vf): 8086:1583 / 8086:154c
63767cb9cbeSLingli Chen      * Driver version(out-tree): 2.20.12 (i40e)
63867cb9cbeSLingli Chen      * Driver version(in-tree): 5.15.0-46-generic (i40e)
63967cb9cbeSLingli Chen
64067cb9cbeSLingli Chen    * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
64167cb9cbeSLingli Chen
64267cb9cbeSLingli Chen      * Firmware version: 9.00 0x8000ce67 1.3179.0
64367cb9cbeSLingli Chen      * Device id (pf): 8086:15ff
64467cb9cbeSLingli Chen      * Driver version: 2.20.12 (i40e)
6452eecbca1SRaslan Darawsheh
6462eecbca1SRaslan Darawsheh* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
6472eecbca1SRaslan Darawsheh
6482eecbca1SRaslan Darawsheh  * CPU:
6492eecbca1SRaslan Darawsheh
6502eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
6512eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
6522eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
6532eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
6542eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
6552eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
6562eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
6572eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
6582eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
6592eecbca1SRaslan Darawsheh    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
6602eecbca1SRaslan Darawsheh
6612eecbca1SRaslan Darawsheh  * OS:
6622eecbca1SRaslan Darawsheh
6632eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux release 8.6 (Ootpa)
6642eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux release 8.4 (Ootpa)
6652eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux release 8.2 (Ootpa)
6662eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux Server release 7.9 (Maipo)
6672eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux Server release 7.8 (Maipo)
6682eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
6692eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux Server release 7.5 (Maipo)
6702eecbca1SRaslan Darawsheh    * Red Hat Enterprise Linux Server release 7.4 (Maipo)
6712eecbca1SRaslan Darawsheh    * Ubuntu 22.04
6722eecbca1SRaslan Darawsheh    * Ubuntu 20.04
6732eecbca1SRaslan Darawsheh    * Ubuntu 18.04
6742eecbca1SRaslan Darawsheh    * SUSE Enterprise Linux 15 SP2
6752eecbca1SRaslan Darawsheh
6762eecbca1SRaslan Darawsheh  * OFED:
6772eecbca1SRaslan Darawsheh
6782eecbca1SRaslan Darawsheh    * MLNX_OFED 5.8-1.0.1.1 and above
6792eecbca1SRaslan Darawsheh    * MLNX_OFED 5.7-1.0.2.0
6802eecbca1SRaslan Darawsheh
6812eecbca1SRaslan Darawsheh  * upstream kernel:
6822eecbca1SRaslan Darawsheh
6832eecbca1SRaslan Darawsheh    * Linux 6.1.0-rc3 and above
6842eecbca1SRaslan Darawsheh
6852eecbca1SRaslan Darawsheh  * rdma-core:
6862eecbca1SRaslan Darawsheh
6872eecbca1SRaslan Darawsheh    * rdma-core-43.0 and above
6882eecbca1SRaslan Darawsheh
6892eecbca1SRaslan Darawsheh  * NICs:
6902eecbca1SRaslan Darawsheh
6912eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
6922eecbca1SRaslan Darawsheh
6932eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x8
6942eecbca1SRaslan Darawsheh      * Device ID: 15b3:1007
6952eecbca1SRaslan Darawsheh      * Firmware version: 2.42.5000
6962eecbca1SRaslan Darawsheh
6972eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
6982eecbca1SRaslan Darawsheh
6992eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x8
7002eecbca1SRaslan Darawsheh      * Device ID: 15b3:1007
7012eecbca1SRaslan Darawsheh      * Firmware version: 2.42.5000
7022eecbca1SRaslan Darawsheh
7032eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
7042eecbca1SRaslan Darawsheh
7052eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x8
7062eecbca1SRaslan Darawsheh      * Device ID: 15b3:1015
7072eecbca1SRaslan Darawsheh      * Firmware version: 14.32.1010 and above
7082eecbca1SRaslan Darawsheh
7092eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
7102eecbca1SRaslan Darawsheh
7112eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x8
7122eecbca1SRaslan Darawsheh      * Device ID: 15b3:1015
7132eecbca1SRaslan Darawsheh      * Firmware version: 14.32.1010 and above
7142eecbca1SRaslan Darawsheh
7152eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
7162eecbca1SRaslan Darawsheh
7172eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x16
7182eecbca1SRaslan Darawsheh      * Device ID: 15b3:1017
7192eecbca1SRaslan Darawsheh      * Firmware version: 16.35.1012 and above
7202eecbca1SRaslan Darawsheh
7212eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
7222eecbca1SRaslan Darawsheh
7232eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x16
7242eecbca1SRaslan Darawsheh      * Device ID: 15b3:1017
7252eecbca1SRaslan Darawsheh      * Firmware version: 16.35.1012 and above
7262eecbca1SRaslan Darawsheh
7272eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
7282eecbca1SRaslan Darawsheh
7292eecbca1SRaslan Darawsheh      * Host interface: PCI Express 3.0 x16
7302eecbca1SRaslan Darawsheh      * Device ID: 15b3:1017
7312eecbca1SRaslan Darawsheh      * Firmware version: 16.35.1012 and above
7322eecbca1SRaslan Darawsheh
7332eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
7342eecbca1SRaslan Darawsheh
7352eecbca1SRaslan Darawsheh      * Host interface: PCI Express 4.0 x16
7362eecbca1SRaslan Darawsheh      * Device ID: 15b3:1019
7372eecbca1SRaslan Darawsheh      * Firmware version: 16.35.1012 and above
7382eecbca1SRaslan Darawsheh
7392eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
7402eecbca1SRaslan Darawsheh
7412eecbca1SRaslan Darawsheh      * Host interface: PCI Express 4.0 x16
7422eecbca1SRaslan Darawsheh      * Device ID: 15b3:101d
7432eecbca1SRaslan Darawsheh      * Firmware version: 22.35.1012 and above
7442eecbca1SRaslan Darawsheh
7452eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
7462eecbca1SRaslan Darawsheh
7472eecbca1SRaslan Darawsheh      * Host interface: PCI Express 4.0 x8
7482eecbca1SRaslan Darawsheh      * Device ID: 15b3:101f
7492eecbca1SRaslan Darawsheh      * Firmware version: 26.35.1012 and above
7502eecbca1SRaslan Darawsheh
7512eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
7522eecbca1SRaslan Darawsheh
7532eecbca1SRaslan Darawsheh      * Host interface: PCI Express 5.0 x16
7542eecbca1SRaslan Darawsheh      * Device ID: 15b3:1021
7552eecbca1SRaslan Darawsheh      * Firmware version: 28.35.1012 and above
7562eecbca1SRaslan Darawsheh
7572eecbca1SRaslan Darawsheh* NVIDIA\ |reg| BlueField\ |reg| SmartNIC
7582eecbca1SRaslan Darawsheh
7592eecbca1SRaslan Darawsheh  * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
7602eecbca1SRaslan Darawsheh
7612eecbca1SRaslan Darawsheh    * Host interface: PCI Express 3.0 x16
7622eecbca1SRaslan Darawsheh    * Device ID: 15b3:a2d6
7632eecbca1SRaslan Darawsheh    * Firmware version: 24.35.1012 and above
7642eecbca1SRaslan Darawsheh
7652eecbca1SRaslan Darawsheh  * Embedded software:
7662eecbca1SRaslan Darawsheh
7672eecbca1SRaslan Darawsheh    * Ubuntu 20.04.3
7682eecbca1SRaslan Darawsheh    * MLNX_OFED 5.8-1.0.1.1 and above
7692eecbca1SRaslan Darawsheh    * DOCA 1.5 with BlueField 3.9.3
7702eecbca1SRaslan Darawsheh    * DPDK application running on ARM cores
7712eecbca1SRaslan Darawsheh
7722eecbca1SRaslan Darawsheh* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
7732eecbca1SRaslan Darawsheh
7742eecbca1SRaslan Darawsheh  * CPU:
7752eecbca1SRaslan Darawsheh
7762eecbca1SRaslan Darawsheh    * POWER9 2.2 (pvr 004e 1202)
7772eecbca1SRaslan Darawsheh
7782eecbca1SRaslan Darawsheh  * OS:
7792eecbca1SRaslan Darawsheh
7802eecbca1SRaslan Darawsheh    * Ubuntu 20.04
7812eecbca1SRaslan Darawsheh
7822eecbca1SRaslan Darawsheh  * NICs:
7832eecbca1SRaslan Darawsheh
7842eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
7852eecbca1SRaslan Darawsheh
7862eecbca1SRaslan Darawsheh      * Host interface: PCI Express 4.0 x16
7872eecbca1SRaslan Darawsheh      * Device ID: 15b3:1017
7882eecbca1SRaslan Darawsheh      * Firmware version: 16.35.1012
7892eecbca1SRaslan Darawsheh
7902eecbca1SRaslan Darawsheh    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
7912eecbca1SRaslan Darawsheh
7922eecbca1SRaslan Darawsheh      * Host interface: PCI Express 4.0 x16
7932eecbca1SRaslan Darawsheh      * Device ID: 15b3:101d
7942eecbca1SRaslan Darawsheh      * Firmware version: 22.35.1012
7952eecbca1SRaslan Darawsheh
7962eecbca1SRaslan Darawsheh  * OFED:
7972eecbca1SRaslan Darawsheh
7982eecbca1SRaslan Darawsheh    * MLNX_OFED 5.8-1.0.1.1
799