doc: add DPAA2 net PMD enhancements to release notes
[dpdk.git] / doc / guides / rel_notes / release_17_08.rst
index 7772ae6..5981eea 100644 (file)
@@ -41,6 +41,22 @@ New Features
      Also, make sure to start the actual text at the margin.
      =========================================================
 
+* **Added Service Core functionality.**
+
+  The service core functionality added to EAL allows DPDK to run services such
+  as SW PMDs on lcores without the application manually running them. The
+  service core infrastructure allows flexibility of running multiple services
+  on the same service lcore, and provides the application with powerful APIs to
+  configure the mapping from service lcores to services.
+
+* **Added Generic Receive Offload API.**
+
+  Generic Receive Offload (GRO) API supports to reassemble TCP/IPv4
+  packets. GRO API assumes all inputted packets are with correct
+  checksums. GRO API doesn't update checksums for merged packets. If
+  inputted packets are IP fragmented, GRO API assumes they are complete
+  packets (i.e. with L4 headers).
+
 * **Added support for generic flow API (rte_flow) on igb NIC.**
 
   This API provides a generic means to configure hardware to match specific
@@ -85,6 +101,15 @@ New Features
 
   Added support for firmwares with multiple Ethernet ports per physical port.
 
+* **Updated dpaa2 PMD.**
+
+  Major enhancements include:
+  * Support MAC Filter configuration
+  * Support Segmented Buffers
+  * Support VLAN filter and strip functionality.
+  * Other enhancements to add support for more dev_ops.
+  * Optimized the packet receive path
+
 * **Reorganized the symmetric crypto operation structure.**
 
   The crypto operation (``rte_crypto_sym_op``) has been reorganized as follows:
@@ -108,12 +133,27 @@ New Features
   * Removed the field ``opaque_data``.
   * Pointer to ``rte_crypto_sym_op`` has been replaced with a zero length array.
 
+* **Reorganized the crypto symmetric session structure.**
+
+  The crypto symmetric session structure (``rte_cryptodev_sym_session``) has
+  been reorganized as follows:
+
+  * ``dev_id`` field has been removed.
+  * ``driver_id`` field has been removed.
+  * Mempool pointer ``mp`` has been removed.
+  * Replaced ``private`` marker with array of pointers to private data sessions
+    ``sess_private_data``.
+
 * **Updated cryptodev library.**
 
   * Added AEAD algorithm specific functions and structures, so it is not
     necessary to use a combination of cipher and authentication
     structures anymore.
   * Added helper functions for crypto device driver identification.
+  * Added support for multi-device sessions, so a single session can be
+    used in multiple drivers.
+  * Added functions to initialize and free individual driver private data
+    with a same session.
 
 * **Updated dpaa2_sec crypto PMD.**
 
@@ -138,6 +178,19 @@ New Features
   Added a multicore based distribution mode, which distributes the enqueued
   crypto operations among several slaves, running on different logical cores.
 
+* **Added NXP DPAA2 Eventdev PMD.**
+
+  Added the new dpaa2 eventdev driver for NXP DPAA2 devices. See the
+  "Event Device Drivers" document for more details on this new driver.
+
+* **Added dpdk-test-eventdev test application.**
+
+  The dpdk-test-eventdev tool is a Data Plane Development Kit (DPDK) application
+  that allows exercising various eventdev use cases.
+  This application has a generic framework to add new eventdev based test cases
+  to verify functionality and measure the performance parameters of DPDK
+  eventdev devices.
+
 
 Resolved Issues
 ---------------
@@ -207,6 +260,38 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* **Modified the _rte_eth_dev_callback_process function in the ethdev library.**
+
+  The function ``_rte_eth_dev_callback_process()`` has been modified. The return
+  value has been changed from void to int and an extra parameter ``void *ret_param``
+  has been added.
+
+* **Moved bypass functions from the rte_ethdev library to ixgbe PMD**
+
+  * The following rte_ethdev library functions were removed:
+
+    * ``rte_eth_dev_bypass_event_show``
+    * ``rte_eth_dev_bypass_event_store``
+    * ``rte_eth_dev_bypass_init``
+    * ``rte_eth_dev_bypass_state_set``
+    * ``rte_eth_dev_bypass_state_show``
+    * ``rte_eth_dev_bypass_ver_show``
+    * ``rte_eth_dev_bypass_wd_reset``
+    * ``rte_eth_dev_bypass_wd_timeout_show``
+    * ``rte_eth_dev_wd_timeout_store``
+
+  * The following ixgbe PMD functions were added:
+
+    * ``rte_pmd_ixgbe_bypass_event_show``
+    * ``rte_pmd_ixgbe_bypass_event_store``
+    * ``rte_pmd_ixgbe_bypass_init``
+    * ``rte_pmd_ixgbe_bypass_state_set``
+    * ``rte_pmd_ixgbe_bypass_state_show``
+    * ``rte_pmd_ixgbe_bypass_ver_show``
+    * ``rte_pmd_ixgbe_bypass_wd_reset``
+    * ``rte_pmd_ixgbe_bypass_wd_timeout_show``
+    * ``rte_pmd_ixgbe_bypass_wd_timeout_store``
+
 * **Reworked rte_cryptodev library.**
 
   The rte_cryptodev library has been reworked and updated. The following changes
@@ -219,6 +304,16 @@ API Changes
     These names are not public anymore.
   * ``rte_cryptodev_configure()`` does not create the session mempool
     for the device anymore.
+  * ``rte_cryptodev_queue_pair_attach_sym_session()`` and
+    ``rte_cryptodev_queue_pair_dettach_sym_session()`` functions require
+    the new parameter ``device id``.
+  * Modified parameters of ``rte_cryptodev_sym_session_create()``, to accept
+    ``mempool``, instead of ``device id`` and ``rte_crypto_sym_xform``.
+  * Remove ``device id`` parameter from ``rte_cryptodev_sym_session_free()``.
+  * Added new field ``session_pool`` to ``rte_cryptodev_queue_pair_setup()``.
+  * Removed ``aad_size`` parameter from ``rte_cryptodev_sym_capability_check_auth()``.
+  * Added ``iv_size`` parameter to ``rte_cryptodev_sym_capability_check_auth()``.
+  * Removed ``RTE_CRYPTO_OP_STATUS_ENQUEUED`` from enum ``rte_crypto_op_status``.
 
 
 ABI Changes
@@ -239,9 +334,15 @@ ABI Changes
   Some fields have been modified in the ``rte_crypto_op`` and ``rte_crypto_sym_op``
   structures, as described in the `New Features`_ section.
 
+* **Reorganized the crypto symmetric session structure.**
+
+  Some fields have been modified in the ``rte_cryptodev_sym_session``
+  structure, as described in the `New Features`_ section.
+
 * **Reorganized the ``rte_crypto_sym_cipher_xform`` structure.**
 
   * Added cipher IV length and offset parameters.
+  * Changed field size of key length from size_t to uint16_t.
 
 * **Reorganized the ``rte_crypto_sym_auth_xform`` structure.**
 
@@ -249,10 +350,10 @@ ABI Changes
   * Changed field size of AAD length from uint32_t to uint16_t.
   * Changed field size of digest length from uint32_t to uint16_t.
   * Removed AAD length.
+  * Changed field size of key length from size_t to uint16_t.
 
 * Replaced ``dev_type`` enumeration with uint8_t ``driver_id`` in
-  ``rte_cryptodev_info``, ``rte_cryptodev`` and ``rte_cryptodev_sym_session``
-  structures.
+  ``rte_cryptodev_info`` and  ``rte_cryptodev`` structures.
 
 * Removed ``session_mp`` from ``rte_cryptodev_config``.
 
@@ -282,7 +383,8 @@ The libraries prepended with a plus sign were incremented in this version.
    + librte_cryptodev.so.3
      librte_distributor.so.1
      librte_eal.so.4
-     librte_ethdev.so.6
+   + librte_ethdev.so.7
+   + librte_gro.so.1
      librte_hash.so.2
      librte_ip_frag.so.1
      librte_jobstats.so.1