* 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.**
* 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.
+
+* **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
---------------
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
-----------
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 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
-----------------------