cryptodev: set private data for session-less mode
authorAbhinandan Gujjar <abhinandan.gujjar@intel.com>
Mon, 16 Apr 2018 06:54:54 +0000 (12:24 +0530)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Mon, 23 Apr 2018 17:20:09 +0000 (18:20 +0100)
The application may want to store private data along with the
rte_crypto_op that is transparent to the rte_cryptodev layer.
For e.g., If an eventdev based application is submitting a
crypto session-less operation and wants to indicate event
information required to construct a new event that will be
enqueued to eventdev after completion of the crypto
operation. This patch provides a mechanism for the application
to associate this information with the rte_crypto_op in
session-less mode.

Signed-off-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
lib/librte_cryptodev/rte_crypto.h

index 95cf861..2540426 100644 (file)
@@ -84,8 +84,14 @@ struct rte_crypto_op {
         */
        uint8_t sess_type;
        /**< operation session type */
+       uint16_t private_data_offset;
+       /**< Offset to indicate start of private data (if any). The offset
+        * is counted from the start of the rte_crypto_op including IV.
+        * The private data may be used by the application to store
+        * information which should remain untouched in the library/driver
+        */
 
-       uint8_t reserved[5];
+       uint8_t reserved[3];
        /**< Reserved bytes to fill 64 bits for future additions */
        struct rte_mempool *mempool;
        /**< crypto operation mempool which operation is allocated from */