get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/26032/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 26032,
    "url": "http://patches.dpdk.org/api/patches/26032/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170629113521.5560-18-pablo.de.lara.guarch@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20170629113521.5560-18-pablo.de.lara.guarch@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170629113521.5560-18-pablo.de.lara.guarch@intel.com",
    "date": "2017-06-29T11:35:12",
    "name": "[dpdk-dev,v3,17/26] cryptodev: remove digest length from crypto op",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "74836cc865cbc23bccdc67137f41aea4d2b4c4ef",
    "submitter": {
        "id": 9,
        "url": "http://patches.dpdk.org/api/people/9/?format=api",
        "name": "De Lara Guarch, Pablo",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "delegate": {
        "id": 22,
        "url": "http://patches.dpdk.org/api/users/22/?format=api",
        "username": "pdelarag",
        "first_name": "Pablo",
        "last_name": "de Lara Guarch",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20170629113521.5560-18-pablo.de.lara.guarch@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/26032/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/26032/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id E05407CE2;\n\tThu, 29 Jun 2017 21:36:34 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n\tby dpdk.org (Postfix) with ESMTP id DCBFE7CBE\n\tfor <dev@dpdk.org>; Thu, 29 Jun 2017 21:35:51 +0200 (CEST)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t29 Jun 2017 12:35:51 -0700",
            "from silpixa00399464.ir.intel.com (HELO\n\tsilpixa00399464.ger.corp.intel.com) ([10.237.222.157])\n\tby FMSMGA003.fm.intel.com with ESMTP; 29 Jun 2017 12:35:49 -0700"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.40,282,1496127600\"; d=\"scan'208\";a=\"873176595\"",
        "From": "Pablo de Lara <pablo.de.lara.guarch@intel.com>",
        "To": "declan.doherty@intel.com, zbigniew.bodek@caviumnetworks.com,\n\tjerin.jacob@caviumnetworks.com, akhil.goyal@nxp.com,\n\themant.agrawal@nxp.com, fiona.trahe@intel.com, john.griffin@intel.com,\n\tdeepak.k.jain@intel.com",
        "Cc": "dev@dpdk.org,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>",
        "Date": "Thu, 29 Jun 2017 12:35:12 +0100",
        "Message-Id": "<20170629113521.5560-18-pablo.de.lara.guarch@intel.com>",
        "X-Mailer": "git-send-email 2.9.4",
        "In-Reply-To": "<20170629113521.5560-1-pablo.de.lara.guarch@intel.com>",
        "References": "<20170626102300.56637-1-pablo.de.lara.guarch@intel.com>\n\t<20170629113521.5560-1-pablo.de.lara.guarch@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v3 17/26] cryptodev: remove digest length from\n\tcrypto op",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Digest length was duplicated in the authentication transform\nand the crypto operation structures.\n\nSince digest length is not expected to change in a same\nsession, it is removed from the crypto operation.\n\nAlso, the length has been shrunk to 16 bits,\nwhich should be sufficient for any digest.\n\nSigned-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>\nAcked-by: Akhil Goyal <akhil.goyal@nxp.com>\n---\n app/test-crypto-perf/cperf_ops.c                 |  7 ---\n doc/guides/prog_guide/cryptodev_lib.rst          |  1 -\n doc/guides/rel_notes/release_17_08.rst           |  3 ++\n drivers/crypto/aesni_gcm/aesni_gcm_pmd.c         | 34 +++++++-------\n drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h |  2 +\n drivers/crypto/armv8/rte_armv8_pmd.c             |  9 ++--\n drivers/crypto/armv8/rte_armv8_pmd_private.h     |  2 +\n drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c      | 34 +++++++-------\n drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h        |  1 +\n drivers/crypto/kasumi/rte_kasumi_pmd.c           | 18 ++++----\n drivers/crypto/openssl/rte_openssl_pmd.c         |  7 +--\n drivers/crypto/openssl/rte_openssl_pmd_private.h |  2 +\n drivers/crypto/qat/qat_adf/qat_algs.h            |  1 +\n drivers/crypto/qat/qat_crypto.c                  |  3 +-\n drivers/crypto/snow3g/rte_snow3g_pmd.c           | 18 ++++----\n drivers/crypto/zuc/rte_zuc_pmd.c                 | 18 ++++----\n examples/ipsec-secgw/esp.c                       |  2 -\n examples/l2fwd-crypto/main.c                     |  1 -\n lib/librte_cryptodev/rte_crypto_sym.h            |  6 +--\n test/test/test_cryptodev.c                       | 34 +++++---------\n test/test/test_cryptodev_blockcipher.c           |  5 +--\n test/test/test_cryptodev_perf.c                  | 56 ++++++++----------------\n 22 files changed, 119 insertions(+), 145 deletions(-)",
    "diff": "diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c\nindex 15a4b58..bc74371 100644\n--- a/app/test-crypto-perf/cperf_ops.c\n+++ b/app/test-crypto-perf/cperf_ops.c\n@@ -161,7 +161,6 @@ cperf_set_ops_auth(struct rte_crypto_op **ops,\n \t\t\tsym_op->auth.digest.data = test_vector->digest.data;\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\ttest_vector->digest.phys_addr;\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t} else {\n \n \t\t\tuint32_t offset = options->test_buffer_size;\n@@ -184,7 +183,6 @@ cperf_set_ops_auth(struct rte_crypto_op **ops,\n \t\t\t\t\tuint8_t *, offset);\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\trte_pktmbuf_mtophys_offset(buf,\toffset);\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t\tsym_op->auth.aad.phys_addr = test_vector->aad.phys_addr;\n \t\t\tsym_op->auth.aad.data = test_vector->aad.data;\n \n@@ -247,7 +245,6 @@ cperf_set_ops_cipher_auth(struct rte_crypto_op **ops,\n \t\t\tsym_op->auth.digest.data = test_vector->digest.data;\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\ttest_vector->digest.phys_addr;\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t} else {\n \n \t\t\tuint32_t offset = options->test_buffer_size;\n@@ -270,7 +267,6 @@ cperf_set_ops_cipher_auth(struct rte_crypto_op **ops,\n \t\t\t\t\tuint8_t *, offset);\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\trte_pktmbuf_mtophys_offset(buf,\toffset);\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t\tsym_op->auth.aad.phys_addr = test_vector->aad.phys_addr;\n \t\t\tsym_op->auth.aad.data = test_vector->aad.data;\n \t\t}\n@@ -339,7 +335,6 @@ cperf_set_ops_aead(struct rte_crypto_op **ops,\n \t\t\tsym_op->auth.digest.data = test_vector->digest.data;\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\ttest_vector->digest.phys_addr;\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t} else {\n \n \t\t\tuint32_t offset = sym_op->cipher.data.length +\n@@ -363,8 +358,6 @@ cperf_set_ops_aead(struct rte_crypto_op **ops,\n \t\t\t\t\tuint8_t *, offset);\n \t\t\tsym_op->auth.digest.phys_addr =\n \t\t\t\t\trte_pktmbuf_mtophys_offset(buf,\toffset);\n-\n-\t\t\tsym_op->auth.digest.length = options->auth_digest_sz;\n \t\t}\n \n \t\tsym_op->auth.data.length = options->test_buffer_size;\ndiff --git a/doc/guides/prog_guide/cryptodev_lib.rst b/doc/guides/prog_guide/cryptodev_lib.rst\nindex ea8fc00..e036611 100644\n--- a/doc/guides/prog_guide/cryptodev_lib.rst\n+++ b/doc/guides/prog_guide/cryptodev_lib.rst\n@@ -547,7 +547,6 @@ chain.\n             struct {\n                 uint8_t *data;\n                 phys_addr_t phys_addr;\n-                uint16_t length;\n             } digest; /**< Digest parameters */\n \n             struct {\ndiff --git a/doc/guides/rel_notes/release_17_08.rst b/doc/guides/rel_notes/release_17_08.rst\nindex e633d73..a544639 100644\n--- a/doc/guides/rel_notes/release_17_08.rst\n+++ b/doc/guides/rel_notes/release_17_08.rst\n@@ -166,6 +166,9 @@ API Changes\n   * Removed Additional Authentication Data (AAD) length from ``rte_crypto_sym_op``.\n   * Changed field size of AAD length in ``rte_crypto_auth_xform``,\n     from uint32_t to uint16_t.\n+  * Removed digest length from ``rte_crypto_sym_op``.\n+  * Changed field size of digest length in ``rte_crypto_auth_xform``,\n+    from uint32_t to uint16_t.\n \n \n ABI Changes\ndiff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\nindex f6136ba..fcf0f8b 100644\n--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\n+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\n@@ -78,6 +78,7 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,\n {\n \tconst struct rte_crypto_sym_xform *auth_xform;\n \tconst struct rte_crypto_sym_xform *cipher_xform;\n+\tuint16_t digest_length;\n \n \tif (xform->next == NULL || xform->next->next != NULL) {\n \t\tGCM_LOG_ERR(\"Two and only two chained xform required\");\n@@ -128,6 +129,8 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,\n \t\treturn -EINVAL;\n \t}\n \n+\tdigest_length = auth_xform->auth.digest_length;\n+\n \t/* Check key length and calculate GCM pre-compute. */\n \tswitch (cipher_xform->cipher.key.length) {\n \tcase 16:\n@@ -146,6 +149,14 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,\n \t}\n \n \tsess->aad_length = auth_xform->auth.add_auth_data_length;\n+\t/* Digest check */\n+\tif (digest_length != 16 &&\n+\t\t\tdigest_length != 12 &&\n+\t\t\tdigest_length != 8) {\n+\t\tGCM_LOG_ERR(\"digest\");\n+\t\treturn -EINVAL;\n+\t}\n+\tsess->digest_length = digest_length;\n \n \treturn 0;\n }\n@@ -245,13 +256,6 @@ process_gcm_crypto_op(struct rte_crypto_op *op,\n \t\t*iv_padd = rte_bswap32(1);\n \t}\n \n-\tif (sym_op->auth.digest.length != 16 &&\n-\t\t\tsym_op->auth.digest.length != 12 &&\n-\t\t\tsym_op->auth.digest.length != 8) {\n-\t\tGCM_LOG_ERR(\"digest\");\n-\t\treturn -1;\n-\t}\n-\n \tif (session->op == AESNI_GCM_OP_AUTHENTICATED_ENCRYPTION) {\n \n \t\taesni_gcm_enc[session->key].init(&session->gdata,\n@@ -281,11 +285,11 @@ process_gcm_crypto_op(struct rte_crypto_op *op,\n \n \t\taesni_gcm_enc[session->key].finalize(&session->gdata,\n \t\t\t\tsym_op->auth.digest.data,\n-\t\t\t\t(uint64_t)sym_op->auth.digest.length);\n+\t\t\t\t(uint64_t)session->digest_length);\n \t} else { /* session->op == AESNI_GCM_OP_AUTHENTICATED_DECRYPTION */\n \t\tuint8_t *auth_tag = (uint8_t *)rte_pktmbuf_append(sym_op->m_dst ?\n \t\t\t\tsym_op->m_dst : sym_op->m_src,\n-\t\t\t\tsym_op->auth.digest.length);\n+\t\t\t\tsession->digest_length);\n \n \t\tif (!auth_tag) {\n \t\t\tGCM_LOG_ERR(\"auth_tag\");\n@@ -319,7 +323,7 @@ process_gcm_crypto_op(struct rte_crypto_op *op,\n \n \t\taesni_gcm_dec[session->key].finalize(&session->gdata,\n \t\t\t\tauth_tag,\n-\t\t\t\t(uint64_t)sym_op->auth.digest.length);\n+\t\t\t\t(uint64_t)session->digest_length);\n \t}\n \n \treturn 0;\n@@ -349,21 +353,21 @@ post_process_gcm_crypto_op(struct rte_crypto_op *op)\n \tif (session->op == AESNI_GCM_OP_AUTHENTICATED_DECRYPTION) {\n \n \t\tuint8_t *tag = rte_pktmbuf_mtod_offset(m, uint8_t *,\n-\t\t\t\tm->data_len - op->sym->auth.digest.length);\n+\t\t\t\tm->data_len - session->digest_length);\n \n #ifdef RTE_LIBRTE_PMD_AESNI_GCM_DEBUG\n \t\trte_hexdump(stdout, \"auth tag (orig):\",\n-\t\t\t\top->sym->auth.digest.data, op->sym->auth.digest.length);\n+\t\t\t\top->sym->auth.digest.data, session->digest_length);\n \t\trte_hexdump(stdout, \"auth tag (calc):\",\n-\t\t\t\ttag, op->sym->auth.digest.length);\n+\t\t\t\ttag, session->digest_length);\n #endif\n \n \t\tif (memcmp(tag, op->sym->auth.digest.data,\n-\t\t\t\top->sym->auth.digest.length) != 0)\n+\t\t\t\tsession->digest_length) != 0)\n \t\t\top->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \n \t\t/* trim area used for digest from mbuf */\n-\t\trte_pktmbuf_trim(m, op->sym->auth.digest.length);\n+\t\trte_pktmbuf_trim(m, session->digest_length);\n \t}\n }\n \ndiff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\nindex bfd4d1c..05fabe6 100644\n--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\n+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\n@@ -95,6 +95,8 @@ struct aesni_gcm_session {\n \t\tuint16_t offset;\n \t} iv;\n \t/**< IV parameters */\n+\tuint16_t digest_length;\n+\t/**< Digest length */\n \tenum aesni_gcm_operation op;\n \t/**< GCM operation type */\n \tenum aesni_gcm_key key;\ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c\nindex dac4fc3..4a23ff1 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd.c\n+++ b/drivers/crypto/armv8/rte_armv8_pmd.c\n@@ -452,6 +452,9 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess,\n \t\treturn -EINVAL;\n \t}\n \n+\t/* Set the digest length */\n+\tsess->auth.digest_length = auth_xform->auth.digest_length;\n+\n \t/* Verify supported key lengths and extract proper algorithm */\n \tswitch (cipher_xform->cipher.key.length << 3) {\n \tcase 128:\n@@ -649,7 +652,7 @@ process_armv8_chained_op\n \t\t}\n \t} else {\n \t\tadst = (uint8_t *)rte_pktmbuf_append(m_asrc,\n-\t\t\t\top->sym->auth.digest.length);\n+\t\t\t\tsess->auth.digest_length);\n \t}\n \n \targ.cipher.iv = rte_crypto_op_ctod_offset(op, uint8_t *,\n@@ -667,12 +670,12 @@ process_armv8_chained_op\n \top->status = RTE_CRYPTO_OP_STATUS_SUCCESS;\n \tif (sess->auth.operation == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\tif (memcmp(adst, op->sym->auth.digest.data,\n-\t\t\t\top->sym->auth.digest.length) != 0) {\n+\t\t\t\tsess->auth.digest_length) != 0) {\n \t\t\top->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \t\t}\n \t\t/* Trim area used for digest from mbuf. */\n \t\trte_pktmbuf_trim(m_asrc,\n-\t\t\t\top->sym->auth.digest.length);\n+\t\t\t\tsess->auth.digest_length);\n \t}\n }\n \ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd_private.h b/drivers/crypto/armv8/rte_armv8_pmd_private.h\nindex 75bde9f..09d32f2 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd_private.h\n+++ b/drivers/crypto/armv8/rte_armv8_pmd_private.h\n@@ -199,6 +199,8 @@ struct armv8_crypto_session {\n \t\t\t\t/**< HMAC key (max supported length)*/\n \t\t\t} hmac;\n \t\t};\n+\t\tuint16_t digest_length;\n+\t\t/* Digest length */\n \t} auth;\n \n } __rte_cache_aligned;\ndiff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\nindex 3930794..8ee6ece 100644\n--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\n+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\n@@ -84,7 +84,7 @@ build_authenc_fd(dpaa2_sec_session *sess,\n \tstruct sec_flow_context *flc;\n \tuint32_t auth_only_len = sym_op->auth.data.length -\n \t\t\t\tsym_op->cipher.data.length;\n-\tint icv_len = sym_op->auth.digest.length;\n+\tint icv_len = sess->digest_length;\n \tuint8_t *old_icv;\n \tuint32_t mem_len = (7 * sizeof(struct qbman_fle)) + icv_len;\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(op, uint8_t *,\n@@ -135,7 +135,7 @@ build_authenc_fd(dpaa2_sec_session *sess,\n \t\t   \"cipher_off: 0x%x/length %d, iv-len=%d data_off: 0x%x\\n\",\n \t\t   sym_op->auth.data.offset,\n \t\t   sym_op->auth.data.length,\n-\t\t   sym_op->auth.digest.length,\n+\t\t   sess->digest_length,\n \t\t   sym_op->cipher.data.offset,\n \t\t   sym_op->cipher.data.length,\n \t\t   sess->iv.length,\n@@ -161,7 +161,7 @@ build_authenc_fd(dpaa2_sec_session *sess,\n \t\tsge++;\n \t\tDPAA2_SET_FLE_ADDR(sge,\n \t\t\t\tDPAA2_VADDR_TO_IOVA(sym_op->auth.digest.data));\n-\t\tsge->length = sym_op->auth.digest.length;\n+\t\tsge->length = sess->digest_length;\n \t\tDPAA2_SET_FD_LEN(fd, (sym_op->auth.data.length +\n \t\t\t\t\tsess->iv.length));\n \t}\n@@ -177,7 +177,7 @@ build_authenc_fd(dpaa2_sec_session *sess,\n \tfle->length = (sess->dir == DIR_ENC) ?\n \t\t\t(sym_op->auth.data.length + sess->iv.length) :\n \t\t\t(sym_op->auth.data.length + sess->iv.length +\n-\t\t\t sym_op->auth.digest.length);\n+\t\t\t sess->digest_length);\n \n \t/* Configure Input SGE for Encap/Decap */\n \tDPAA2_SET_FLE_ADDR(sge, DPAA2_VADDR_TO_IOVA(iv_ptr));\n@@ -192,12 +192,12 @@ build_authenc_fd(dpaa2_sec_session *sess,\n \t\tsge++;\n \t\told_icv = (uint8_t *)(sge + 1);\n \t\tmemcpy(old_icv,\tsym_op->auth.digest.data,\n-\t\t       sym_op->auth.digest.length);\n-\t\tmemset(sym_op->auth.digest.data, 0, sym_op->auth.digest.length);\n+\t\t       sess->digest_length);\n+\t\tmemset(sym_op->auth.digest.data, 0, sess->digest_length);\n \t\tDPAA2_SET_FLE_ADDR(sge, DPAA2_VADDR_TO_IOVA(old_icv));\n-\t\tsge->length = sym_op->auth.digest.length;\n+\t\tsge->length = sess->digest_length;\n \t\tDPAA2_SET_FD_LEN(fd, (sym_op->auth.data.length +\n-\t\t\t\t sym_op->auth.digest.length +\n+\t\t\t\t sess->digest_length +\n \t\t\t\t sess->iv.length));\n \t}\n \tDPAA2_SET_FLE_FIN(sge);\n@@ -217,7 +217,7 @@ build_auth_fd(dpaa2_sec_session *sess, struct rte_crypto_op *op,\n \tuint32_t mem_len = (sess->dir == DIR_ENC) ?\n \t\t\t   (3 * sizeof(struct qbman_fle)) :\n \t\t\t   (5 * sizeof(struct qbman_fle) +\n-\t\t\t    sym_op->auth.digest.length);\n+\t\t\t    sess->digest_length);\n \tstruct sec_flow_context *flc;\n \tstruct ctxt_priv *priv = sess->ctxt;\n \tuint8_t *old_digest;\n@@ -251,7 +251,7 @@ build_auth_fd(dpaa2_sec_session *sess, struct rte_crypto_op *op,\n \tDPAA2_SET_FD_FLC(fd, DPAA2_VADDR_TO_IOVA(flc));\n \n \tDPAA2_SET_FLE_ADDR(fle, DPAA2_VADDR_TO_IOVA(sym_op->auth.digest.data));\n-\tfle->length = sym_op->auth.digest.length;\n+\tfle->length = sess->digest_length;\n \n \tDPAA2_SET_FD_ADDR(fd, DPAA2_VADDR_TO_IOVA(fle));\n \tDPAA2_SET_FD_COMPOUND_FMT(fd);\n@@ -282,17 +282,17 @@ build_auth_fd(dpaa2_sec_session *sess, struct rte_crypto_op *op,\n \t\t\t\t     sym_op->m_src->data_off);\n \n \t\tDPAA2_SET_FD_LEN(fd, sym_op->auth.data.length +\n-\t\t\t\t sym_op->auth.digest.length);\n+\t\t\t\t sess->digest_length);\n \t\tsge->length = sym_op->auth.data.length;\n \t\tsge++;\n \t\told_digest = (uint8_t *)(sge + 1);\n \t\trte_memcpy(old_digest, sym_op->auth.digest.data,\n-\t\t\t   sym_op->auth.digest.length);\n-\t\tmemset(sym_op->auth.digest.data, 0, sym_op->auth.digest.length);\n+\t\t\t   sess->digest_length);\n+\t\tmemset(sym_op->auth.digest.data, 0, sess->digest_length);\n \t\tDPAA2_SET_FLE_ADDR(sge, DPAA2_VADDR_TO_IOVA(old_digest));\n-\t\tsge->length = sym_op->auth.digest.length;\n+\t\tsge->length = sess->digest_length;\n \t\tfle->length = sym_op->auth.data.length +\n-\t\t\t\tsym_op->auth.digest.length;\n+\t\t\t\tsess->digest_length;\n \t\tDPAA2_SET_FLE_FIN(sge);\n \t}\n \tDPAA2_SET_FLE_FIN(fle);\n@@ -912,6 +912,8 @@ dpaa2_sec_auth_init(struct rte_cryptodev *dev,\n \tauthdata.key_enc_flags = 0;\n \tauthdata.key_type = RTA_DATA_IMM;\n \n+\tsession->digest_length = xform->auth.digest_length;\n+\n \tswitch (xform->auth.algo) {\n \tcase RTE_CRYPTO_AUTH_SHA1_HMAC:\n \t\tauthdata.algtype = OP_ALG_ALGSEL_SHA1;\n@@ -1064,6 +1066,8 @@ dpaa2_sec_aead_init(struct rte_cryptodev *dev,\n \tauthdata.key_enc_flags = 0;\n \tauthdata.key_type = RTA_DATA_IMM;\n \n+\tsession->digest_length = auth_xform->digest_length;\n+\n \tswitch (auth_xform->algo) {\n \tcase RTE_CRYPTO_AUTH_SHA1_HMAC:\n \t\tauthdata.algtype = OP_ALG_ALGSEL_SHA1;\ndiff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h\nindex ff3be70..eda2eec 100644\n--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h\n+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h\n@@ -191,6 +191,7 @@ typedef struct dpaa2_sec_session_entry {\n \t\tuint16_t length; /**< IV length in bytes */\n \t\tuint16_t offset; /**< IV offset in bytes */\n \t} iv;\n+\tuint16_t digest_length;\n \tuint8_t status;\n \tunion {\n \t\tstruct dpaa2_sec_cipher_ctxt cipher_ctxt;\ndiff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c\nindex 3a3ffa4..6ece58c 100644\n--- a/drivers/crypto/kasumi/rte_kasumi_pmd.c\n+++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c\n@@ -132,6 +132,12 @@ kasumi_set_session_parameters(struct kasumi_session *sess,\n \t\t/* Only KASUMI F9 supported */\n \t\tif (auth_xform->auth.algo != RTE_CRYPTO_AUTH_KASUMI_F9)\n \t\t\treturn -EINVAL;\n+\n+\t\tif (auth_xform->auth.digest_length != KASUMI_DIGEST_LENGTH) {\n+\t\t\tKASUMI_LOG_ERR(\"Wrong digest length\");\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\n \t\tsess->auth_op = auth_xform->auth.op;\n \n \t\tsess->auth_iv_offset = auth_xform->auth.iv.offset;\n@@ -261,12 +267,6 @@ process_kasumi_hash_op(struct rte_crypto_op **ops,\n \tuint8_t direction;\n \n \tfor (i = 0; i < num_ops; i++) {\n-\t\tif (unlikely(ops[i]->sym->auth.digest.length != KASUMI_DIGEST_LENGTH)) {\n-\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n-\t\t\tKASUMI_LOG_ERR(\"digest\");\n-\t\t\tbreak;\n-\t\t}\n-\n \t\t/* Data must be byte aligned */\n \t\tif ((ops[i]->sym->auth.data.offset % BYTE_LEN) != 0) {\n \t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n@@ -288,19 +288,19 @@ process_kasumi_hash_op(struct rte_crypto_op **ops,\n \n \t\tif (session->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\t\tdst = (uint8_t *)rte_pktmbuf_append(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tKASUMI_DIGEST_LENGTH);\n \n \t\t\tsso_kasumi_f9_1_buffer_user(&session->pKeySched_hash,\n \t\t\t\t\tiv, src,\n \t\t\t\t\tlength_in_bits,\tdst, direction);\n \t\t\t/* Verify digest. */\n \t\t\tif (memcmp(dst, ops[i]->sym->auth.digest.data,\n-\t\t\t\t\tops[i]->sym->auth.digest.length) != 0)\n+\t\t\t\t\tKASUMI_DIGEST_LENGTH) != 0)\n \t\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \n \t\t\t/* Trim area used for digest from mbuf. */\n \t\t\trte_pktmbuf_trim(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tKASUMI_DIGEST_LENGTH);\n \t\t} else  {\n \t\t\tdst = ops[i]->sym->auth.digest.data;\n \ndiff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c\nindex 9de4c68..46b1dd8 100644\n--- a/drivers/crypto/openssl/rte_openssl_pmd.c\n+++ b/drivers/crypto/openssl/rte_openssl_pmd.c\n@@ -371,6 +371,7 @@ openssl_set_session_auth_parameters(struct openssl_session *sess,\n \t}\n \n \tsess->auth.aad_length = xform->auth.add_auth_data_length;\n+\tsess->auth.digest_length = xform->auth.digest_length;\n \n \treturn 0;\n }\n@@ -1130,7 +1131,7 @@ process_openssl_auth_op\n \n \tif (sess->auth.operation == RTE_CRYPTO_AUTH_OP_VERIFY)\n \t\tdst = (uint8_t *)rte_pktmbuf_append(mbuf_src,\n-\t\t\t\top->sym->auth.digest.length);\n+\t\t\t\tsess->auth.digest_length);\n \telse {\n \t\tdst = op->sym->auth.digest.data;\n \t\tif (dst == NULL)\n@@ -1158,11 +1159,11 @@ process_openssl_auth_op\n \n \tif (sess->auth.operation == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\tif (memcmp(dst, op->sym->auth.digest.data,\n-\t\t\t\top->sym->auth.digest.length) != 0) {\n+\t\t\t\tsess->auth.digest_length) != 0) {\n \t\t\top->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \t\t}\n \t\t/* Trim area used for digest from mbuf. */\n-\t\trte_pktmbuf_trim(mbuf_src, op->sym->auth.digest.length);\n+\t\trte_pktmbuf_trim(mbuf_src, sess->auth.digest_length);\n \t}\n \n \tif (status != 0)\ndiff --git a/drivers/crypto/openssl/rte_openssl_pmd_private.h b/drivers/crypto/openssl/rte_openssl_pmd_private.h\nindex 045e532..4c9be05 100644\n--- a/drivers/crypto/openssl/rte_openssl_pmd_private.h\n+++ b/drivers/crypto/openssl/rte_openssl_pmd_private.h\n@@ -165,6 +165,8 @@ struct openssl_session {\n \n \t\tuint16_t aad_length;\n \t\t/**< AAD length */\n+\t\tuint16_t digest_length;\n+\t\t/**< digest length */\n \t} auth;\n \n } __rte_cache_aligned;\ndiff --git a/drivers/crypto/qat/qat_adf/qat_algs.h b/drivers/crypto/qat/qat_adf/qat_algs.h\nindex f70c6cb..b13d90b 100644\n--- a/drivers/crypto/qat/qat_adf/qat_algs.h\n+++ b/drivers/crypto/qat/qat_adf/qat_algs.h\n@@ -135,6 +135,7 @@ struct qat_session {\n \t\tuint16_t offset;\n \t\tuint16_t length;\n \t} auth_iv;\n+\tuint16_t digest_length;\n \trte_spinlock_t lock;\t/* protects this struct */\n };\n \ndiff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c\nindex aada9dd..b365c8d 100644\n--- a/drivers/crypto/qat/qat_crypto.c\n+++ b/drivers/crypto/qat/qat_crypto.c\n@@ -606,6 +606,7 @@ qat_crypto_sym_configure_session_auth(struct rte_cryptodev *dev,\n \t\t\t\tauth_xform->op))\n \t\t\tgoto error_out;\n \t}\n+\tsession->digest_length = auth_xform->digest_length;\n \treturn session;\n \n error_out:\n@@ -1200,7 +1201,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,\n \t\t\t\t\t\tctx->auth_iv.length);\n \t\t}\n \t\trte_hexdump(stdout, \"digest:\", op->sym->auth.digest.data,\n-\t\t\t\top->sym->auth.digest.length);\n+\t\t\t\tctx->digest_length);\n \t\trte_hexdump(stdout, \"aad:\", op->sym->auth.aad.data,\n \t\t\t\tctx->aad_len);\n \t}\ndiff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c\nindex afb5e92..fbdccd1 100644\n--- a/drivers/crypto/snow3g/rte_snow3g_pmd.c\n+++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c\n@@ -132,6 +132,12 @@ snow3g_set_session_parameters(struct snow3g_session *sess,\n \t\t/* Only SNOW 3G UIA2 supported */\n \t\tif (auth_xform->auth.algo != RTE_CRYPTO_AUTH_SNOW3G_UIA2)\n \t\t\treturn -EINVAL;\n+\n+\t\tif (auth_xform->auth.digest_length != SNOW3G_DIGEST_LENGTH) {\n+\t\t\tSNOW3G_LOG_ERR(\"Wrong digest length\");\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\n \t\tsess->auth_op = auth_xform->auth.op;\n \n \t\tif (auth_xform->auth.iv.length != SNOW3G_IV_LENGTH) {\n@@ -252,12 +258,6 @@ process_snow3g_hash_op(struct rte_crypto_op **ops,\n \tuint8_t *iv;\n \n \tfor (i = 0; i < num_ops; i++) {\n-\t\tif (unlikely(ops[i]->sym->auth.digest.length != SNOW3G_DIGEST_LENGTH)) {\n-\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n-\t\t\tSNOW3G_LOG_ERR(\"digest\");\n-\t\t\tbreak;\n-\t\t}\n-\n \t\t/* Data must be byte aligned */\n \t\tif ((ops[i]->sym->auth.data.offset % BYTE_LEN) != 0) {\n \t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n@@ -274,19 +274,19 @@ process_snow3g_hash_op(struct rte_crypto_op **ops,\n \n \t\tif (session->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\t\tdst = (uint8_t *)rte_pktmbuf_append(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tSNOW3G_DIGEST_LENGTH);\n \n \t\t\tsso_snow3g_f9_1_buffer(&session->pKeySched_hash,\n \t\t\t\t\tiv, src,\n \t\t\t\t\tlength_in_bits,\tdst);\n \t\t\t/* Verify digest. */\n \t\t\tif (memcmp(dst, ops[i]->sym->auth.digest.data,\n-\t\t\t\t\tops[i]->sym->auth.digest.length) != 0)\n+\t\t\t\t\tSNOW3G_DIGEST_LENGTH) != 0)\n \t\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \n \t\t\t/* Trim area used for digest from mbuf. */\n \t\t\trte_pktmbuf_trim(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tSNOW3G_DIGEST_LENGTH);\n \t\t} else  {\n \t\t\tdst = ops[i]->sym->auth.digest.data;\n \ndiff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c\nindex c79ea6e..80ddd5a 100644\n--- a/drivers/crypto/zuc/rte_zuc_pmd.c\n+++ b/drivers/crypto/zuc/rte_zuc_pmd.c\n@@ -131,6 +131,12 @@ zuc_set_session_parameters(struct zuc_session *sess,\n \t\t/* Only ZUC EIA3 supported */\n \t\tif (auth_xform->auth.algo != RTE_CRYPTO_AUTH_ZUC_EIA3)\n \t\t\treturn -EINVAL;\n+\n+\t\tif (auth_xform->auth.digest_length != ZUC_DIGEST_LENGTH) {\n+\t\t\tZUC_LOG_ERR(\"Wrong digest length\");\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\n \t\tsess->auth_op = auth_xform->auth.op;\n \n \t\tif (auth_xform->auth.iv.length != ZUC_IV_KEY_LENGTH) {\n@@ -249,12 +255,6 @@ process_zuc_hash_op(struct rte_crypto_op **ops,\n \tuint8_t *iv;\n \n \tfor (i = 0; i < num_ops; i++) {\n-\t\tif (unlikely(ops[i]->sym->auth.digest.length != ZUC_DIGEST_LENGTH)) {\n-\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n-\t\t\tZUC_LOG_ERR(\"digest\");\n-\t\t\tbreak;\n-\t\t}\n-\n \t\t/* Data must be byte aligned */\n \t\tif ((ops[i]->sym->auth.data.offset % BYTE_LEN) != 0) {\n \t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_INVALID_ARGS;\n@@ -271,19 +271,19 @@ process_zuc_hash_op(struct rte_crypto_op **ops,\n \n \t\tif (session->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\t\tdst = (uint32_t *)rte_pktmbuf_append(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tZUC_DIGEST_LENGTH);\n \n \t\t\tsso_zuc_eia3_1_buffer(session->pKey_hash,\n \t\t\t\t\tiv, src,\n \t\t\t\t\tlength_in_bits,\tdst);\n \t\t\t/* Verify digest. */\n \t\t\tif (memcmp(dst, ops[i]->sym->auth.digest.data,\n-\t\t\t\t\tops[i]->sym->auth.digest.length) != 0)\n+\t\t\t\t\tZUC_DIGEST_LENGTH) != 0)\n \t\t\t\tops[i]->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED;\n \n \t\t\t/* Trim area used for digest from mbuf. */\n \t\t\trte_pktmbuf_trim(ops[i]->sym->m_src,\n-\t\t\t\t\tops[i]->sym->auth.digest.length);\n+\t\t\t\t\tZUC_DIGEST_LENGTH);\n \t\t} else  {\n \t\t\tdst = (uint32_t *)ops[i]->sym->auth.digest.data;\n \ndiff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c\nindex 571c2c6..d544a3c 100644\n--- a/examples/ipsec-secgw/esp.c\n+++ b/examples/ipsec-secgw/esp.c\n@@ -140,7 +140,6 @@ esp_inbound(struct rte_mbuf *m, struct ipsec_sa *sa,\n \t\t\trte_pktmbuf_pkt_len(m) - sa->digest_len);\n \tsym_cop->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\trte_pktmbuf_pkt_len(m) - sa->digest_len);\n-\tsym_cop->auth.digest.length = sa->digest_len;\n \n \treturn 0;\n }\n@@ -368,7 +367,6 @@ esp_outbound(struct rte_mbuf *m, struct ipsec_sa *sa,\n \t\t\trte_pktmbuf_pkt_len(m) - sa->digest_len);\n \tsym_cop->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\trte_pktmbuf_pkt_len(m) - sa->digest_len);\n-\tsym_cop->auth.digest.length = sa->digest_len;\n \n \treturn 0;\n }\ndiff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c\nindex 6fe829e..6d88937 100644\n--- a/examples/l2fwd-crypto/main.c\n+++ b/examples/l2fwd-crypto/main.c\n@@ -481,7 +481,6 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,\n \n \t\top->sym->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\t\trte_pktmbuf_pkt_len(m) - cparams->digest_length);\n-\t\top->sym->auth.digest.length = cparams->digest_length;\n \n \t\t/* For wireless algorithms, offset/length must be in bits */\n \t\tif (cparams->auth_algo == RTE_CRYPTO_AUTH_SNOW3G_UIA2 ||\ndiff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h\nindex b964a56..de4031a 100644\n--- a/lib/librte_cryptodev/rte_crypto_sym.h\n+++ b/lib/librte_cryptodev/rte_crypto_sym.h\n@@ -354,7 +354,7 @@ struct rte_crypto_auth_xform {\n \t * (for example RFC 2104, FIPS 198a).\n \t */\n \n-\tuint32_t digest_length;\n+\tuint16_t digest_length;\n \t/**< Length of the digest to be returned. If the verify option is set,\n \t * this specifies the length of the digest to be compared for the\n \t * session.\n@@ -604,10 +604,6 @@ struct rte_crypto_sym_op {\n \t\t\t */\n \t\t\tphys_addr_t phys_addr;\n \t\t\t/**< Physical address of digest */\n-\t\t\tuint16_t length;\n-\t\t\t/**< Length of digest. This must be the same value as\n-\t\t\t * @ref rte_crypto_auth_xform.digest_length.\n-\t\t\t */\n \t\t} digest; /**< Digest parameters */\n \n \t\tstruct {\ndiff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c\nindex 7acfa24..4698f26 100644\n--- a/test/test/test_cryptodev.c\n+++ b/test/test/test_cryptodev.c\n@@ -1307,7 +1307,6 @@ test_AES_CBC_HMAC_SHA1_encrypt_digest(void)\n \tsym_op->auth.digest.data = ut_params->digest;\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, QUOTE_512_BYTES);\n-\tsym_op->auth.digest.length = DIGEST_BYTE_LENGTH_SHA1;\n \n \tsym_op->auth.data.offset = 0;\n \tsym_op->auth.data.length = QUOTE_512_BYTES;\n@@ -1459,7 +1458,6 @@ test_AES_CBC_HMAC_SHA512_decrypt_perform(struct rte_cryptodev_sym_session *sess,\n \tsym_op->auth.digest.data = ut_params->digest;\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, QUOTE_512_BYTES);\n-\tsym_op->auth.digest.length = DIGEST_BYTE_LENGTH_SHA512;\n \n \tsym_op->auth.data.offset = 0;\n \tsym_op->auth.data.length = QUOTE_512_BYTES;\n@@ -2102,7 +2100,6 @@ create_wireless_algo_hash_operation(const uint8_t *auth_tag,\n \tut_params->digest = sym_op->auth.digest.data;\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, data_pad_len);\n-\tsym_op->auth.digest.length = auth_tag_len;\n \tif (op == RTE_CRYPTO_AUTH_OP_GENERATE)\n \t\tmemset(sym_op->auth.digest.data, 0, auth_tag_len);\n \telse\n@@ -2110,7 +2107,7 @@ create_wireless_algo_hash_operation(const uint8_t *auth_tag,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\tsym_op->auth.digest.data,\n-\t\tsym_op->auth.digest.length);\n+\t\tauth_tag_len);\n \n \tsym_op->auth.data.length = auth_len;\n \tsym_op->auth.data.offset = auth_offset;\n@@ -2159,7 +2156,6 @@ create_wireless_cipher_hash_operation(const struct wireless_test_data *tdata,\n \tut_params->digest = sym_op->auth.digest.data;\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, data_pad_len);\n-\tsym_op->auth.digest.length = auth_tag_len;\n \tif (op == RTE_CRYPTO_AUTH_OP_GENERATE)\n \t\tmemset(sym_op->auth.digest.data, 0, auth_tag_len);\n \telse\n@@ -2167,7 +2163,7 @@ create_wireless_cipher_hash_operation(const struct wireless_test_data *tdata,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\tsym_op->auth.digest.data,\n-\t\tsym_op->auth.digest.length);\n+\t\tauth_tag_len);\n \n \t/* Copy cipher and auth IVs at the end of the crypto operation */\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op, uint8_t *,\n@@ -2227,7 +2223,6 @@ create_wireless_algo_cipher_hash_operation(const uint8_t *auth_tag,\n \tut_params->digest = sym_op->auth.digest.data;\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, data_pad_len);\n-\tsym_op->auth.digest.length = auth_tag_len;\n \tif (op == RTE_CRYPTO_AUTH_OP_GENERATE)\n \t\tmemset(sym_op->auth.digest.data, 0, auth_tag_len);\n \telse\n@@ -2235,7 +2230,7 @@ create_wireless_algo_cipher_hash_operation(const uint8_t *auth_tag,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\tsym_op->auth.digest.data,\n-\t\tsym_op->auth.digest.length);\n+\t\tauth_tag_len);\n \n \t/* Copy cipher and auth IVs at the end of the crypto operation */\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op, uint8_t *,\n@@ -2286,13 +2281,12 @@ create_wireless_algo_auth_cipher_operation(unsigned int auth_tag_len,\n \n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, data_pad_len);\n-\tsym_op->auth.digest.length = auth_tag_len;\n \n \tmemset(sym_op->auth.digest.data, 0, auth_tag_len);\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\tsym_op->auth.digest.data,\n-\t\t\tsym_op->auth.digest.length);\n+\t\t\tauth_tag_len);\n \n \t/* Copy cipher and auth IVs at the end of the crypto operation */\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op, uint8_t *,\n@@ -4824,7 +4818,6 @@ create_gcm_operation(enum rte_crypto_cipher_operation op,\n \t\t\t\t\t\tut_params->ibuf,\n \t\t\t\t\t\tplaintext_pad_len +\n \t\t\t\t\t\taad_pad_len);\n-\t\tsym_op->auth.digest.length = tdata->auth_tag.len;\n \t} else {\n \t\tsym_op->auth.digest.data = (uint8_t *)rte_pktmbuf_append(\n \t\t\t\tut_params->ibuf, tdata->auth_tag.len);\n@@ -4833,13 +4826,12 @@ create_gcm_operation(enum rte_crypto_cipher_operation op,\n \t\tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\t\tut_params->ibuf,\n \t\t\t\tplaintext_pad_len + aad_pad_len);\n-\t\tsym_op->auth.digest.length = tdata->auth_tag.len;\n \n \t\trte_memcpy(sym_op->auth.digest.data, tdata->auth_tag.data,\n \t\t\ttdata->auth_tag.len);\n \t\tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\tsym_op->auth.digest.data,\n-\t\t\tsym_op->auth.digest.length);\n+\t\t\ttdata->auth_tag.len);\n \t}\n \n \tsym_op->cipher.data.length = tdata->plaintext.len;\n@@ -5614,7 +5606,6 @@ static int MD5_HMAC_create_op(struct crypto_unittest_params *ut_params,\n \t\t\t\"no room to append digest\");\n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, plaintext_pad_len);\n-\tsym_op->auth.digest.length = MD5_DIGEST_LEN;\n \n \tif (ut_params->auth_xform.auth.op == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\trte_memcpy(sym_op->auth.digest.data, test_case->auth_tag.data,\n@@ -6325,14 +6316,13 @@ create_gmac_operation(enum rte_crypto_auth_operation op,\n \n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, aad_pad_len);\n-\tsym_op->auth.digest.length = tdata->gmac_tag.len;\n \n \tif (op == RTE_CRYPTO_AUTH_OP_VERIFY) {\n \t\trte_memcpy(sym_op->auth.digest.data, tdata->gmac_tag.data,\n \t\t\t\ttdata->gmac_tag.len);\n \t\tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\t\tsym_op->auth.digest.data,\n-\t\t\t\tsym_op->auth.digest.length);\n+\t\t\t\ttdata->gmac_tag.len);\n \t}\n \n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,\n@@ -6810,7 +6800,6 @@ create_auth_operation(struct crypto_testsuite_params *ts_params,\n \n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, reference->plaintext.len);\n-\tsym_op->auth.digest.length = reference->digest.len;\n \n \tif (auth_generate)\n \t\tmemset(sym_op->auth.digest.data, 0, reference->digest.len);\n@@ -6821,7 +6810,7 @@ create_auth_operation(struct crypto_testsuite_params *ts_params,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\tsym_op->auth.digest.data,\n-\t\t\tsym_op->auth.digest.length);\n+\t\t\treference->digest.len);\n \n \tsym_op->auth.data.length = reference->plaintext.len;\n \tsym_op->auth.data.offset = 0;\n@@ -6868,7 +6857,6 @@ create_auth_GMAC_operation(struct crypto_testsuite_params *ts_params,\n \n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, reference->ciphertext.len);\n-\tsym_op->auth.digest.length = reference->digest.len;\n \n \tif (auth_generate)\n \t\tmemset(sym_op->auth.digest.data, 0, reference->digest.len);\n@@ -6879,7 +6867,7 @@ create_auth_GMAC_operation(struct crypto_testsuite_params *ts_params,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\tsym_op->auth.digest.data,\n-\t\t\tsym_op->auth.digest.length);\n+\t\t\treference->digest.len);\n \n \trte_memcpy(rte_crypto_op_ctod_offset(ut_params->op, uint8_t *, IV_OFFSET),\n \t\t\treference->iv.data, reference->iv.len);\n@@ -6922,7 +6910,6 @@ create_cipher_auth_operation(struct crypto_testsuite_params *ts_params,\n \n \tsym_op->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\tut_params->ibuf, reference->ciphertext.len);\n-\tsym_op->auth.digest.length = reference->digest.len;\n \n \tif (auth_generate)\n \t\tmemset(sym_op->auth.digest.data, 0, reference->digest.len);\n@@ -6933,7 +6920,7 @@ create_cipher_auth_operation(struct crypto_testsuite_params *ts_params,\n \n \tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\tsym_op->auth.digest.data,\n-\t\t\tsym_op->auth.digest.length);\n+\t\t\treference->digest.len);\n \n \trte_memcpy(rte_crypto_op_ctod_offset(ut_params->op, uint8_t *, IV_OFFSET),\n \t\t\treference->iv.data, reference->iv.len);\n@@ -7170,14 +7157,13 @@ create_gcm_operation_SGL(enum rte_crypto_cipher_operation op,\n \t\t\t\"no room to append digest\");\n \n \tsym_op->auth.digest.phys_addr = digest_phys;\n-\tsym_op->auth.digest.length = auth_tag_len;\n \n \tif (op == RTE_CRYPTO_CIPHER_OP_DECRYPT) {\n \t\trte_memcpy(sym_op->auth.digest.data, tdata->auth_tag.data,\n \t\t\t\tauth_tag_len);\n \t\tTEST_HEXDUMP(stdout, \"digest:\",\n \t\t\t\tsym_op->auth.digest.data,\n-\t\t\t\tsym_op->auth.digest.length);\n+\t\t\t\tauth_tag_len);\n \t}\n \n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(ut_params->op,\ndiff --git a/test/test/test_cryptodev_blockcipher.c b/test/test/test_cryptodev_blockcipher.c\nindex 9faf088..446ab4f 100644\n--- a/test/test/test_cryptodev_blockcipher.c\n+++ b/test/test/test_cryptodev_blockcipher.c\n@@ -324,7 +324,6 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \n \t\tsym_op->auth.data.offset = 0;\n \t\tsym_op->auth.data.length = tdata->ciphertext.len;\n-\t\tsym_op->auth.digest.length = digest_len;\n \t}\n \n \t/* create session for sessioned op */\n@@ -474,7 +473,7 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \t\t\t\t\t\tsym_op->auth.data.offset;\n \t\t\tchanged_len = sym_op->auth.data.length;\n \t\t\tif (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH_GEN)\n-\t\t\t\tchanged_len += sym_op->auth.digest.length;\n+\t\t\t\tchanged_len += digest_len;\n \t\t} else {\n \t\t\t/* cipher-only */\n \t\t\thead_unchanged_len = rte_pktmbuf_headroom(mbuf) +\n@@ -516,7 +515,7 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \t\t}\n \n \t\tif (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH_GEN)\n-\t\t\tchanged_len += sym_op->auth.digest.length;\n+\t\t\tchanged_len += digest_len;\n \n \t\tif (t->op_mask & BLOCKCIPHER_TEST_OP_AUTH_VERIFY) {\n \t\t\t/* white-box test: PMDs use some of the\ndiff --git a/test/test/test_cryptodev_perf.c b/test/test/test_cryptodev_perf.c\nindex 7239976..3bd9351 100644\n--- a/test/test/test_cryptodev_perf.c\n+++ b/test/test/test_cryptodev_perf.c\n@@ -168,20 +168,19 @@ static struct rte_mbuf *\n test_perf_create_pktmbuf(struct rte_mempool *mpool, unsigned buf_sz);\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_snow3g(struct rte_crypto_op *op, struct rte_mbuf *m,\n-\t\tstruct rte_cryptodev_sym_session *sess, unsigned data_len,\n-\t\tunsigned digest_len);\n+\t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len);\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain);\n+\t\tenum chain_mode chain);\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_aes_gcm(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain __rte_unused);\n+\t\tenum chain_mode chain __rte_unused);\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_3des(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain __rte_unused);\n+\t\tenum chain_mode chain __rte_unused);\n static uint32_t get_auth_digest_length(enum rte_crypto_auth_algorithm algo);\n \n \n@@ -1979,7 +1978,6 @@ test_perf_crypto_qp_vary_burst_size(uint16_t dev_num)\n \t\top->sym->auth.digest.data = ut_params->digest;\n \t\top->sym->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\t\tdata_params[0].length);\n-\t\top->sym->auth.digest.length = DIGEST_BYTE_LENGTH_SHA256;\n \n \t\top->sym->auth.data.offset = 0;\n \t\top->sym->auth.data.length = data_params[0].length;\n@@ -2102,8 +2100,7 @@ test_perf_snow3G_optimise_cyclecount(struct perf_test_params *pparams)\n \t\t\t\t\t\tRTE_CRYPTO_OP_TYPE_SYMMETRIC);\n \t\tTEST_ASSERT_NOT_NULL(op, \"Failed to allocate op\");\n \n-\t\top = test_perf_set_crypto_op_snow3g(op, m, sess, pparams->buf_size,\n-\t\t\t\t\tget_auth_digest_length(pparams->auth_algo));\n+\t\top = test_perf_set_crypto_op_snow3g(op, m, sess, pparams->buf_size);\n \t\tTEST_ASSERT_NOT_NULL(op, \"Failed to attach op to session\");\n \n \t\tc_ops[i] = op;\n@@ -2252,11 +2249,9 @@ test_perf_openssl_optimise_cyclecount(struct perf_test_params *pparams)\n \tstatic struct rte_crypto_op *(*test_perf_set_crypto_op)\n \t\t\t(struct rte_crypto_op *, struct rte_mbuf *,\n \t\t\t\t\tstruct rte_cryptodev_sym_session *,\n-\t\t\t\t\tunsigned int, unsigned int,\n+\t\t\t\t\tunsigned int,\n \t\t\t\t\tenum chain_mode);\n \n-\tunsigned int digest_length = get_auth_digest_length(pparams->auth_algo);\n-\n \tif (rte_cryptodev_count() == 0) {\n \t\tprintf(\"\\nNo crypto devices found. Is PMD build configured?\\n\");\n \t\treturn TEST_FAILED;\n@@ -2298,7 +2293,7 @@ test_perf_openssl_optimise_cyclecount(struct perf_test_params *pparams)\n \t\t}\n \n \t\top = test_perf_set_crypto_op(op, m, sess, pparams->buf_size,\n-\t\t\t\tdigest_length, pparams->chain);\n+\t\t\t\tpparams->chain);\n \t\tTEST_ASSERT_NOT_NULL(op, \"Failed to attach op to session\");\n \n \t\tc_ops[i] = op;\n@@ -2407,8 +2402,6 @@ test_perf_armv8_optimise_cyclecount(struct perf_test_params *pparams)\n \n \tstatic struct rte_cryptodev_sym_session *sess;\n \n-\tunsigned int digest_length = get_auth_digest_length(pparams->auth_algo);\n-\n \tif (rte_cryptodev_count() == 0) {\n \t\tprintf(\"\\nNo crypto devices found. Is PMD build configured?\\n\");\n \t\treturn TEST_FAILED;\n@@ -2433,7 +2426,7 @@ test_perf_armv8_optimise_cyclecount(struct perf_test_params *pparams)\n \t\tTEST_ASSERT_NOT_NULL(op, \"Failed to allocate op\");\n \n \t\top = test_perf_set_crypto_op_aes(op, m, sess, pparams->buf_size,\n-\t\t\t\tdigest_length, pparams->chain);\n+\t\t\t\tpparams->chain);\n \t\tTEST_ASSERT_NOT_NULL(op, \"Failed to attach op to session\");\n \n \t\tc_ops[i] = op;\n@@ -2875,7 +2868,7 @@ test_perf_create_pktmbuf(struct rte_mempool *mpool, unsigned buf_sz)\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain)\n+\t\tenum chain_mode chain)\n {\n \tif (rte_crypto_op_attach_sym_session(op, sess) != 0) {\n \t\trte_crypto_op_free(op);\n@@ -2886,7 +2879,6 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\n \tif (chain == CIPHER_ONLY) {\n \t\top->sym->auth.digest.data = NULL;\n \t\top->sym->auth.digest.phys_addr = 0;\n-\t\top->sym->auth.digest.length = 0;\n \t\top->sym->auth.aad.data = NULL;\n \t\top->sym->auth.data.offset = 0;\n \t\top->sym->auth.data.length = 0;\n@@ -2895,7 +2887,6 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\t\t\t uint8_t *, data_len);\n \t\top->sym->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\t\tdata_len);\n-\t\top->sym->auth.digest.length = digest_len;\n \t\top->sym->auth.data.offset = 0;\n \t\top->sym->auth.data.length = data_len;\n \t}\n@@ -2917,7 +2908,7 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_aes_gcm(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain __rte_unused)\n+\t\tenum chain_mode chain __rte_unused)\n {\n \tif (rte_crypto_op_attach_sym_session(op, sess) != 0) {\n \t\trte_crypto_op_free(op);\n@@ -2929,7 +2920,6 @@ test_perf_set_crypto_op_aes_gcm(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\t\t\t\t(m->data_off + data_len);\n \top->sym->auth.digest.phys_addr =\n \t\t\t\trte_pktmbuf_mtophys_offset(m, data_len);\n-\top->sym->auth.digest.length = digest_len;\n \top->sym->auth.aad.data = aes_gcm_aad;\n \n \t/* Copy IV at the end of the crypto operation */\n@@ -2950,8 +2940,7 @@ test_perf_set_crypto_op_aes_gcm(struct rte_crypto_op *op, struct rte_mbuf *m,\n \n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_snow3g(struct rte_crypto_op *op, struct rte_mbuf *m,\n-\t\tstruct rte_cryptodev_sym_session *sess, unsigned data_len,\n-\t\tunsigned digest_len)\n+\t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len)\n {\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(op,\n \t\t\tuint8_t *, IV_OFFSET);\n@@ -2968,7 +2957,6 @@ test_perf_set_crypto_op_snow3g(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\t\t\t\t\t(m->data_off + data_len);\n \top->sym->auth.digest.phys_addr =\n \t\t\t\trte_pktmbuf_mtophys_offset(m, data_len);\n-\top->sym->auth.digest.length = digest_len;\n \n \t/* Data lengths/offsets Parameters */\n \top->sym->auth.data.offset = 0;\n@@ -3015,8 +3003,7 @@ static inline struct rte_crypto_op *\n test_perf_set_crypto_op_snow3g_hash(struct rte_crypto_op *op,\n \t\tstruct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess,\n-\t\tunsigned data_len,\n-\t\tunsigned digest_len)\n+\t\tunsigned int data_len)\n {\n \tuint8_t *iv_ptr = rte_crypto_op_ctod_offset(op,\n \t\t\tuint8_t *, IV_OFFSET);\n@@ -3036,7 +3023,6 @@ test_perf_set_crypto_op_snow3g_hash(struct rte_crypto_op *op,\n \top->sym->auth.digest.phys_addr =\n \t\t\t\trte_pktmbuf_mtophys_offset(m, data_len +\n \t\t\t\t\tSNOW3G_CIPHER_IV_LENGTH);\n-\top->sym->auth.digest.length = digest_len;\n \n \t/* Data lengths/offsets Parameters */\n \top->sym->auth.data.offset = 0;\n@@ -3051,7 +3037,7 @@ test_perf_set_crypto_op_snow3g_hash(struct rte_crypto_op *op,\n static inline struct rte_crypto_op *\n test_perf_set_crypto_op_3des(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tstruct rte_cryptodev_sym_session *sess, unsigned int data_len,\n-\t\tunsigned int digest_len, enum chain_mode chain __rte_unused)\n+\t\tenum chain_mode chain __rte_unused)\n {\n \tif (rte_crypto_op_attach_sym_session(op, sess) != 0) {\n \t\trte_crypto_op_free(op);\n@@ -3063,7 +3049,6 @@ test_perf_set_crypto_op_3des(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\t\t\t\t(m->data_off + data_len);\n \top->sym->auth.digest.phys_addr =\n \t\t\t\trte_pktmbuf_mtophys_offset(m, data_len);\n-\top->sym->auth.digest.length = digest_len;\n \n \t/* Copy IV at the end of the crypto operation */\n \trte_memcpy(rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET),\n@@ -3156,7 +3141,7 @@ test_perf_aes_sha(uint8_t dev_id, uint16_t queue_id,\n \t\t\t\tops[i] = test_perf_set_crypto_op_aes(ops[i],\n \t\t\t\t\tmbufs[i + (pparams->burst_size *\n \t\t\t\t\t\t(j % NUM_MBUF_SETS))],\n-\t\t\t\t\tsess, pparams->buf_size, digest_length,\n+\t\t\t\t\tsess, pparams->buf_size,\n \t\t\t\t\tpparams->chain);\n \n \t\t\t/* enqueue burst */\n@@ -3298,7 +3283,7 @@ test_perf_snow3g(uint8_t dev_id, uint16_t queue_id,\n \t\t\t\t\tmbufs[i +\n \t\t\t\t\t  (pparams->burst_size * (j % NUM_MBUF_SETS))],\n \t\t\t\t\tsess,\n-\t\t\t\t\tpparams->buf_size, digest_length);\n+\t\t\t\t\tpparams->buf_size);\n \t\t\t\telse if (pparams->chain == CIPHER_ONLY)\n \t\t\t\t\tops[i+op_offset] =\n \t\t\t\t\ttest_perf_set_crypto_op_snow3g_cipher(ops[i+op_offset],\n@@ -3394,8 +3379,6 @@ test_perf_openssl(uint8_t dev_id, uint16_t queue_id,\n \tuint64_t processed = 0, failed_polls = 0, retries = 0;\n \tuint64_t tsc_start = 0, tsc_end = 0;\n \n-\tunsigned int digest_length = get_auth_digest_length(pparams->auth_algo);\n-\n \tstruct rte_crypto_op *ops[pparams->burst_size];\n \tstruct rte_crypto_op *proc_ops[pparams->burst_size];\n \n@@ -3408,7 +3391,7 @@ test_perf_openssl(uint8_t dev_id, uint16_t queue_id,\n \tstatic struct rte_crypto_op *(*test_perf_set_crypto_op)\n \t\t\t(struct rte_crypto_op *, struct rte_mbuf *,\n \t\t\t\t\tstruct rte_cryptodev_sym_session *,\n-\t\t\t\t\tunsigned int, unsigned int,\n+\t\t\t\t\tunsigned int,\n \t\t\t\t\tenum chain_mode);\n \n \tswitch (pparams->cipher_algo) {\n@@ -3470,7 +3453,7 @@ test_perf_openssl(uint8_t dev_id, uint16_t queue_id,\n \t\t\t\tops[i] = test_perf_set_crypto_op(ops[i],\n \t\t\t\t\tmbufs[i + (pparams->burst_size *\n \t\t\t\t\t\t(j % NUM_MBUF_SETS))],\n-\t\t\t\t\tsess, pparams->buf_size, digest_length,\n+\t\t\t\t\tsess, pparams->buf_size,\n \t\t\t\t\tpparams->chain);\n \n \t\t\t/* enqueue burst */\n@@ -3548,8 +3531,6 @@ test_perf_armv8(uint8_t dev_id, uint16_t queue_id,\n \tuint64_t processed = 0, failed_polls = 0, retries = 0;\n \tuint64_t tsc_start = 0, tsc_end = 0;\n \n-\tunsigned int digest_length = get_auth_digest_length(pparams->auth_algo);\n-\n \tstruct rte_crypto_op *ops[pparams->burst_size];\n \tstruct rte_crypto_op *proc_ops[pparams->burst_size];\n \n@@ -3604,7 +3585,7 @@ test_perf_armv8(uint8_t dev_id, uint16_t queue_id,\n \t\t\t\tops[i] = test_perf_set_crypto_op_aes(ops[i],\n \t\t\t\t\tmbufs[i + (pparams->burst_size *\n \t\t\t\t\t\t(j % NUM_MBUF_SETS))], sess,\n-\t\t\t\t\tpparams->buf_size, digest_length,\n+\t\t\t\t\tpparams->buf_size,\n \t\t\t\t\tpparams->chain);\n \n \t\t\t/* enqueue burst */\n@@ -4179,7 +4160,6 @@ perf_gcm_set_crypto_op(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\t\t\t\t  params->session_attrs->aad_len +\n \t\t\t\t\t  params->symmetric_op->p_len);\n \n-\top->sym->auth.digest.length = params->symmetric_op->t_len;\n \n \top->sym->auth.aad.data = m_hlp->aad;\n \top->sym->auth.aad.phys_addr = rte_pktmbuf_mtophys(m);\n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "17/26"
    ]
}