DPDK Release 21.02
==================
-.. **Read this first.**
+.. note::
- The text in the sections below explains how to update the release notes.
+ A **dependency** has been added for building DPDK on Linux or FreeBSD:
+ the Python module **pyelftools** (version **0.22** or greater),
+ often packaged as python3-pyelftools, is required.
- Use proper spelling, capitalization and punctuation in all sections.
+ If not available as a distribution package, it can be installed with::
- Variable and config names should be quoted as fixed width text:
- ``LIKE_THIS``.
-
- Build the docs and view the output file to ensure the changes are correct::
-
- make doc-guides-html
- xdg-open build/doc/html/guides/rel_notes/release_21_02.html
+ pip3 install pyelftools
New Features
------------
-.. This section should contain new features added in this release.
- Sample format:
-
- * **Add a title in the past tense with a full stop.**
-
- Add a short 1-2 sentence description in the past tense.
- The description should be enough to allow someone scanning
- the release notes to understand the new feature.
-
- If the feature adds a lot of sub-features you can use a bullet list
- like this:
-
- * Added feature foo to do something.
- * Enhanced feature bar to do something else.
-
- Refer to the previous release notes for examples.
-
- Suggested order in release notes items:
- * Core libs (EAL, mempool, ring, mbuf, buses)
- * Device abstraction libs and PMDs
- - ethdev (lib, PMDs)
- - cryptodev (lib, PMDs)
- - eventdev (lib, PMDs)
- - etc
- * Other libs
- * Apps, Examples, Tools (if significant)
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
* **Added new ethdev API for PMD power management.**
Added ``rte_eth_get_monitor_addr()``, to be used in conjunction with
Added support for matching and raw encap/decap of GENEVE TLV option.
-* **Added support of modify field action in the flow API.**
+* **Added support for Modify field action in the flow API.**
- Added modify action support to perform various operations on
+ Added "modify" action support to rte_flow to perform various operations on
any arbitrary header field (as well as mark, metadata or tag values):
``RTE_FLOW_ACTION_TYPE_MODIFY_FIELD``.
Supported operations are: overwriting a field with the content from
* **Updated Cisco enic driver.**
- * Added support for 64B completion queue entries
+ * Added support for 64B completion queue entries.
* **Updated Hisilicon hns3 driver.**
- * Added support for traffic management
+ * Added support for traffic management.
* **Updated Intel i40e driver.**
- * Added support on Windows.
+ * Added Intel i40e support on Windows.
* **Updated Intel ice driver.**
Updated the Intel ice driver with new features and improvements, including:
* Added Double VLAN support for DCF switch QinQ filtering.
- * Added support for UDP dynamic port assignment for eCPRI tunnel in DCF.
+ * Added support for UDP dynamic port assignment for eCPRI tunnels in DCF.
* **Updated Intel iavf driver.**
* Introduced basic support on Windows.
* Added GTP PDU session container matching and raw encap/decap.
- * Added support for RSS action in the sample sub-actions list.
+ * Added support for a RSS action in the sample sub-actions list.
* Added support for E-Switch mirroring and jump action in the same flow.
- * Added support to handle modify action in correct order regarding the
+ * Added support to handle the modify action in correct order regarding the
mirroring action on E-Switch.
* Enlarged the number of flow priorities to 21844 (0 - 21843) for ingress or
egress flow groups greater than 0 and for any transfer flow group.
* Added inner UDP/IPv4 support for VXLAN IPv4 GSO.
-* **Added enqueue & dequeue callback APIs for cryptodev library.**
+* **Added enqueue and dequeue callback APIs for cryptodev library.**
- Cryptodev library is added with enqueue & dequeue callback APIs to
- enable applications to add/remove user callbacks which gets called
+ The Cryptodev library has been enhanced with enqueue and dequeue callback APIs to
+ enable applications to add/remove user callbacks which get called
for every enqueue/dequeue operation.
* **Updated the OCTEON TX2 crypto PMD.**
* **Added mlx5 compress PMD.**
- Added a new compress PMD driver for Bluefield 2 adapters.
+ Added a new compress PMD for Bluefield 2 adapters.
See the :doc:`../compressdevs/mlx5` for more details.
* **Added python script to run crypto perf tests and graph the results.**
- A new python script has been added to automate running crypto performance
+ A new Python script has been added to automate running crypto performance
tests and output graphed results to PDF files.
See the :doc:`../tools/cryptoperf` guide for more details.
+* **Added Windows support to pmdinfogen.**
+
+ PMD information strings were added for Windows as well as for other OS.
+ Extracting them from Windows DLL is not yet supported.
+ The build-time tool pmdinfogen was rewritten in Python,
+ thus libelf dependency was replaced with pyelftools as new build dependency.
+
* **Added support for build-time checking of header includes.**
A new build option ``check_includes`` has been added, which, when enabled,
Removed Items
-------------
-.. This section should contain removed items in this release. Sample format:
-
- * Add a short 1-2 sentence description of the removed item
- in the past tense.
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
* The internal header files ``rte_ethdev_driver.h``, ``rte_ethdev_vdev.h`` and
``rte_ethdev_pci.h`` are no longer installed as part of the DPDK
``ninja install`` action and are renamed to ``ethdev_driver.h``,
API Changes
-----------
-.. This section should contain API changes. Sample format:
-
- * sample: Add a short 1-2 sentence description of the API change
- which was announced in the previous releases and made in this release.
- Start with a scope label like "ethdev:".
- Use fixed width quotes for ``function_names`` or ``struct_names``.
- Use the past tense.
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
* config: Removed the old macros, included in ``rte_config.h``,
to indicate which DPDK libraries and drivers are built.
The new macros are generated by meson in a standardized format:
ABI Changes
-----------
-.. This section should contain ABI changes. Sample format:
-
- * sample: Add a short 1-2 sentence description of the ABI change
- which was announced in the previous releases and made in this release.
- Start with a scope label like "ethdev:".
- Use fixed width quotes for ``function_names`` or ``struct_names``.
- Use the past tense.
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
* No ABI change that would break compatibility with 20.11.
* The experimental function ``rte_telemetry_init`` has been removed from the
application need use it.
-Known Issues
-------------
-
-.. This section should contain new known issues in this release. Sample format:
-
- * **Add title in present tense with full stop.**
-
- Add a short 1-2 sentence description of the known issue
- in the present tense. Add information on any known workarounds.
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
-
Tested Platforms
----------------
-.. This section should contain a list of platforms that were tested
- with this release.
-
- The format is:
-
- * <vendor> platform with <vendor> <type of devices> combinations
-
- * List of CPU
- * List of OS
- * List of devices
- * Other relevant details...
-
- This section is a comment. Do not overwrite or remove it.
- Also, make sure to start the actual text at the margin.
- =======================================================
-
* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
* CPU
* CentOS Linux release 7.6.1810 (AltArch)
* MLNX_OFED 5.2-2.2.0 and above
* DPDK application running on Arm cores
+
+* Intel\ |reg| platforms with Broadcom\ |reg| NICs combinations
+
+ * CPU:
+
+ * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2667 v3 @ 3.20GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v2 @ 2.60GHz
+ * Intel\ |reg| Xeon\ |reg| Gold 6142 CPU @ 2.60GHz
+ * Intel\ |reg| Xeon\ |reg| CPU E3-1270 v3 @ 3.50GHz
+ * Intel\ |reg| Xeon\ |reg| Gold 6134M CPU @ 3.20GHz
+
+ * OS:
+
+ * Red Hat Enterprise Linux Server release 8.1
+ * Red Hat Enterprise Linux Server release 7.6
+ * Centos 8.1
+ * Centos 7.8
+ * Centos 7.7
+
+ * upstream kernel:
+
+ * Linux 5.3.4
+
+ * NICs:
+
+ * Broadcom\ |reg| NetXtreme-E\ |reg| Series P225p (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Firmware version: 214.4.114.0 and above
+
+ * Broadcom\ |reg| NetXtreme-E\ |reg| Series P425p (4x25G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Firmware version: 218.0.124.0 and above
+
+ * Broadcom\ |reg| NetXtreme-E\ |reg| Series P2100G (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Firmware version: 218.0.124.0 and above
+
+ * Broadcom\ |reg| NetXtreme-E\ |reg| Series P425p (4x25G)
+
+ * Host interface: PCI Express 4.0 x16
+ * Firmware version: 218.0.124.0 and above
+
+ * Broadcom\ |reg| NetXtreme-E\ |reg| Series P2100G (2x100G)
+
+ * Host interface: PCI Express 4.0 x16
+ * Firmware version: 218.0.124.0 and above
+
+* Broadcom\ |reg| NetXtreme-S\ |reg| Series SmartNIC
+
+ * Broadcom\ |reg| NetXtreme-S\ |reg| Series PS225-H16 SmartNIC (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Firmware version: 218.1.143.0
+
+ * Embedded software:
+
+ * Broadcom Yocto Linux
+ * Kernel version: 4.14.196
+ * DPDK application running on 8 Arm Cortex-A72 cores
+
+* NXP ARMv8 SoCs (with integrated NICs)
+
+ * SoC:
+
+ * LX2xxx, LS2xxx, LS10xx
+
+ * OS (based on NXP LSDK-20.04):
+
+ * Kernel version: 4.19.90
+ * Kernel version: 5.4.47
+ * Ubuntu 18.04