which allow the programmer to prefetch a cache line and also indicate
the intention to write.
+* **Added the rte_cldemote API.**
+
+ Added a hardware hint CLDEMOTE, which is similar to prefetch in reverse.
+ CLDEMOTE moves the cache line to the more remote cache, where it expects
+ sharing to be efficient. Moving the cache line to a level more distant from
+ the processor helps to accelerate core-to-core communication.
+ This API is specific to x86 and implemented as a stub for other
+ architectures.
+
* **Updated CRC modules of the net library.**
* Added runtime selection of the optimal architecture-specific CRC path.
Added the FEC API which provides functions for query FEC capabilities and
current FEC mode from device. Also, API for configuring FEC mode is also provided.
+* **Added thread safety to rte_flow functions.**
+
+ Added ``RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE`` device flag to indicate
+ whether PMD supports thread safe operations. If PMD doesn't set the flag,
+ rte_flow API level functions will protect the flow operations with mutex.
+
* **Updated Broadcom bnxt driver.**
Updated the Broadcom bnxt driver with new features and improvements, including:
``--portmask=N``
where N represents the hexadecimal bitmask of ports used.
+* **Added raw data-path APIs for cryptodev library.**
+
+ Cryptodev is added with raw data-path APIs to accelerate external
+ libraries or applications which need to avail fast cryptodev
+ enqueue/dequeue operations but does not necessarily depends on
+ mbufs and cryptodev operation mempools.
+
* **Updated the aesni_mb crypto PMD.**
* Added support for AES-ECB 128, 192 and 256.
* Added support for ZUC-EEA3/EIA3 algorithms.
* Added support for SNOW3G-UEA2/UIA2 algorithms.
* Added support for KASUMI-F8/F9 algorithms.
+ * Added support for Chacha20-Poly1305.
+ * Added support for AES-256 CCM algorithm.
+
+* **Updated the aesni_gcm crypto PMD.**
+
+ * Added SGL support for AES-GMAC.
* **Added Broadcom BCMFS symmetric crypto PMD.**
* Updated the OCTEON TX2 crypto PMD lookaside protocol offload for IPsec with
IPv6 support.
+* **Updated QAT crypto PMD.**
+
+ * Added Raw Data-path APIs support.
+
* **Added Intel ACC100 bbdev PMD.**
Added a new ``acc100`` bbdev driver for the Intel\ |reg| ACC100 accelerator
also known as Mount Bryce. See the
:doc:`../bbdevs/acc100` BBDEV guide for more details on this new driver.
+* **Updated rte_security library to support SDAP.**
+
+ ``rte_security_pdcp_xform`` in ``rte_security`` lib is updated to enable
+ 5G NR processing of SDAP header in PMDs.
+
* **Added Marvell OCTEON TX2 regex PMD.**
Added a new PMD driver for hardware regex offload block for OCTEON TX2 SoC.
See the :doc:`../regexdevs/octeontx2` for more details.
+* **Updated Software Eventdev driver.**
+
+ Added performance tuning arguments to allow tuning the scheduler for
+ better throughtput in high core count use cases.
+
* **Updated ioat rawdev driver**
The ioat rawdev driver has been updated and enhanced. Changes include:
* **Updated FIPS validation sample application.**
* Added scatter gather support.
+ * Added NIST GCMVS complaint GMAC test method support.
Removed Items
* ethdev: ``rte_eth_rx_descriptor_done()`` API has been deprecated.
-* Renamed internal ethdev APIs:
+* ethdev: Renamed basic statistics per queue. An underscore is inserted
+ between the queue number and the rest of the xstat name:
+
+ * ``rx_qN*`` -> ``rx_qN_*``
+ * ``tx_qN*`` -> ``tx_qN_*``
+
+* ethdev: Renamed internal functions:
* ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()``
* ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()``
* vhost: Moved vDPA APIs from experimental to stable.
+* vhost: Add a new function ``rte_vhost_crypto_driver_start`` to be called
+ instead of ``rte_vhost_driver_start`` by crypto applications.
+
+* cryptodev: The structure ``rte_crypto_sym_vec`` is updated to support both
+ cpu_crypto synchrounous operation and asynchronous raw data-path APIs.
+
+* cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``,
+ ``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and
+ ``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm``
+ are removed to avoid future ABI breakage while adding new algorithms.
+
* scheduler: Renamed functions ``rte_cryptodev_scheduler_slave_attach``,
``rte_cryptodev_scheduler_slave_detach`` and
``rte_cryptodev_scheduler_slaves_get`` to
``RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES`` to
``RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS``.
+* security: ``hfn_ovrd`` field in ``rte_security_pdcp_xform`` is changed from
+ ``uint32_t`` to ``uint8_t`` so that a new field ``sdap_enabled`` can be added
+ to support SDAP.
+
* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum`` and
subsequently moved ``rte_ipsec`` lib from experimental to stable.
* ``ethdev`` internal functions are marked with ``__rte_internal`` tag.
+* eventdev: Following structures are modified to support DLB/DLB2 PMDs
+ and future extensions:
+
+ * ``rte_event_dev_info``
+ * ``rte_event_dev_config``
+ * ``rte_event_port_conf``
+
* sched: Added new fields to ``struct rte_sched_subport_port_params``.