ethdev: revert xstats by ID
[dpdk.git] / doc / guides / rel_notes / release_17_05.rst
index 0373def..4b47ae1 100644 (file)
@@ -41,12 +41,37 @@ New Features
      Also, make sure to start the actual text at the margin.
      =========================================================
 
+* **Reorganized the mbuf structure.**
+
+  * Align fields to facilitate the writing of ``data_off``, ``refcnt``, and
+    ``nb_segs`` in one operation.
+  * Use 2 bytes for port and number of segments.
+  * Move the sequence number in the second cache line.
+  * Add a timestamp field.
+  * Set default value for ``refcnt``, ``next`` and ``nb_segs`` at mbuf free.
+
+* **Added mbuf raw free API**
+
+  Moved ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()`` functions to
+  the public API.
+
 * **Added free Tx mbuf on demand API.**
 
   Added a new function ``rte_eth_tx_done_cleanup()`` which allows an application
   to request the driver to release mbufs from their Tx ring that are no longer
   in use, independent of whether or not the ``tx_rs_thresh`` has been crossed.
 
+* **Added device removal interrupt.**
+
+  Added a new ethdev event ``RTE_ETH_DEV_INTR_RMV`` to signify
+  the sudden removal of a device.
+  This event can be advertized by PCI drivers and enabled accordingly.
+
+* **Added EAL dynamic log framework.**
+
+  Added new APIs to dynamically register named log types, and control
+  the level of each type independently.
+
 * **Added descriptor status ethdev API.**
 
   Added a new API to get the status of a descriptor.
@@ -110,15 +135,28 @@ New Features
 
   * Added dynamic device personalization processing to i40e FW.
 
-* **Added TSO support for tunneled and non-tunneled packets on mlx5 driver.**
+* **Added Cloud Filter for QinQ steering to i40e.**
+
+  * Added a QinQ cloud filter on the i40e PMD, for steering traffic to a VM
+    using both VLAN tags.
+  * QinQ is not supported in Vector Mode on the i40e PMD.
+  * Vector Mode must be disabled when using the QinQ Cloud Filter.
+
+* **Updated mlx5 PMD.**
 
-  Added support for Hardware TSO for tunneled and non-tunneled packets.
-  Tunneling protocols supported are GRE and VXLAN.
+  * Supported ether type in flow item.
+  * Extended IPv6 flow item with Vtc flow, Protocol and Hop limit.
+  * Supported flag flow action.
+  * Supported RSS action flow rule.
+  * Supported TSO for tunneled and non-tunneled packets.
+  * Supported hardware checksum offloads for tunneled packets.
+  * Supported user space Rx interrupt event.
+  * Enhanced multi-packet send function for ConnectX-5.
 
-* **Added support for Rx interrupts on mlx5 driver.**
+* **Updated mlx4 PMD.**
 
-  Rx queues can be armed with an interrupt which will trigger on the
-  next packet arrival.
+  * Supported basic flow items and actions.
+  * Supported device removal event.
 
 * **Updated the sfc_efx driver.**
 
@@ -131,6 +169,24 @@ New Features
 
   Added poll mode driver support for Cavium LiquidIO II server adapter VFs.
 
+* **Added Atomic Rules Arkville PMD.**
+
+  Added a new poll mode driver for the Arkville family of
+  devices from Atomic Rules.   The net/ark PMD supports line-rate
+  agnostic, multi-queue data movement on Arkville core FPGA instances.
+
+* **Added support for NXP DPAA2 - FSLMC bus.**
+
+  Added the new bus "fslmc" driver for NXP DPAA2 devices. See the
+  "Network Interface Controller Drivers" document for more details on this new
+  driver.
+
+* **Added support for NXP DPAA2 Network PMD.**
+
+  Added the new "dpaa2" net driver for NXP DPAA2 devices. See the
+  "Network Interface Controller Drivers" document for more details on this new
+  driver.
+
 * **Added support for the Wind River Systems AVP PMD.**
 
   Added a new networking driver for the AVP device type. Theses devices are
@@ -170,6 +226,90 @@ New Features
   * Rxq interrupt for virtio-user + vhost-kernel as the backend.
   * LSC interrupt for virtio-user + vhost-user as the backend.
 
+* **Added event driven programming model library (rte_eventdev).**
+
+  This API introduces event driven programming model.
+
+  In a polling model, lcores poll ethdev ports and associated
+  rx queues directly to look for packet. In an event driven model,
+  by contrast, lcores call the scheduler that selects packets for
+  them based on programmer-specified criteria. Eventdev library
+  added support for event driven programming model, which offer
+  applications automatic multicore scaling, dynamic load balancing,
+  pipelining, packet ingress order maintenance and
+  synchronization services to simplify application packet processing.
+
+  By introducing event driven programming model, DPDK can support
+  both polling and event driven programming models for packet processing,
+  and applications are free to choose whatever model
+  (or combination of the two) that best suits their needs.
+
+* **Added Software Eventdev PMD.**
+
+  Added support for the software eventdev PMD. The software eventdev is a
+  software based scheduler device that implements the eventdev API. This
+  PMD allows an application to configure a pipeline using the eventdev
+  library, and run the scheduling workload on a CPU core.
+
+* **Added Cavium OCTEONTX Eventdev PMD.**
+
+  Added the new octeontx ssovf eventdev driver for OCTEONTX devices. See the
+  "Event Device Drivers" document for more details on this new driver.
+
+* **Added information metric library.**
+
+  A library that allows information metrics to be added and updated
+  by producers, typically other libraries, for later retrieval by
+  consumers such as applications. It is intended to provide a
+  reporting mechanism that is independent of other libraries such
+  as ethdev.
+
+* **Added bit-rate calculation library.**
+
+  A library that can be used to calculate device bit-rates. Calculated
+  bitrates are reported using the metrics library.
+
+* **Added latency stats library.**
+
+  A library that measures packet latency. The collected statistics are jitter
+  and latency. For latency the minimum, average, and maximum is measured.
+
+* **Added NXP DPAA2 SEC crypto PMD.**
+
+  A new "dpaa2_sec" hardware based crypto PMD for NXP DPAA2 devices has been
+  added. See the "Crypto Device Drivers" document for more details on this
+  driver.
+
+* **Updated the Cryptodev Scheduler PMD.**
+
+  * Added packet-size based distribution mode, which distributes the enqueued
+    crypto operations among two slaves, based on their data lengths.
+  * Added fail-over scheduling mode, which enqueues crypto operations to a
+    primary slave first. Then, any operation that cannot be enqueued is
+    enqueued to a secondary slave.
+  * Added mode specific option support, so each scheduleing mode can
+    now be configured individually by the new added API.
+
+* **Updated the QAT PMD.**
+
+  The QAT PMD has been updated with additional support for:
+
+  * AES DOCSIS BPI algorithm.
+  * DES DOCSIS BPI algorithm.
+  * ZUC EEA3/EIA3 algorithms.
+
+* **Updated the AESNI MB PMD.**
+
+  The AESNI MB PMD has been updated with additional support for:
+
+  * AES DOCSIS BPI algorithm.
+
+* **Updated the OpenSSL PMD.**
+
+  The OpenSSL PMD has been updated with additional support for:
+
+  * DES DOCSIS BPI algorithm.
+
 
 Resolved Issues
 ---------------
@@ -206,6 +346,11 @@ Libraries
 Examples
 ~~~~~~~~
 
+* **l2fwd-keepalive: Fixed unclean shutdowns.**
+
+  Added clean shutdown to l2fwd-keepalive so that it can free up
+  stale resources used for inter-process communication.
+
 
 Other
 ~~~~~
@@ -319,6 +464,9 @@ API Changes
     ``rte_vhost_driver_start`` should be used, and no need to create a
     thread to call it.
 
+  * The vhost public header file ``rte_virtio_net.h`` is renamed to
+    ``rte_vhost.h``
+
 
 ABI Changes
 -----------
@@ -333,6 +481,14 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* **Reorganized the mbuf structure.**
+
+  The order and size of the fields in the ``mbuf`` structure changed,
+  as described in the `New Features`_ section.
+
+* The ``rte_cryptodev_info.sym`` structure has new field ``max_nb_sessions_per_qp``
+  to support drivers which may support limited number of sessions per queue_pair.
+
 
 Removed Items
 -------------
@@ -348,6 +504,7 @@ Removed Items
 
 * KNI vhost support removed.
 
+* dpdk_qat sample application removed.
 
 Shared Library Versions
 -----------------------
@@ -368,21 +525,24 @@ The libraries prepended with a plus sign were incremented in this version.
 .. code-block:: diff
 
      librte_acl.so.2
+   + librte_bitratestats.so.1
      librte_cfgfile.so.2
      librte_cmdline.so.2
      librte_cryptodev.so.2
      librte_distributor.so.1
-     librte_eal.so.3
+   + librte_eal.so.4
      librte_ethdev.so.6
      librte_hash.so.2
      librte_ip_frag.so.1
      librte_jobstats.so.1
      librte_kni.so.2
      librte_kvargs.so.1
+   + librte_latencystats.so.1
      librte_lpm.so.2
-     librte_mbuf.so.2
+   + librte_mbuf.so.3
      librte_mempool.so.2
      librte_meter.so.1
+   + librte_metrics.so.1
      librte_net.so.1
      librte_pdump.so.1
      librte_pipeline.so.3