doc: add ABI policy changes to release notes
[dpdk.git] / doc / guides / rel_notes / release_19_11.rst
index f429ea4..8ef16cb 100644 (file)
@@ -65,6 +65,13 @@ New Features
 
   The lock-free stack implementation is enabled for aarch64 platforms.
 
+* **Extended pktmbuf mempool private structure.**
+
+  rte_pktmbuf_pool_private structure was extended to include flags field
+  for future compatibility.
+  As per 19.11 release this field is reserved and should be set to 0
+  by the user.
+
 * **Changed mempool allocation behaviour.**
 
   Objects are no longer across pages by default.
@@ -86,6 +93,28 @@ New Features
 
   SET_TAG action and TAG item have been added to support transient flow tag.
 
+* **Extended metadata support in rte_flow.**
+
+  Flow metadata is extended to both Rx and Tx.
+
+  * Tx metadata can also be set by SET_META action of rte_flow.
+  * Rx metadata is delivered to host via a dynamic field of ``rte_mbuf`` with
+    PKT_RX_DYNF_METADATA.
+
+* **Added ethdev API to set supported packet types**
+
+  * Added new API ``rte_eth_dev_set_ptypes`` that allows an application to
+    inform PMD about reduced range of packet types to handle.
+  * This scheme will allow PMDs to avoid lookup to internal ptype table on Rx
+    and thereby improve Rx performance if application wishes do so.
+
+* **Added Rx offload flag to enable or disable RSS update**
+
+  * Added new Rx offload flag `DEV_RX_OFFLOAD_RSS_HASH` which can be used to
+    enable/disable PMDs write to `rte_mbuf::hash::rss`.
+  * PMDs notify the validity of `rte_mbuf::hash:rss` to the application
+    by enabling `PKT_RX_RSS_HASH ` flag in `rte_mbuf::ol_flags`.
+
 * **Updated the enic driver.**
 
   * Added support for Geneve with options offload.
@@ -102,6 +131,16 @@ New Features
   Added the new PFE driver for the NXP LS1012A platform. See the
   :doc:`../nics/pfe` NIC driver guide for more details on this new driver.
 
+* **Updated Broadcom bnxt driver.**
+
+  Updated Broadcom bnxt driver with new features and improvements, including:
+
+  * Added support for hot firmware upgrade.
+  * Added support for error recovery.
+  * Added support for querying and using COS classification in hardware.
+  * Added LRO support Thor devices.
+  * Update HWRM API to version 1.10.1.6
+
 * **Updated iavf PMD.**
 
   Enable AVX2 data path for iavf PMD.
@@ -143,6 +182,7 @@ New Features
     - Supported new packet type like PPPoE for switch filter.
   * Supported input set change and symmetric hash by rte_flow RSS action.
   * Added support for GTP Tx checksum offload.
+  * Added new device IDs to support E810_XXV devices.
 
 * **Added cryptodev asymmetric session-less operation.**
 
@@ -156,7 +196,7 @@ New Features
   * Enabled SR-IOV - Partially supported at this point, VFIO only.
   * Supported VLAN filter and VLAN offload.
   * Supported Unicast MAC filter and Multicast MAC filter.
-  * Supported Flow director for LACP, VRRP, BGP and so on.
+  * Supported Flow API for LACP, VRRP, BGP and so on.
   * Supported FW version get.
 
 * **Updated Mellanox mlx5 driver.**
@@ -169,6 +209,10 @@ New Features
   * Added support for VLAN set VID offload command.
   * Added support for matching on packets withe Geneve tunnel header.
   * Added hairpin support.
+  * Added ConnectX6-DX support.
+  * Flow engine selected based on RDMA Core library version.
+    DV flow engine selected if version is rdma-core-24.0 or higher.
+    Verbs flow engine selected otherwise.
 
 * **Updated the AF_XDP PMD.**
 
@@ -197,7 +241,16 @@ New Features
 
   PDCP support is added to DPAA_SEC and DPAA2_SEC PMDs using rte_security APIs.
   Support is added for all sequence number sizes for control and user plane.
-  Test application is updated for unit testing.
+  Test and test-crypto-perf applications are updated for unit testing.
+
+* **Updated the AESNI-MB PMD.**
+
+  * Added support for intel-ipsec-mb version 0.53.
+
+* **Updated the AESNI-GCM PMD.**
+
+  * Added support for intel-ipsec-mb version 0.53.
+  * Supported in-place chained mbufs on AES-GCM algorithm.
 
 * **Enabled Single Pass GCM acceleration on QAT GEN3.**
 
@@ -253,6 +306,7 @@ New Features
 
   * Added a console command to testpmd app, ``show port (port_id) ptypes`` which
     gives ability to print port supported ptypes in different protocol layers.
+  * Packet type detection disabled by default for the supported PMDs.
 
 * **Added new example l2fwd-event application.**
 
@@ -269,6 +323,18 @@ New Features
 
   See :doc:`../prog_guide/lto` for more information:
 
+* **Added IOVA as VA support for KNI.**
+
+  * Added IOVA = VA support for KNI, KNI can operate in IOVA = VA mode when
+    `iova-mode=va` EAL option is passed to the application or when bus IOVA
+    scheme is selected as RTE_IOVA_VA. This mode only works on Linux Kernel
+    versions above 4.9.0.
+
+  * Due to IOVA to KVA address translations, based on the KNI use case there
+    can be a performance impact. For mitigation, forcing IOVA to PA via EAL
+    "--iova-mode=pa" option can be used, IOVA_DC bus iommu scheme can also
+    result in IOVA as PA.
+
 
 Removed Items
 -------------
@@ -282,6 +348,11 @@ Removed Items
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* Removed library-level ABI versions. These have been replaced with a single
+  project-level ABI version for non-experimental libraries and an ABI version of
+  ``0`` for experimental libraries. Review the :doc:`../contributing/abi_policy`
+  and :doc:`../contributing/abi_versioning` guides for more information.
+
 * Removed duplicated set of commands for Rx offload configuration from testpmd::
 
     port config all crc-strip|scatter|rx-cksum|rx-timestamp|
@@ -384,6 +455,16 @@ API Changes
   If the intent is to iterate over ports, ``RTE_ETH_FOREACH_*`` macros
   are better port iterators.
 
+* ethdev: RTE_FLOW_ITEM_TYPE_META data endianness altered to host one.
+  Due to the new dynamic metadata field in mbuf is host-endian either, there
+  is the minor compatibility issue for applications in case of 32-bit values
+  supported.
+
+* ethdev: the tx_metadata mbuf field is moved to dymanic one.
+  PKT_TX_METADATA flag is replaced with PKT_TX_DYNF_METADATA.
+  DEV_TX_OFFLOAD_MATCH_METADATA offload flag is removed, now metadata
+  support in PMD is engaged on dynamic field registration.
+
 * event: The function ``rte_event_eth_tx_adapter_enqueue`` takes an additional
   input as ``flags``. Flag ``RTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST`` which
   has been introduced in this release is used when used when all the packets
@@ -410,6 +491,12 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* policy: Please note the revisions to the :doc:`../contributing/abi_policy`
+  introducing major ABI versions, with DPDK 19.11 becoming the first major
+  version ``v20``. ABI changes to add new features continue to be permitted in
+  subsequent releases, with the condition that ABI compatibility with the major
+  ABI version is maintained.
+
 * net: The Ethernet address and other header definitions have changed
   attributes. They have been modified to be aligned on 2-byte boundaries.
   These changes should not impact normal usage because drivers naturally
@@ -424,6 +511,14 @@ ABI Changes
 * ipsec: The field ``replay_win_sz`` has been removed from the structure
   ``rte_ipsec_sa_prm`` as it has been added to the security library.
 
+* ethdev: Added 32-bit fields for maximum LRO aggregated packet size, in
+  struct ``rte_eth_dev_info`` for the port capability and in struct
+  ``rte_eth_rxmode`` for the port configuration.
+  Application should use the new field in struct ``rte_eth_rxmode`` to configure
+  the requested size.
+  PMD should use the new field in struct ``rte_eth_dev_info`` to report the
+  supported port capability.
+
 
 Shared Library Versions
 -----------------------