.. SPDX-License-Identifier: BSD-3-Clause
Copyright 2019 The DPDK contributors
+.. include:: <isonum.txt>
+
DPDK Release 19.08
==================
Also, make sure to start the actual text at the margin.
=========================================================
+* **Added MCS lock.**
+
+ MCS lock provides scalability by spinning on a CPU/thread local variable
+ which avoids expensive cache bouncings.
+ It provides fairness by maintaining a list of acquirers and passing
+ the lock to each CPU/thread in the order they acquired the lock.
+
* **Updated the EAL Pseudo-random Number Generator.**
The lrand48()-based rte_rand() function is replaced with a
* Enabled generic filter framework and supported switch filter.
* Supported UDP tunnel port add.
+* **Updated Mellanox mlx5 driver.**
+
+ Updated Mellanox mlx5 driver with new features and improvements, including:
+
+ * Updated the packet header modification feature. Added support of TCP header
+ sequence number and acknowledgment number modification.
+ * Added support for match on ICMP/ICMP6 code and type.
+ * Added support for matching on GRE's key and C,K,S present bits.
+ * Added support for IP-in-IP tunnel.
+
* **Updated Solarflare network PMD.**
Updated the Solarflare ``sfc_efx`` driver with changes including:
* Enabled need_wakeup feature which can provide efficient support for case
that application and driver executing on the same core.
+* **Enabled infinite Rx in the PCAP PMD.**
+
+ Added an infinite Rx feature which allows packets in the Rx PCAP of a PCAP
+ device to be received repeatedly at a high rate. This can be useful for quick
+ performance testing of DPDK apps.
+
+* **Added a FPGA_LTE_FEC bbdev PMD.**
+
+ Added the new ``fpga_lte_fec`` bbdev driver for the IntelĀ® FPGA PAC
+ (Programmable Acceleration Card) N3000. See the
+ :doc:`../bbdevs/fpga_lte_fec` BBDEV guide for more details on this new driver.
+
+* **Updated TURBO_SW bbdev PMD.**
+
+ Updated the ``turbo_sw`` bbdev driver with changes including:
+
+ * Added option to build the driver with or without dependency of external
+ SDK libraries.
+ * Added support for 5GNR encode/decode operations.
+
+* **Updated the QuickAssist Technology (QAT) symmetric crypto PMD.**
+
+ Added support for digest-encrypted cases where digest is appended
+ to the data.
+
+* **Added Intel QuickData Technology PMD**
+
+ The PMD for Intel\ |reg| QuickData Technology, part of
+ Intel\ |reg| I/O Acceleration Technology `(Intel I/OAT)
+ <https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html>`_,
+ allows data copies to be done by hardware instead
+ of via software, reducing cycles spent copying large blocks of data in
+ applications.
+
+* **Added Marvell OCTEON TX2 drivers.**
+
+ Added the new ``ethdev``, ``eventdev``, ``mempool``, ``eventdev Rx adapter``,
+ ``eventdev Tx adapter``, ``eventdev Timer adapter`` and ``rawdev DMA``
+ drivers for various HW coprocessors available in ``OCTEON TX2`` SoC.
+
+ See :doc:`../platform/octeontx2` and driver informations:
+
+ * :doc:`../nics/octeontx2`
+ * :doc:`../mempool/octeontx2`
+ * :doc:`../eventdevs/octeontx2`
+ * :doc:`../rawdevs/octeontx2_dma`
+
+* **Introduced NTB PMD.**
+
+ Added a PMD for Intel NTB (Non-transparent Bridge). This PMD implemented
+ handshake between two separate hosts and can share local memory for peer
+ host to directly access.
+
+* **Updated IPSec library Header Reconstruction.**
+
+ Updated the IPSec library with ECN and DSCP field header reconstruction
+ feature followed by RFC4301. The IPSec-secgw sample application is also
+ updated to support this feature by default.
+
* **Updated telemetry library for global metrics support.**
Updated ``librte_telemetry`` to fetch the global metrics from the
Added telemetry mode to l3fwd-power application to report
application level busyness, empty and full polls of rte_eth_rx_burst().
+* **Updated the pdump application.**
+
+ Add support for pdump to exit with primary process.
+
+* **Updated test-compress-perf tool application.**
+
+ Added multiple cores feature to compression perf tool application.
+
Removed Items
-------------
Also, make sure to start the actual text at the margin.
=========================================================
+* The ``rte_mem_config`` structure has been made private. The new accessor
+ ``rte_mcfg_*`` functions were introduced to provide replacement for direct
+ access to the shared mem config.
+
* The network structures, definitions and functions have
been prefixed by ``rte_`` to resolve conflicts with libc headers.
* malloc: The function ``rte_malloc_set_limit`` was never implemented
is deprecated and will be removed in a future release.
+* cryptodev: the ``uint8_t *data`` member of ``key`` structure in the xforms
+ structure (``rte_crypto_cipher_xform``, ``rte_crypto_auth_xform``, and
+ ``rte_crypto_aead_xform``) have been changed to ``const uint8_t *data``.
+
* eventdev: No longer marked as experimental.
The eventdev functions are no longer marked as experimental, and have
announced at least one release before the ABI change is made. There are no
ABI breaking changes planned.
+* ip_frag: IP fragmentation library converts input mbuf into fragments
+ using input MTU size via ``rte_ipv4_fragment_packet`` interface.
+ Once fragmentation is done, each ``mbuf->ol_flags`` are set to enable IP
+ checksum H/W offload irrespective of the platform capability.
+ Cleared IP checksum H/W offload flag from the library. The application must
+ set this flag if it is supported by the platform and application wishes to
+ use it.
+
+* ip_frag: IP reassembly library converts the list of fragments into a
+ reassembled packet via ``rte_ipv4_frag_reassemble_packet`` interface.
+ Once reassembly is done, ``mbuf->ol_flags`` are set to enable IP checksum H/W
+ offload irrespective of the platform capability. Cleared IP checksum H/W
+ offload flag from the library. The application must set this flag if it is
+ supported by the platform and application wishes to use it.
+
+* sched: Macros ``RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS`` and
+ ``RTE_SCHED_PIPE_PROFILES_PER_PORT`` are removed for flexible configuration
+ of pipe traffic classes and their queues size, and for runtime configuration
+ of maximum number of pipe profiles, respectively. In addtion, wrr_weights
+ field of struct ``rte_sched_pipe_params`` is modifed to be used only for
+ best-effort tc, and qsize field of struct ``rte_sched_port_params`` is
+ changed to allow different size of the each queue.
+
ABI Changes
-----------
Add a Rx adapter stats field to keep track of the total
number of dropped packets.
+* cryptodev: New member in ``rte_cryptodev_config`` to allow applications to
+ disable features supported by the crypto device. Only the following features
+ would be allowed to be disabled this way,
+
+ - ``RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO``
+ - ``RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO``
+ - ``RTE_CRYPTODEV_FF_SECURITY``
+
+ Disabling unused features would facilitate efficient usage of HW/SW offload.
+
+* bbdev: New operations and parameters added to support new 5GNR operations.
+ The bbdev ABI is still kept experimental.
+
Shared Library Versions
-----------------------
librte_cfgfile.so.2
librte_cmdline.so.2
librte_compressdev.so.1
- librte_cryptodev.so.7
+ + librte_cryptodev.so.8
librte_distributor.so.1
- librte_eal.so.10
+ + librte_eal.so.11
librte_efd.so.1
librte_ethdev.so.12
+ librte_eventdev.so.7
librte_rcu.so.1
librte_reorder.so.1
librte_ring.so.2
- librte_sched.so.2
+ + librte_sched.so.3
librte_security.so.2
librte_stack.so.1
librte_table.so.3