cryptodev: add mempool pointer in queue pair setup
[dpdk.git] / doc / guides / rel_notes / release_17_08.rst
index f341171..76bb179 100644 (file)
@@ -95,6 +95,7 @@ New Features
   * Moved length and offset of cipher IV to ``rte_crypto_cipher_xform``.
   * Removed Additional Authentication Data (AAD) length.
   * Removed digest length.
+  * Removed AAD pointer and physical address from ``auth`` structure.
   * Added ``aead`` structure, containing parameters for AEAD algorithms.
 
 * **Reorganized the crypto operation structure.**
@@ -107,11 +108,50 @@ 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.**
+
+  Added support for AES-GCM and AES-CTR
+
+* **Updated the AESNI MB PMD.**
+
+  The AESNI MB PMD has been updated with additional support for:
+
+    * 12-byte IV on AES Counter Mode, apart from the previous 16-byte IV.
+
+* **Updated the AES-NI GCM PMD.**
+
+  The AES-NI GCM PMD was migrated from the ISA-L library to the Multi Buffer
+  library, as the latter library has Scatter Gather List support
+  now. The migration entailed adding additional support for:
+
+  * 192-bit key.
+
+* **Updated the Cryptodev Scheduler PMD.**
+
+  Added a multicore based distribution mode, which distributes the enqueued
+  crypto operations among several slaves, running on different logical cores.
 
 
 Resolved Issues
@@ -182,6 +222,26 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* **Reworked rte_cryptodev library.**
+
+  The rte_cryptodev library has been reworked and updated. The following changes
+  have been made to it:
+
+  * The crypto device type enumeration has been removed from cryptodev library.
+  * The function ``rte_crypto_count_devtype()`` has been removed, and replaced
+    by the new function ``rte_crypto_count_by_driver()``.
+  * Moved crypto device driver names definitions to the particular PMDs.
+    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()``.
+
 
 ABI Changes
 -----------
@@ -201,6 +261,11 @@ 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.
@@ -210,6 +275,12 @@ ABI Changes
   * Added authentication IV length and offset parameters.
   * 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.
+
+* Replaced ``dev_type`` enumeration with uint8_t ``driver_id`` in
+  ``rte_cryptodev_info`` and  ``rte_cryptodev`` structures.
+
+* Removed ``session_mp`` from ``rte_cryptodev_config``.
 
 
 Shared Library Versions