cryptodev: remove AAD from authentication structure
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Sun, 2 Jul 2017 05:41:27 +0000 (06:41 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:26:50 +0000 (22:26 +0200)
Now that AAD is only used in AEAD algorithms,
there is no need to keep AAD in the authentication
structure.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
app/test-crypto-perf/cperf_ops.c
doc/guides/prog_guide/cryptodev_lib.rst
doc/guides/rel_notes/release_17_08.rst
drivers/crypto/openssl/rte_openssl_pmd.c
lib/librte_cryptodev/rte_crypto_sym.h
test/test/test_cryptodev.c
test/test/test_cryptodev_perf.c

index 107abb0..d718278 100644 (file)
@@ -422,7 +422,6 @@ cperf_create_session(uint8_t dev_id,
                                        test_vector->auth_iv.length;
                } else {
                        auth_xform.auth.digest_length = 0;
-                       auth_xform.auth.add_auth_data_length = 0;
                        auth_xform.auth.key.length = 0;
                        auth_xform.auth.key.data = NULL;
                        auth_xform.auth.iv.length = 0;
@@ -475,7 +474,6 @@ cperf_create_session(uint8_t dev_id,
                                        test_vector->auth_key.data;
                } else {
                        auth_xform.auth.digest_length = 0;
-                       auth_xform.auth.add_auth_data_length = 0;
                        auth_xform.auth.key.length = 0;
                        auth_xform.auth.key.data = NULL;
                        auth_xform.auth.iv.length = 0;
index 5048839..f250c00 100644 (file)
@@ -567,12 +567,6 @@ chain.
                         uint8_t *data;
                         phys_addr_t phys_addr;
                     } digest; /**< Digest parameters */
-
-                    struct {
-                        uint8_t *data;
-                        phys_addr_t phys_addr;
-                    } aad;
-                    /**< Additional authentication parameters */
                 } auth;
             };
         };
index f341171..d689af7 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.**
@@ -210,6 +211,7 @@ 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.
 
 
 Shared Library Versions
index 7280a0d..f86cc10 100644 (file)
@@ -413,7 +413,6 @@ openssl_set_session_auth_parameters(struct openssl_session *sess,
                return -EINVAL;
        }
 
-       sess->auth.aad_length = xform->auth.add_auth_data_length;
        sess->auth.digest_length = xform->auth.digest_length;
 
        return 0;
index 931ff2c..f1b2f38 100644 (file)
@@ -326,13 +326,6 @@ struct rte_crypto_auth_xform {
         * the result shall be truncated.
         */
 
-       uint16_t add_auth_data_length;
-       /**< The length of the additional authenticated data (AAD) in bytes.
-        * The maximum permitted value is 65535 (2^16 - 1) bytes, unless
-        * otherwise specified below.
-        *
-        */
-
        struct {
                uint16_t offset;
                /**< Starting point for Initialisation Vector or Counter,
@@ -670,25 +663,6 @@ struct rte_crypto_sym_op {
                                        phys_addr_t phys_addr;
                                        /**< Physical address of digest */
                                } digest; /**< Digest parameters */
-
-                               struct {
-                                       uint8_t *data;
-                                       /**< Pointer to Additional Authenticated
-                                        * Data (AAD) needed for authenticated cipher
-                                        * mechanisms (CCM and GCM).
-                                        *
-                                        * The length of the data pointed to by this
-                                        * field is set up for the session in the @ref
-                                        * rte_crypto_auth_xform structure as part of
-                                        * the @ref rte_cryptodev_sym_session_create
-                                        * function call.
-                                        * This length must not exceed 65535 (2^16-1)
-                                        * bytes.
-                                        *
-                                        */
-                                       phys_addr_t phys_addr;  /**< physical address */
-                               } aad;
-                               /**< Additional authentication parameters */
                        } auth;
                };
        };
index 585a753..5e09b8e 100644 (file)
@@ -5531,7 +5531,6 @@ static int MD5_HMAC_create_session(struct crypto_testsuite_params *ts_params,
        ut_params->auth_xform.auth.algo = RTE_CRYPTO_AUTH_MD5_HMAC;
 
        ut_params->auth_xform.auth.digest_length = MD5_DIGEST_LEN;
-       ut_params->auth_xform.auth.add_auth_data_length = 0;
        ut_params->auth_xform.auth.key.length = test_case->key.len;
        ut_params->auth_xform.auth.key.data = key;
 
@@ -6304,7 +6303,6 @@ static int create_gmac_session(uint8_t dev_id,
        ut_params->auth_xform.auth.algo = RTE_CRYPTO_AUTH_AES_GMAC;
        ut_params->auth_xform.auth.op = auth_op;
        ut_params->auth_xform.auth.digest_length = tdata->gmac_tag.len;
-       ut_params->auth_xform.auth.add_auth_data_length = 0;
        ut_params->auth_xform.auth.key.length = tdata->key.len;
        ut_params->auth_xform.auth.key.data = auth_key;
        ut_params->auth_xform.auth.iv.offset = IV_OFFSET;
@@ -6684,7 +6682,6 @@ create_auth_session(struct crypto_unittest_params *ut_params,
        ut_params->auth_xform.auth.key.length = reference->auth_key.len;
        ut_params->auth_xform.auth.key.data = auth_key;
        ut_params->auth_xform.auth.digest_length = reference->digest.len;
-       ut_params->auth_xform.auth.add_auth_data_length = reference->aad.len;
 
        /* Create Crypto session*/
        ut_params->sess = rte_cryptodev_sym_session_create(dev_id,
@@ -6722,7 +6719,6 @@ create_auth_cipher_session(struct crypto_unittest_params *ut_params,
                ut_params->auth_xform.auth.iv.length = reference->iv.len;
        } else {
                ut_params->auth_xform.next = &ut_params->cipher_xform;
-               ut_params->auth_xform.auth.add_auth_data_length = reference->aad.len;
 
                /* Setup Cipher Parameters */
                ut_params->cipher_xform.type = RTE_CRYPTO_SYM_XFORM_CIPHER;
index 32b76fe..e3d0479 100644 (file)
@@ -2936,7 +2936,6 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,
        if (chain == CIPHER_ONLY) {
                op->sym->auth.digest.data = NULL;
                op->sym->auth.digest.phys_addr = 0;
-               op->sym->auth.aad.data = NULL;
                op->sym->auth.data.offset = 0;
                op->sym->auth.data.length = 0;
        } else {