for specific offload features, where adding a static field or flag
in the mbuf is not justified.
+* **Added hairpin queue.**
+
+ On supported NICs, we can now setup haipin queue which will offload packets
+ from the wire, backto the wire.
+
+* **Added flow tag in rte_flow.**
+
+ 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.
``rte_eth_tx_burst_mode_get`` that allow an application
to retrieve the mode information about RX/TX packet burst
such as Scalar or Vector, and Vector technology like AVX2.
- Another new function ``rte_eth_burst_mode_option_name`` is
- provided for burst mode options stringification.
* **Updated the Intel ice driver.**
- 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.**
* 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.**
* Added support for VLAN set PCP offload command.
* 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.
* **Updated the AF_XDP PMD.**
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.**
* 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.**
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
-------------
* ethdev: changed ``rte_eth_dev_owner_delete`` return value from ``void`` to
``int`` to provide a way to report various error conditions.
+* ethdev: The deprecated function ``rte_eth_dev_count`` was removed.
+ The function ``rte_eth_dev_count_avail`` is a drop-in replacement.
+ 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
* 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
-----------------------