cryptodev: move session type to generic crypto op
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Sun, 2 Jul 2017 05:41:02 +0000 (06:41 +0100)
committerPablo de Lara <pablo.de.lara.guarch@intel.com>
Thu, 6 Jul 2017 20:22:09 +0000 (22:22 +0200)
Session type (operation with or without session) is not
something specific to symmetric operations.
Therefore, the variable is moved to the generic crypto operation
structure.

Since this is an ABI change, the cryptodev library version
gets bumped.

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>
17 files changed:
doc/guides/prog_guide/cryptodev_lib.rst
doc/guides/rel_notes/deprecation.rst
doc/guides/rel_notes/release_17_08.rst
drivers/crypto/aesni_gcm/aesni_gcm_pmd.c
drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c
drivers/crypto/armv8/rte_armv8_pmd.c
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
drivers/crypto/kasumi/rte_kasumi_pmd.c
drivers/crypto/null/null_crypto_pmd.c
drivers/crypto/openssl/rte_openssl_pmd.c
drivers/crypto/qat/qat_crypto.c
drivers/crypto/snow3g/rte_snow3g_pmd.c
drivers/crypto/zuc/rte_zuc_pmd.c
lib/librte_cryptodev/Makefile
lib/librte_cryptodev/rte_crypto.h
lib/librte_cryptodev/rte_crypto_sym.h
test/test/test_cryptodev.c

index 4f98f28..229cb7a 100644 (file)
@@ -1,5 +1,5 @@
 ..  BSD LICENSE
-    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions
@@ -359,11 +359,12 @@ Crypto operation to be processed on a particular Crypto device poll mode driver.
 
 .. figure:: img/crypto_op.*
 
-The operation structure includes the operation type and the operation status,
-a reference to the operation specific data, which can vary in size and content
-depending on the operation being provisioned. It also contains the source
-mempool for the operation, if it allocate from a mempool. Finally an
-opaque pointer for user specific data is provided.
+The operation structure includes the operation type, the operation status
+and the session type (session-based/less), a reference to the operation
+specific data, which can vary in size and content depending on the operation
+being provisioned. It also contains the source mempool for the operation,
+if it allocate from a mempool. Finally an opaque pointer for user specific
+data is provided.
 
 If Crypto operations are allocated from a Crypto operation mempool, see next
 section, there is also the ability to allocate private memory with the
@@ -512,9 +513,9 @@ buffer. It is used for either cipher, authentication, AEAD and chained
 operations.
 
 As a minimum the symmetric operation must have a source data buffer (``m_src``),
-the session type (session-based/less), a valid session (or transform chain if in
-session-less mode) and the minimum authentication/ cipher parameters required
-depending on the type of operation specified in the session or the transform
+a valid session (or transform chain if in session-less mode) and the minimum
+authentication/ cipher parameters required depending on the type of operation
+specified in the session or the transform
 chain.
 
 .. code-block:: c
@@ -523,8 +524,6 @@ chain.
         struct rte_mbuf *m_src;
         struct rte_mbuf *m_dst;
 
-        enum rte_crypto_sym_op_sess_type type;
-
         union {
             struct rte_cryptodev_sym_session *session;
             /**< Handle for the initialised session context */
index 2e708db..511a898 100644 (file)
@@ -86,10 +86,6 @@ Deprecation Notices
   - ``rte_cryptodev_queue_pair_attach_sym_session``
   - ``rte_cryptodev_queue_pair_detach_sym_session``
 
-* cryptodev: the structures ``rte_crypto_op``, ``rte_crypto_sym_op``
-  and ``rte_crypto_sym_xform`` will be restructured in 17.08,
-  for correctness and improvement.
-
 * librte_table: The ``key_mask`` parameter will be added to all the hash tables
   that currently do not have it, as well as to the hash compute function prototype.
   The non-"do-sig" versions of the hash tables will be removed
index 9b33da2..4e6a8bd 100644 (file)
@@ -85,6 +85,18 @@ New Features
 
   Added support for firmwares with multiple Ethernet ports per physical port.
 
+* **Reorganized the symmetric crypto operation structure.**
+
+  The crypto operation (``rte_crypto_sym_op``) has been reorganized as follows:
+
+  * Removed field ``rte_crypto_sym_op_sess_type``.
+
+* **Reorganized the crypto operation structure.**
+
+  The crypto operation (``rte_crypto_op``) has been reorganized as follows:
+
+  * Added field ``rte_crypto_op_sess_type``.
+
 
 Resolved Issues
 ---------------
@@ -168,6 +180,10 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* **Reorganized the crypto operation structures.**
+
+  Some fields have been modified in the ``rte_crypto_op`` and ``rte_crypto_sym_op``
+  structures, as described in the `New Features`_ section.
 
 
 Shared Library Versions
@@ -192,7 +208,7 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_bitratestats.so.1
      librte_cfgfile.so.2
      librte_cmdline.so.2
-     librte_cryptodev.so.2
+   + librte_cryptodev.so.3
      librte_distributor.so.1
      librte_eal.so.4
      librte_ethdev.so.6
index 1b95c23..92a5027 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -139,16 +139,17 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,
 
 /** Get gcm session */
 static struct aesni_gcm_session *
-aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_sym_op *op)
+aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_op *op)
 {
        struct aesni_gcm_session *sess = NULL;
+       struct rte_crypto_sym_op *sym_op = op->sym;
 
-       if (op->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
-               if (unlikely(op->session->dev_type
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
+               if (unlikely(sym_op->session->dev_type
                                        != RTE_CRYPTODEV_AESNI_GCM_PMD))
                        return sess;
 
-               sess = (struct aesni_gcm_session *)op->session->_private;
+               sess = (struct aesni_gcm_session *)sym_op->session->_private;
        } else  {
                void *_sess;
 
@@ -159,7 +160,7 @@ aesni_gcm_get_session(struct aesni_gcm_qp *qp, struct rte_crypto_sym_op *op)
                        ((struct rte_cryptodev_sym_session *)_sess)->_private;
 
                if (unlikely(aesni_gcm_set_session_parameters(sess,
-                               op->xform) != 0)) {
+                               sym_op->xform) != 0)) {
                        rte_mempool_put(qp->sess_mp, _sess);
                        sess = NULL;
                }
@@ -372,7 +373,7 @@ handle_completed_gcm_crypto_op(struct aesni_gcm_qp *qp,
        post_process_gcm_crypto_op(op);
 
        /* Free session if a session-less crypto op */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
        }
@@ -393,7 +394,7 @@ aesni_gcm_pmd_dequeue_burst(void *queue_pair,
 
        for (i = 0; i < nb_dequeued; i++) {
 
-               sess = aesni_gcm_get_session(qp, ops[i]->sym);
+               sess = aesni_gcm_get_session(qp, ops[i]);
                if (unlikely(sess == NULL)) {
                        ops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;
                        qp->qp_stats.dequeue_err_count++;
index a033889..fa8112a 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2015-2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2015-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -345,7 +345,7 @@ get_session(struct aesni_mb_qp *qp, struct rte_crypto_op *op)
 {
        struct aesni_mb_session *sess = NULL;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                if (unlikely(op->sym->session->dev_type !=
                                RTE_CRYPTODEV_AESNI_MB_PMD)) {
                        return NULL;
@@ -541,7 +541,7 @@ post_process_mb_job(struct aesni_mb_qp *qp, JOB_AES_HMAC *job)
        }
 
        /* Free session if a session-less crypto op */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
        }
index 83dae87..4a79b61 100644 (file)
@@ -545,7 +545,7 @@ get_session(struct armv8_crypto_qp *qp, struct rte_crypto_op *op)
 {
        struct armv8_crypto_session *sess = NULL;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                /* get existing session */
                if (likely(op->sym->session != NULL &&
                                op->sym->session->dev_type ==
@@ -700,7 +700,7 @@ process_op(const struct armv8_crypto_qp *qp, struct rte_crypto_op *op,
        }
 
        /* Free session if a session-less crypto op */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                memset(sess, 0, sizeof(struct armv8_crypto_session));
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
index e32b27e..e154395 100644 (file)
@@ -437,7 +437,7 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
        if (unlikely(nb_ops == 0))
                return 0;
 
-       if (ops[0]->sym->sess_type != RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (ops[0]->sess_type != RTE_CRYPTO_OP_WITH_SESSION) {
                RTE_LOG(ERR, PMD, "sessionless crypto op not supported\n");
                return 0;
        }
index 87e8cc3..7edf819 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -143,7 +143,7 @@ kasumi_get_session(struct kasumi_qp *qp, struct rte_crypto_op *op)
 {
        struct kasumi_session *sess;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                if (unlikely(op->sym->session->dev_type !=
                                RTE_CRYPTODEV_KASUMI_PMD))
                        return NULL;
@@ -353,7 +353,7 @@ process_ops(struct rte_crypto_op **ops, struct kasumi_session *session,
                if (ops[i]->status == RTE_CRYPTO_OP_STATUS_NOT_PROCESSED)
                        ops[i]->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
                /* Free session if a session-less crypto op. */
-               if (ops[i]->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+               if (ops[i]->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                        rte_mempool_put(qp->sess_mp, ops[i]->sym->session);
                        ops[i]->sym->session = NULL;
                }
@@ -405,7 +405,7 @@ process_op_bit(struct rte_crypto_op *op, struct kasumi_session *session,
                op->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
 
        /* Free session if a session-less crypto op. */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
        }
index 53bdc3e..39dffea 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -90,16 +90,17 @@ process_op(const struct null_crypto_qp *qp, struct rte_crypto_op *op,
 }
 
 static struct null_crypto_session *
-get_session(struct null_crypto_qp *qp, struct rte_crypto_sym_op *op)
+get_session(struct null_crypto_qp *qp, struct rte_crypto_op *op)
 {
        struct null_crypto_session *sess;
+       struct rte_crypto_sym_op *sym_op = op->sym;
 
-       if (op->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
-               if (unlikely(op->session == NULL ||
-                            op->session->dev_type != RTE_CRYPTODEV_NULL_PMD))
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
+               if (unlikely(sym_op->session == NULL ||
+                            sym_op->session->dev_type != RTE_CRYPTODEV_NULL_PMD))
                        return NULL;
 
-               sess = (struct null_crypto_session *)op->session->_private;
+               sess = (struct null_crypto_session *)sym_op->session->_private;
        } else  {
                struct rte_cryptodev_session *c_sess = NULL;
 
@@ -108,7 +109,7 @@ get_session(struct null_crypto_qp *qp, struct rte_crypto_sym_op *op)
 
                sess = (struct null_crypto_session *)c_sess->_private;
 
-               if (null_crypto_set_session_parameters(sess, op->xform) != 0)
+               if (null_crypto_set_session_parameters(sess, sym_op->xform) != 0)
                        return NULL;
        }
 
@@ -126,7 +127,7 @@ null_crypto_pmd_enqueue_burst(void *queue_pair, struct rte_crypto_op **ops,
        int i, retval;
 
        for (i = 0; i < nb_ops; i++) {
-               sess = get_session(qp, ops[i]->sym);
+               sess = get_session(qp, ops[i]);
                if (unlikely(sess == NULL))
                        goto enqueue_err;
 
index 5d29171..bfc2371 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -446,7 +446,7 @@ get_session(struct openssl_qp *qp, struct rte_crypto_op *op)
 {
        struct openssl_session *sess = NULL;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                /* get existing session */
                if (likely(op->sym->session != NULL &&
                                op->sym->session->dev_type ==
@@ -1196,7 +1196,7 @@ process_op(const struct openssl_qp *qp, struct rte_crypto_op *op,
        }
 
        /* Free session if a session-less crypto op */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                openssl_reset_session(sess);
                memset(sess, 0, sizeof(struct openssl_session));
                rte_mempool_put(qp->sess_mp, op->sym->session);
index f8e1d01..e05c316 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2015-2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2015-2017 Intel Corporation. All rights reserved.
  *   All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
@@ -908,7 +908,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,
                return -EINVAL;
        }
 #endif
-       if (unlikely(op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS)) {
+       if (unlikely(op->sess_type == RTE_CRYPTO_OP_SESSIONLESS)) {
                PMD_DRV_LOG(ERR, "QAT PMD only supports session oriented"
                                " requests, op (%p) is sessionless.", op);
                return -EINVAL;
index 7151c21..a8bcd9d 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -143,7 +143,7 @@ snow3g_get_session(struct snow3g_qp *qp, struct rte_crypto_op *op)
 {
        struct snow3g_session *sess;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                if (unlikely(op->sym->session->dev_type !=
                                RTE_CRYPTODEV_SNOW3G_PMD))
                        return NULL;
@@ -357,7 +357,7 @@ process_ops(struct rte_crypto_op **ops, struct snow3g_session *session,
                if (ops[i]->status == RTE_CRYPTO_OP_STATUS_NOT_PROCESSED)
                        ops[i]->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
                /* Free session if a session-less crypto op. */
-               if (ops[i]->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+               if (ops[i]->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                        rte_mempool_put(qp->sess_mp, ops[i]->sym->session);
                        ops[i]->sym->session = NULL;
                }
@@ -409,7 +409,7 @@ process_op_bit(struct rte_crypto_op *op, struct snow3g_session *session,
                op->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
 
        /* Free session if a session-less crypto op. */
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+       if (op->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                rte_mempool_put(qp->sess_mp, op->sym->session);
                op->sym->session = NULL;
        }
index ada4b68..25a959f 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -142,7 +142,7 @@ zuc_get_session(struct zuc_qp *qp, struct rte_crypto_op *op)
 {
        struct zuc_session *sess;
 
-       if (op->sym->sess_type == RTE_CRYPTO_SYM_OP_WITH_SESSION) {
+       if (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION) {
                if (unlikely(op->sym->session->dev_type !=
                                RTE_CRYPTODEV_ZUC_PMD))
                        return NULL;
@@ -333,7 +333,7 @@ process_ops(struct rte_crypto_op **ops, struct zuc_session *session,
                if (ops[i]->status == RTE_CRYPTO_OP_STATUS_NOT_PROCESSED)
                        ops[i]->status = RTE_CRYPTO_OP_STATUS_SUCCESS;
                /* Free session if a session-less crypto op. */
-               if (ops[i]->sym->sess_type == RTE_CRYPTO_SYM_OP_SESSIONLESS) {
+               if (ops[i]->sess_type == RTE_CRYPTO_OP_SESSIONLESS) {
                        rte_mempool_put(qp->sess_mp, ops[i]->sym->session);
                        ops[i]->sym->session = NULL;
                }
index fc000ac..6ac331b 100644 (file)
@@ -34,7 +34,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cryptodev.a
 
 # library version
-LIBABIVER := 2
+LIBABIVER := 3
 
 # build flags
 CFLAGS += -O3
index 9019518..b816b45 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -81,6 +81,16 @@ enum rte_crypto_op_status {
        /**< Error handling operation */
 };
 
+/**
+ * Crypto operation session type. This is used to specify whether a crypto
+ * operation has session structure attached for immutable parameters or if all
+ * operation information is included in the operation data structure.
+ */
+enum rte_crypto_op_sess_type {
+       RTE_CRYPTO_OP_WITH_SESSION,     /**< Session based crypto operation */
+       RTE_CRYPTO_OP_SESSIONLESS       /**< Session-less crypto operation */
+};
+
 /**
  * Cryptographic Operation.
  *
@@ -102,6 +112,8 @@ struct rte_crypto_op {
         * will be set to RTE_CRYPTO_OP_STATUS_SUCCESS after crypto operation
         * is successfully processed by a crypto PMD
         */
+       enum rte_crypto_op_sess_type  sess_type;
+       /**< operation session type */
 
        struct rte_mempool *mempool;
        /**< crypto operation mempool which operation is allocated from */
@@ -130,6 +142,7 @@ __rte_crypto_op_reset(struct rte_crypto_op *op, enum rte_crypto_op_type type)
 {
        op->type = type;
        op->status = RTE_CRYPTO_OP_STATUS_NOT_PROCESSED;
+       op->sess_type = RTE_CRYPTO_OP_SESSIONLESS;
 
        switch (type) {
        case RTE_CRYPTO_OP_TYPE_SYMMETRIC:
@@ -407,6 +420,8 @@ rte_crypto_op_attach_sym_session(struct rte_crypto_op *op,
        if (unlikely(op->type != RTE_CRYPTO_OP_TYPE_SYMMETRIC))
                return -1;
 
+       op->sess_type = RTE_CRYPTO_OP_WITH_SESSION;
+
        return __rte_crypto_sym_op_attach_sym_session(op->sym, sess);
 }
 
index 3a40844..5950e86 100644 (file)
@@ -1,7 +1,7 @@
 /*-
  *   BSD LICENSE
  *
- *   Copyright(c) 2016 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
  *   modification, are permitted provided that the following conditions
@@ -376,17 +376,6 @@ struct rte_crypto_sym_xform {
        };
 };
 
-/**
- * Crypto operation session type. This is used to specify whether a crypto
- * operation has session structure attached for immutable parameters or if all
- * operation information is included in the operation data structure.
- */
-enum rte_crypto_sym_op_sess_type {
-       RTE_CRYPTO_SYM_OP_WITH_SESSION, /**< Session based crypto operation */
-       RTE_CRYPTO_SYM_OP_SESSIONLESS   /**< Session-less crypto operation */
-};
-
-
 struct rte_cryptodev_sym_session;
 
 /**
@@ -423,8 +412,6 @@ struct rte_crypto_sym_op {
        struct rte_mbuf *m_src; /**< source mbuf */
        struct rte_mbuf *m_dst; /**< destination mbuf */
 
-       enum rte_crypto_sym_op_sess_type sess_type;
-
        RTE_STD_C11
        union {
                struct rte_cryptodev_sym_session *session;
@@ -665,8 +652,6 @@ static inline void
 __rte_crypto_sym_op_reset(struct rte_crypto_sym_op *op)
 {
        memset(op, 0, sizeof(*op));
-
-       op->sess_type = RTE_CRYPTO_SYM_OP_SESSIONLESS;
 }
 
 
@@ -708,7 +693,6 @@ __rte_crypto_sym_op_attach_sym_session(struct rte_crypto_sym_op *sym_op,
                struct rte_cryptodev_sym_session *sess)
 {
        sym_op->session = sess;
-       sym_op->sess_type = RTE_CRYPTO_SYM_OP_WITH_SESSION;
 
        return 0;
 }
index 8766cad..25c6650 100644 (file)
@@ -5556,8 +5556,8 @@ test_AES_GCM_authenticated_encryption_sessionless(
 
        ut_params->op->sym->m_src = ut_params->ibuf;
 
-       TEST_ASSERT_EQUAL(ut_params->op->sym->sess_type,
-                       RTE_CRYPTO_SYM_OP_SESSIONLESS,
+       TEST_ASSERT_EQUAL(ut_params->op->sess_type,
+                       RTE_CRYPTO_OP_SESSIONLESS,
                        "crypto op session type not sessionless");
 
        /* Process crypto operation */
@@ -5636,8 +5636,8 @@ test_AES_GCM_authenticated_decryption_sessionless(
 
        ut_params->op->sym->m_src = ut_params->ibuf;
 
-       TEST_ASSERT_EQUAL(ut_params->op->sym->sess_type,
-                       RTE_CRYPTO_SYM_OP_SESSIONLESS,
+       TEST_ASSERT_EQUAL(ut_params->op->sess_type,
+                       RTE_CRYPTO_OP_SESSIONLESS,
                        "crypto op session type not sessionless");
 
        /* Process crypto operation */