``rte_vect_set_max_simd_bitwidth`` function, or by the user with EAL flag
``--force-max-simd-bitwidth``.
+* **Added zero copy APIs for rte_ring.**
+
+ For rings with producer/consumer in ``RTE_RING_SYNC_ST``, ``RTE_RING_SYNC_MT_HTS``
+ modes, these APIs split enqueue/dequeue operation into three phases
+ (enqueue/dequeue start, copy data to/from ring, enqueue/dequeue finish).
+ Along with the advantages of the peek APIs, these provide the ability to
+ copy the data to the ring memory directly without the need for temporary
+ storage.
+
* **Updated CRC modules of the net library.**
* Added runtime selection of the optimal architecture-specific CRC path.
Added the FEC PMD which provides functions for query FEC capabilities and
current FEC mode from device. Also, PMD for configuring FEC mode is also provided.
+* **Updated Intel iavf driver.**
+
+ * Added support of AVX512 instructions in Rx and Tx path.
+
+* **Updated Intel ice driver.**
+
+ * Used write combining stores.
+ * Added ACL filter support for Intel DCF.
+
+* **Updated Mellanox mlx5 driver.**
+
+ Updated Mellanox mlx5 driver with new features and improvements, including:
+
+ * Added support for matching on fragmented/non-fragmented IPv4/IPv6 packets.
+ * Updated the supported timeout for Age action to the maximal value supported
+ by rte_flow API.
+ * Added support of Age action query.
+
* **Updated Solarflare network PMD.**
Updated the Solarflare ``sfc_efx`` driver with changes including:
* Added SR-IOV PF support
- * Added Alveo SN1000 SmartNICs (EF100 architecture) support
+ * Added Alveo SN1000 SmartNICs (EF100 architecture) support including
+ flow API transfer rules for switch HW offload
+
+* **Added Wangxun txgbe PMD.**
+
+ Added a new PMD driver for Wangxun 10 Gigabit Ethernet NICs.
+
+ See the :doc:`../nics/txgbe` for more details.
* **Updated Virtio driver.**
Updated the Intel ixgbe driver to use write combining stores.
-* **Updated Intel ice driver.**
-
- Updated the Intel ice driver to use write combining stores.
-
* **Updated Intel qat driver.**
Updated the Intel qat driver to use write combining stores.
Added performance tuning arguments to allow tuning the scheduler for
better throughtput in high core count use cases.
+* **Added a new driver for the Intel Dynamic Load Balancer v1.0 device.**
+
+ Added the new ``dlb`` eventdev driver for the Intel DLB V1.0 device. See the
+ :doc:`../eventdevs/dlb` eventdev guide for more details on this new driver.
+
+* **Added a new driver for the Intel Dynamic Load Balancer v2.0 device.**
+
+ Added the new ``dlb2`` eventdev driver for the Intel DLB V2.0 device. See the
+ :doc:`../eventdevs/dlb2` eventdev guide for more details on this new driver.
+
* **Updated ioat rawdev driver**
The ioat rawdev driver has been updated and enhanced. Changes include:
* Added new ``RTE_ACL_CLASSIFY_AVX512X32`` vector implementation,
which can process up to 32 flows in parallel. Requires AVX512 support.
+* **Added AVX512 lookup implementation for FIB.**
+
+ Added a AVX512 lookup functions implementation into FIB and FIB6 libraries.
+
* **Added support to update subport bandwidth dynamically.**
* Added new API ``rte_sched_port_subport_profile_add`` to add new
* Replaced ``--scalar`` command-line option with ``--alg=<value>``, to allow
the user to select the desired classify method.
+* **Updated vhost sample application.**
+
+ Added vhost asynchronous APIs support, which demonstrated how the application
+ leverage IOAT DMA channel with vhost asynchronous APIs.
+ See the :doc:`../sample_app_ug/vhost` for more details.
+
Removed Items
-------------
Also, make sure to start the actual text at the margin.
=======================================================
+* build: Support for the Make build system was removed for compiling DPDK,
+ Meson is now the primary build system.
+ Sample applications can still be built with Make standalone, using pkg-config.
+
* vhost: Dequeue zero-copy support has been removed.
* kernel: The module ``igb_uio`` has been moved to the git repository
* Removed Python 2 support since it was EOL'd in January 2020.
+* Removed TEP termination sample application.
+
+
API Changes
-----------
the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``.
The field ``refcnt`` is remaining from the old unions.
+* mbuf: Removed the unioned fields ``userdata`` and ``udata64``
+ from the structure ``rte_mbuf``. It is replaced with dynamic fields.
+
+* mbuf: Removed the field ``seqn`` from the structure ``rte_mbuf``.
+ It is replaced with dynamic fields.
+
+* mbuf: Removed the field ``timestamp`` from the structure ``rte_mbuf``.
+ It is replaced with the dynamic field RTE_MBUF_DYNFIELD_TIMESTAMP_NAME
+ which was previously used only for Tx.
+
* pci: Removed the ``rte_kernel_driver`` enum defined in rte_dev.h and
replaced with a private enum in the PCI subsystem.
* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``.
+* gso: Changed ``rte_gso_segment`` behaviour and return value:
+
+ * ``pkt`` is not saved to ``pkts_out[0]`` if not GSOed.
+ * Return 0 instead of 1 for the above case.
+ * ``pkt`` is not freed, no matter whether it is GSOed, leaving to the caller.
+
* acl: ``RTE_ACL_CLASSIFY_NUM`` enum value has been removed.
This enum value was not used inside DPDK, while it prevented to add new
classify algorithms without causing an ABI breakage.
* sched: Added new fields to ``struct rte_sched_subport_port_params``.
+* lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct
+ ``rte_lpm``. The removed fields were made internal.
+
Known Issues
------------