doc: show how to include code in guides
[dpdk.git] / doc / guides / rel_notes / release_21_05.rst
index fe98404..33f6212 100644 (file)
@@ -55,6 +55,11 @@ New Features
      Also, make sure to start the actual text at the margin.
      =======================================================
 
+* **Added Alpine Linux with musl libc support**
+
+  The distribution Alpine Linux, using musl libc and busybox,
+  got initial support starting with building DPDK without modification.
+
 * **Added phase-fair lock.**
 
   Phase-fair lock provides fairness guarantees.
@@ -70,6 +75,8 @@ New Features
     net, crypto and event PMD's.
   * Added mempool/cnxk driver which provides the support for the integrated
     mempool device.
+  * Added event/cnxk driver which provides the support for integrated event
+    device.
 
 * **Enhanced ethdev representor syntax.**
 
@@ -81,6 +88,38 @@ New Features
       representor=[[c#]pf#]sf# sf[0,2-1023] /* 1023 SFs.                     */
       representor=[c#]pf#      c2pf[0,1]    /* 2 PFs on controller 2.        */
 
+* **Added queue state in queried Rx/Tx queue info.**
+
+  * Added new field ``queue_state`` to ``rte_eth_rxq_info`` structure to
+    provide indicated Rx queue state.
+  * Added new field ``queue_state`` to ``rte_eth_txq_info`` structure to
+    provide indicated Tx queue state.
+
+* **Updated meter API.**
+
+  * Added packet mode in the meter profile parameters data structures
+    to support metering traffic by packet per second (PPS),
+    in addition to the initial bytes per second (BPS) mode (value 0).
+  * Added support of pre-defined meter policy via flow action list per color.
+
+* **Added packet integrity match to flow rules.**
+
+  * Added ``RTE_FLOW_ITEM_TYPE_INTEGRITY`` flow item.
+  * Added ``rte_flow_item_integrity`` data structure.
+
+* **Added TCP connection tracking offload in flow API.**
+
+  * Added conntrack item and action for stateful connection offload.
+
+* **Updated Amazon ENA PMD.**
+
+  The new driver version (v2.3.0) introduced bug fixes and improvements,
+  including:
+
+  * Changed memcpy mapping to the dpdk-optimized version.
+  * Updated ena_com (HAL) to the latest version.
+  * Added indication of the RSS hash presence in the mbuf.
+
 * **Updated Arkville PMD driver.**
 
   Updated Arkville net driver with new features and improvements, including:
@@ -113,10 +152,16 @@ New Features
   Updated the Intel iavf driver with new features and improvements, including:
 
   * Added flow filter to support GTPU inner L3/L4 fields matching.
+  * In AVX512 code, added the new RX and TX paths to use the HW offload
+    features. When the HW offload features are configured to be used, the
+    offload paths are chosen automatically. In parallel the support of HW
+    offload features was removed from the legacy AVX512 paths.
 
 * **Updated Intel ice driver.**
 
   * Added Intel ice support on Windows.
+  * Added GTPU TEID support for DCF switch filter.
+  * Added flow priority support for DCF switch filter.
 
 * **Updated Marvell OCTEON TX2 ethdev driver.**
 
@@ -126,7 +171,16 @@ New Features
 
   Updated the Mellanox mlx5 driver with new features and improvements, including:
 
+  * Added support for matching on packet integrity status.
   * Added support for VXLAN and NVGRE encap as sample actions.
+  * Added support for flow COUNT action handle.
+  * Support push VLAN on ingress traffic and pop VLAN on egress traffic in E-Switch mode.
+  * Added support for pre-defined meter policy API.
+  * Added support for ASO (Advanced Steering Operation) meter.
+  * Added support for ASO metering by PPS (packet per second).
+  * Added support for the monitor policy of Power Management API.
+  * Added support for connection tracking.
+  * Added support for Sub-Function representors.
 
 * **Updated NXP DPAA driver.**
 
@@ -143,19 +197,33 @@ New Features
 
   * Added support for txgbevf PMD.
   * Support device arguments to handle AN training for backplane NICs.
+  * Added support for VXLAN-GPE.
 
 * **Enabled vmxnet3 PMD on Windows.**
 
+* **Enabled libpcap-based PMD on Windows.**
+
+   A libpcap distribution, such as Npcap or WinPcap, is required to run the PMD.
+
 * **Updated the AF_XDP driver.**
 
   * Added support for preferred busy polling.
 
+* **Added support for vhost async packed ring data path.**
+
+  Added packed ring support for async vhost.
+
 * **Added support of multiple data-units in cryptodev API.**
 
   The cryptodev library has been enhanced to allow operations on multiple
   data-units for AES-XTS algorithm, the data-unit length should be set in the
   transformation. A capability for it was added too.
 
+* **Added a cryptodev feature flag to support cipher wrapped keys.**
+
+  A new feature flag has been added to allow application to provide
+  cipher wrapped keys in session xforms.
+
 * **Updated the OCTEON TX crypto PMD.**
 
   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX crypto PMD.
@@ -165,6 +233,13 @@ New Features
   * Added support for DIGEST_ENCRYPTED mode in OCTEON TX2 crypto PMD.
   * Added support in lookaside protocol offload mode for IPsec with
     UDP encapsulation support for NAT Traversal.
+  * Added support in lookaside protocol offload mode for IPsec with
+    IPv4 transport mode.
+
+* **Updated Intel QuickAssist compression PMD.**
+
+  * The compression is now available on all QAT GEN3 devices
+    that support it in hardware.
 
 * **Updated Mellanox RegEx PMD.**
 
@@ -183,18 +258,59 @@ New Features
     the events across multiple stages.
   * This also reduced the scheduling overhead on a event device.
 
+* **Updated Intel DLB2 driver.**
+
+  * Added support for v2.5 device.
+
+* **Added Predictable RSS functionality to the Toeplitz hash library.**
+
+  Added feature for finding collisions of the Toeplitz hash function -
+  the hash function used in NICs to spread the traffic among the queues.
+  It can be used to get predictable mapping of the flows.
+
 * **Updated testpmd.**
 
   * Added a command line option to configure forced speed for Ethernet port.
     ``dpdk-testpmd -- --eth-link-speed N``
+  * Added command to show link flow control info.
+    ``show port (port_id) flow_ctrl``
   * Added command to display Rx queue used descriptor count.
     ``show port (port_id) rxq (queue_id) desc used count``
+  * Added command to cleanup a Tx queue's mbuf on a port.
+    ``port cleanup (port_id) txq (queue_id) (free_cnt)``
+  * Added command to dump internal representation information of single flow.
+    ``flow dump (port_id) rule (rule_id)``
+  * Added commands to create and delete meter policy.
+    ``add port meter policy (port_id) (policy_id) ...``
+  * Added commands to construct conntrack context and relevant indirect
+    action handle creation, update for conntrack action as well as conntrack
+    item matching.
+  * Added commands for action meter color to color the packet to reflect
+    the meter color result.
+    ``color type (green|yellow|red)``
+
+* **Added support for the FIB lookup method in the l3fwd example app.**
+
+  Previously the l3fwd sample app only supported LPM and EM lookup methods,
+  the app now supports the Forwarding Information Base (FIB) lookup method.
 
 * **Updated ipsec-secgw sample application.**
 
   * Updated the ``ipsec-secgw`` sample application with UDP encapsulation
     support for NAT Traversal.
 
+* **Enhanced crypto adapter forward mode.**
+
+  * Added ``rte_event_crypto_adapter_enqueue()`` API to enqueue events to crypto
+    adapter if forward mode is supported by driver.
+  * Added support for crypto adapter forward mode in octeontx2 event and crypto
+    device driver.
+
+* **Added sub-testsuite support.**
+
+  * The unit test suite struct now supports having both a nested
+    list of sub-testsuites, and a list of testcases as before.
+
 
 Removed Items
 -------------
@@ -234,6 +350,40 @@ API Changes
 * pci: The value ``PCI_ANY_ID`` is marked as deprecated
   and can be replaced with ``RTE_PCI_ANY_ID``.
 
+* ethdev: Added a ``rte_flow`` pointer parameter to the function
+  ``rte_flow_dev_dump()`` allowing dump for single flow.
+
+* cryptodev: The experimental raw data path API for dequeue
+  ``rte_cryptodev_raw_dequeue_burst`` got a new parameter
+  ``max_nb_to_dequeue`` to provide flexible control on dequeue.
+
+* ethdev: The experimental flow API for shared action has been generalized
+  as a flow action handle used in rules through an indirect action.
+  The functions ``rte_flow_shared_action_*`` manipulating the action object
+  are replaced with ``rte_flow_action_handle_*``.
+  The action ``RTE_FLOW_ACTION_TYPE_SHARED`` is deprecated and can be
+  replaced with ``RTE_FLOW_ACTION_TYPE_INDIRECT``.
+
+* ethdev: The experimental function ``rte_mtr_policer_actions_update()``,
+  the enum ``rte_mtr_policer_action``, and the struct members
+  ``policer_action_recolor_supported`` and ``policer_action_drop_supported``
+  have been removed.
+
+* vhost: The vhost library currently populates received mbufs from a virtio
+  driver with Tx offload flags while not filling Rx offload flags.
+  While this behavior is arguable, it is kept untouched.
+  A new flag ``RTE_VHOST_USER_NET_COMPLIANT_OL_FLAGS`` has been added to ask
+  for a behavior compliant with the mbuf offload API.
+
+* stack: Lock-free ``rte_stack`` no longer silently ignores push and pop when
+  it's not supported on the current platform. Instead ``rte_stack_create()``
+  fails and ``rte_errno`` is set to ``ENOTSUP``.
+
+* raw/ioat: The experimental function ``rte_ioat_completed_ops()`` now
+  supports two additional parameters, ``status`` and ``num_unsuccessful``,
+  to allow the reporting of errors from hardware when performing copy
+  operations.
+
 
 ABI Changes
 -----------
@@ -291,3 +441,243 @@ Tested Platforms
    This section is a comment. Do not overwrite or remove it.
    Also, make sure to start the actual text at the margin.
    =======================================================
+
+* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
+
+  * CPU
+
+    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
+    * Intel\ |reg| Atom\ |trade| CPU C3958 @ 2.00GHz
+    * Intel\ |reg| Xeon\ |reg| CPU D-1541 @ 2.10GHz
+    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
+    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
+    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
+
+  * OS:
+
+    * CentOS 8.3
+    * CentOS Stream 8
+    * Fedora 33
+    * FreeBSD 12.1
+    * OpenWRT 19.07.4
+    * Red Hat Enterprise Linux Server release 8.3
+    * Suse 15 SP2
+    * Ubuntu 20.04
+    * Ubuntu 21.04
+
+  * NICs:
+
+    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
+
+      * Firmware version: 3.00
+      * Device id (pf/vf): 8086:1593 / 8086:1889
+      * Driver version: 1.6.0 (ice)
+      * OS Default DDP: 1.3.26.0
+      * COMMS DDP: 1.3.30.0
+      * Wireless Edge DDP: 1.3.6.0
+
+    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
+
+      * Firmware version: 3.00
+      * Device id (pf/vf): 8086:1592 / 8086:1889
+      * Driver version: 1.6.0 (ice)
+      * OS Default DDP: 1.3.26.0
+      * COMMS DDP: 1.3.30.0
+      * Wireless Edge DDP: 1.3.6.0
+
+    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
+
+      * Firmware version: 0x61bf0001
+      * Device id (pf/vf): 8086:10fb / 8086:10ed
+      * Driver version: 5.1.0-k (ixgbe)
+
+    * Intel\ |reg| Corporation Ethernet Connection X552/X557-AT 10GBASE-T
+
+      * Firmware version: 0x800003e7
+      * Device id (pf/vf): 8086:15ad / 8086:15a8
+      * Driver version: 5.1.0-k (ixgbe)
+
+    * Intel\ |reg| Corporation Ethernet Controller 10G X550T
+
+      * Firmware version: 0x8000113b
+      * Device id (pf): 8086:1563
+      * Driver version: 5.11.3 (ixgbe)
+
+    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
+
+      * Firmware version: 8.30 0x8000a49d 1.2926.0
+      * Device id (pf/vf): 8086:1572 / 8086:154c
+      * Driver version: 2.15.9 (i40e)
+
+    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
+
+      * Firmware version: 5.30 0x80002a29 1.2527.0
+      * Device id (pf/vf): 8086:37d0 / 8086:37cd
+      * Driver version: 2.15.9 (i40e)
+
+    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T (2x10G)
+
+      * Firmware version: 4.10 0x80001a7a
+      * Device id (pf/vf): 8086:37d2 / 8086:37cd
+      * Driver version: 2.15.9 (i40e)
+
+    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
+
+      * Firmware version: 8.30 0x8000a485 1.2926.0
+      * Device id (pf/vf): 8086:158b / 8086:154c
+      * Driver version: 2.15.9 (i40e)
+
+    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
+
+      * Firmware version: 8.30 0x8000a4ae 1.2926.0
+      * Device id (pf/vf): 8086:1583 / 8086:154c
+      * Driver version: 2.15.9 (i40e)
+
+    * Intel\ |reg| Corporation I350 Gigabit Network Connection
+
+      * Firmware version: 1.63, 0x80001001
+      * Device id (pf/vf): 8086:1521 / 8086:1520
+      * Driver version: 4.18.0-277.el8.x86_64 (igb)
+
+    * Intel\ |reg| Corporation I210 Gigabit Network Connection
+
+      * Firmware version: 3.25, 0x800006eb
+      * Device id (pf): 8086:1533
+      * Driver version: 5.5.2 (igb)
+
+    * Intel\ |reg| Ethernet Controller 10-Gigabit X540-AT2
+
+      * Firmware version: 0x800005f9
+      * Device id (pf): 8086:1528
+      * Driver version: 4.18.0-277.el8.x86_64 (ixgbe)
+
+    * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
+
+      * Firmware version: 8.30 0x8000a489 1.2926.0
+      * Device id (pf): 8086:15ff
+      * Driver version: 2.15.9 (i40e)
+
+* Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations
+
+  * CPU:
+
+    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
+    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
+
+  * OS:
+
+    * Red Hat Enterprise Linux release 8.2 (Ootpa)
+    * Red Hat Enterprise Linux Server release 7.8 (Maipo)
+    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
+    * Red Hat Enterprise Linux Server release 7.5 (Maipo)
+    * Red Hat Enterprise Linux Server release 7.4 (Maipo)
+    * Red Hat Enterprise Linux Server release 7.3 (Maipo)
+    * Red Hat Enterprise Linux Server release 7.2 (Maipo)
+    * Ubuntu 20.04
+    * Ubuntu 18.04
+    * Ubuntu 16.04
+    * SUSE Enterprise Linux 15 SP2
+    * SUSE Enterprise Linux 12 SP4
+
+  * OFED:
+
+    * MLNX_OFED 5.3-1.0.0.1 and above
+    * MLNX_OFED 5.2-2.2.0.0
+
+  * upstream kernel:
+
+    * Linux 5.13.0-rc1 and above
+
+  * rdma-core:
+
+    * rdma-core-35.0-1 and above
+
+  * NICs:
+
+    * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
+
+      * Host interface: PCI Express 3.0 x8
+      * Device ID: 15b3:1007
+      * Firmware version: 2.42.5000
+
+    * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
+
+      * Host interface: PCI Express 3.0 x8
+      * Device ID: 15b3:1007
+      * Firmware version: 2.42.5000
+
+    * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
+
+      * Host interface: PCI Express 3.0 x8
+      * Device ID: 15b3:1015
+      * Firmware version: 14.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
+
+      * Host interface: PCI Express 3.0 x8
+      * Device ID: 15b3:1015
+      * Firmware version: 14.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
+
+      * Host interface: PCI Express 3.0 x16
+      * Device ID: 15b3:1017
+      * Firmware version: 16.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
+
+      * Host interface: PCI Express 3.0 x16
+      * Device ID: 15b3:1017
+      * Firmware version: 16.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
+
+      * Host interface: PCI Express 3.0 x16
+      * Device ID: 15b3:1017
+      * Firmware version: 16.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
+
+      * Host interface: PCI Express 4.0 x16
+      * Device ID: 15b3:1019
+      * Firmware version: 16.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
+
+      * Host interface: PCI Express 4.0 x16
+      * Device ID: 15b3:101d
+      * Firmware version: 22.30.1004 and above
+
+    * Mellanox\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
+
+      * Host interface: PCI Express 4.0 x8
+      * Device ID: 15b3:101f
+      * Firmware version: 26.30.1004 and above
+
+* Mellanox\ |reg| BlueField\ |reg| SmartNIC
+
+  * Mellanox\ |reg| BlueField\ |reg| 2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
+
+    * Host interface: PCI Express 3.0 x16
+    * Device ID: 15b3:a2d2
+    * Firmware version: 24.30.1004 and above
+
+  * Embedded software:
+
+    * CentOS Linux release 8.2.2004 (Core)
+    * MLNX_OFED 5.3-1.0.0 and above
+    * DPDK application running on Arm cores