get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 25593,
    "url": "http://patches.dpdk.org/api/patches/25593/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20170621074731.45013-16-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": "<20170621074731.45013-16-pablo.de.lara.guarch@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170621074731.45013-16-pablo.de.lara.guarch@intel.com",
    "date": "2017-06-21T07:47:25",
    "name": "[dpdk-dev,16/22] cryptodev: remove AAD length from crypto op",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": true,
    "hash": "626f330c93f921138bc5d2a1ca8ab504fafcf9f3",
    "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": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20170621074731.45013-16-pablo.de.lara.guarch@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/25593/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/25593/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 EAD297D7F;\n\tWed, 21 Jun 2017 17:47:57 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id A875F7CE4\n\tfor <dev@dpdk.org>; Wed, 21 Jun 2017 17:47:33 +0200 (CEST)",
            "from orsmga004.jf.intel.com ([10.7.209.38])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t21 Jun 2017 08:47:33 -0700",
            "from silpixa00399464.ir.intel.com (HELO\n\tsilpixa00399464.ger.corp.intel.com) ([10.237.222.157])\n\tby orsmga004.jf.intel.com with ESMTP; 21 Jun 2017 08:47:32 -0700"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.39,369,1493708400\"; d=\"scan'208\";a=\"100153543\"",
        "From": "Pablo de Lara <pablo.de.lara.guarch@intel.com>",
        "To": "pablo.de.lara.guarch@intel.com",
        "Cc": "dev@dpdk.org",
        "Date": "Wed, 21 Jun 2017 08:47:25 +0100",
        "Message-Id": "<20170621074731.45013-16-pablo.de.lara.guarch@intel.com>",
        "X-Mailer": "git-send-email 2.9.4",
        "In-Reply-To": "<20170621074731.45013-1-pablo.de.lara.guarch@intel.com>",
        "References": "<20170621074731.45013-1-pablo.de.lara.guarch@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 16/22] cryptodev: remove AAD length from crypto 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": "Additional authenticated data (AAD) information was duplicated\nin the authentication transform and in the crypto\noperation structures.\n\nSince AAD length is not meant to be changed in a same session,\nit is removed from the crypto operation structure.\n\nSigned-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>\n---\n app/test-crypto-perf/cperf_ops.c                 |  3 ---\n drivers/crypto/aesni_gcm/aesni_gcm_pmd.c         |  6 +++--\n drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h |  2 ++\n drivers/crypto/openssl/rte_openssl_pmd.c         |  4 ++-\n drivers/crypto/openssl/rte_openssl_pmd_private.h |  3 +++\n drivers/crypto/qat/qat_adf/qat_algs_build_desc.c |  1 +\n drivers/crypto/qat/qat_crypto.c                  |  4 +--\n examples/ipsec-secgw/esp.c                       |  2 --\n examples/l2fwd-crypto/main.c                     |  4 ---\n lib/librte_cryptodev/rte_crypto_sym.h            |  6 +----\n test/test/test_cryptodev.c                       | 10 +++-----\n test/test/test_cryptodev_perf.c                  | 31 +++++++++++++-----------\n 12 files changed, 36 insertions(+), 40 deletions(-)",
    "diff": "diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c\nindex 6c06ce5..6af7694 100644\n--- a/app/test-crypto-perf/cperf_ops.c\n+++ b/app/test-crypto-perf/cperf_ops.c\n@@ -180,7 +180,6 @@ cperf_set_ops_auth(struct rte_crypto_op **ops,\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\tsym_op->auth.aad.length = options->auth_aad_sz;\n \n \t\t}\n \n@@ -269,7 +268,6 @@ cperf_set_ops_cipher_auth(struct rte_crypto_op **ops,\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\tsym_op->auth.aad.length = options->auth_aad_sz;\n \t\t}\n \n \t\tif (options->auth_algo == RTE_CRYPTO_AUTH_SNOW3G_UIA2 ||\n@@ -314,7 +312,6 @@ cperf_set_ops_aead(struct rte_crypto_op **ops,\n \n \t\tsym_op->auth.aad.data = rte_pktmbuf_mtod(bufs_in[i], uint8_t *);\n \t\tsym_op->auth.aad.phys_addr = rte_pktmbuf_mtophys(bufs_in[i]);\n-\t\tsym_op->auth.aad.length = options->auth_aad_sz;\n \n \t\t/* authentication parameters */\n \t\tif (options->auth_op == RTE_CRYPTO_AUTH_OP_VERIFY) {\ndiff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\nindex 65e074a..d2346a1 100644\n--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\n+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd.c\n@@ -144,6 +144,8 @@ aesni_gcm_set_session_parameters(struct aesni_gcm_session *sess,\n \t\treturn -EINVAL;\n \t}\n \n+\tsess->aad_length = auth_xform->auth.add_auth_data_length;\n+\n \treturn 0;\n }\n \n@@ -254,7 +256,7 @@ process_gcm_crypto_op(struct rte_crypto_op *op,\n \t\taesni_gcm_enc[session->key].init(&session->gdata,\n \t\t\t\tIV_ptr,\n \t\t\t\tsym_op->auth.aad.data,\n-\t\t\t\t(uint64_t)sym_op->auth.aad.length);\n+\t\t\t\t(uint64_t)session->aad_length);\n \n \t\taesni_gcm_enc[session->key].update(&session->gdata, dst, src,\n \t\t\t\t(uint64_t)part_len);\n@@ -292,7 +294,7 @@ process_gcm_crypto_op(struct rte_crypto_op *op,\n \t\taesni_gcm_dec[session->key].init(&session->gdata,\n \t\t\t\tIV_ptr,\n \t\t\t\tsym_op->auth.aad.data,\n-\t\t\t\t(uint64_t)sym_op->auth.aad.length);\n+\t\t\t\t(uint64_t)session->aad_length);\n \n \t\taesni_gcm_dec[session->key].update(&session->gdata, dst, src,\n \t\t\t\t(uint64_t)part_len);\ndiff --git a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\nindex 2ed96f8..bfd4d1c 100644\n--- a/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\n+++ b/drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h\n@@ -99,6 +99,8 @@ struct aesni_gcm_session {\n \t/**< GCM operation type */\n \tenum aesni_gcm_key key;\n \t/**< GCM key type */\n+\tuint16_t aad_length;\n+\t/**< AAD length */\n \tstruct gcm_data gdata __rte_cache_aligned;\n \t/**< GCM parameters */\n };\ndiff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c\nindex 20b8881..8808013 100644\n--- a/drivers/crypto/openssl/rte_openssl_pmd.c\n+++ b/drivers/crypto/openssl/rte_openssl_pmd.c\n@@ -369,6 +369,8 @@ openssl_set_session_auth_parameters(struct openssl_session *sess,\n \t\treturn -EINVAL;\n \t}\n \n+\tsess->auth.aad_length = xform->auth.add_auth_data_length;\n+\n \treturn 0;\n }\n \n@@ -933,7 +935,7 @@ process_openssl_combined_op\n \t\t\tsess->iv.offset);\n \tivlen = sess->iv.length;\n \taad = op->sym->auth.aad.data;\n-\taadlen = op->sym->auth.aad.length;\n+\taadlen = sess->auth.aad_length;\n \n \ttag = op->sym->auth.digest.data;\n \tif (tag == NULL)\ndiff --git a/drivers/crypto/openssl/rte_openssl_pmd_private.h b/drivers/crypto/openssl/rte_openssl_pmd_private.h\nindex 3a64853..045e532 100644\n--- a/drivers/crypto/openssl/rte_openssl_pmd_private.h\n+++ b/drivers/crypto/openssl/rte_openssl_pmd_private.h\n@@ -162,6 +162,9 @@ struct openssl_session {\n \t\t\t\t/**< pointer to EVP context structure */\n \t\t\t} hmac;\n \t\t};\n+\n+\t\tuint16_t aad_length;\n+\t\t/**< AAD length */\n \t} auth;\n \n } __rte_cache_aligned;\ndiff --git a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c\nindex 5bf9c86..4df57aa 100644\n--- a/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c\n+++ b/drivers/crypto/qat/qat_adf/qat_algs_build_desc.c\n@@ -817,6 +817,7 @@ int qat_alg_aead_session_create_content_desc_auth(struct qat_session *cdesc,\n \t\t\t\t\tICP_QAT_HW_GALOIS_128_STATE1_SZ +\n \t\t\t\t\tICP_QAT_HW_GALOIS_H_SZ);\n \t\t*aad_len = rte_bswap32(add_auth_data_length);\n+\t\tcdesc->aad_len = add_auth_data_length;\n \t\tbreak;\n \tcase ICP_QAT_HW_AUTH_ALGO_SNOW_3G_UIA2:\n \t\tqat_proto_flag = QAT_CRYPTO_PROTO_FLAG_SNOW3G;\ndiff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c\nindex 1206839..eb19f1c 100644\n--- a/drivers/crypto/qat/qat_crypto.c\n+++ b/drivers/crypto/qat/qat_crypto.c\n@@ -1197,7 +1197,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,\n \t\t\tcipher_param->cipher_length = 0;\n \t\t\tcipher_param->cipher_offset = 0;\n \t\t\tauth_param->u1.aad_adr = 0;\n-\t\t\tauth_param->auth_len = op->sym->auth.aad.length;\n+\t\t\tauth_param->auth_len = ctx->aad_len;\n \t\t\tauth_param->auth_off = op->sym->auth.data.offset;\n \t\t\tauth_param->u2.aad_sz = 0;\n \t\t}\n@@ -1224,7 +1224,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t *out_msg,\n \t\trte_hexdump(stdout, \"digest:\", op->sym->auth.digest.data,\n \t\t\t\top->sym->auth.digest.length);\n \t\trte_hexdump(stdout, \"aad:\", op->sym->auth.aad.data,\n-\t\t\t\top->sym->auth.aad.length);\n+\t\t\t\tctx->aad_len);\n \t}\n #endif\n \treturn 0;\ndiff --git a/examples/ipsec-secgw/esp.c b/examples/ipsec-secgw/esp.c\nindex 2919ab7..36d4704 100644\n--- a/examples/ipsec-secgw/esp.c\n+++ b/examples/ipsec-secgw/esp.c\n@@ -129,7 +129,6 @@ esp_inbound(struct rte_mbuf *m, struct ipsec_sa *sa,\n \t\tsym_cop->auth.aad.data = aad;\n \t\tsym_cop->auth.aad.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\t\taad - rte_pktmbuf_mtod(m, uint8_t *));\n-\t\tsym_cop->auth.aad.length = 8;\n \t\tbreak;\n \tdefault:\n \t\tRTE_LOG(ERR, IPSEC_ESP, \"unsupported auth algorithm %u\\n\",\n@@ -358,7 +357,6 @@ esp_outbound(struct rte_mbuf *m, struct ipsec_sa *sa,\n \t\tsym_cop->auth.aad.data = aad;\n \t\tsym_cop->auth.aad.phys_addr = rte_pktmbuf_mtophys_offset(m,\n \t\t\t\taad - rte_pktmbuf_mtod(m, uint8_t *));\n-\t\tsym_cop->auth.aad.length = 8;\n \t\tbreak;\n \tdefault:\n \t\tRTE_LOG(ERR, IPSEC_ESP, \"unsupported auth algorithm %u\\n\",\ndiff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c\nindex 6c21c0e..ac60054 100644\n--- a/examples/l2fwd-crypto/main.c\n+++ b/examples/l2fwd-crypto/main.c\n@@ -495,11 +495,9 @@ l2fwd_simple_crypto_enqueue(struct rte_mbuf *m,\n \t\tif (cparams->aad.length) {\n \t\t\top->sym->auth.aad.data = cparams->aad.data;\n \t\t\top->sym->auth.aad.phys_addr = cparams->aad.phys_addr;\n-\t\t\top->sym->auth.aad.length = cparams->aad.length;\n \t\t} else {\n \t\t\top->sym->auth.aad.data = NULL;\n \t\t\top->sym->auth.aad.phys_addr = 0;\n-\t\t\top->sym->auth.aad.length = 0;\n \t\t}\n \t}\n \n@@ -707,8 +705,6 @@ l2fwd_main_loop(struct l2fwd_crypto_options *options)\n \t\t\t\t\toptions->auth_xform.auth.digest_length;\n \t\t\tif (options->auth_xform.auth.add_auth_data_length) {\n \t\t\t\tport_cparams[i].aad.data = options->aad.data;\n-\t\t\t\tport_cparams[i].aad.length =\n-\t\t\t\t\toptions->auth_xform.auth.add_auth_data_length;\n \t\t\t\tport_cparams[i].aad.phys_addr = options->aad.phys_addr;\n \t\t\t\tif (!options->aad_param)\n \t\t\t\t\tgenerate_random_key(port_cparams[i].aad.data,\ndiff --git a/lib/librte_cryptodev/rte_crypto_sym.h b/lib/librte_cryptodev/rte_crypto_sym.h\nindex 4a5e2dc..da63f0a 100644\n--- a/lib/librte_cryptodev/rte_crypto_sym.h\n+++ b/lib/librte_cryptodev/rte_crypto_sym.h\n@@ -365,7 +365,7 @@ struct rte_crypto_auth_xform {\n \t * the result shall be truncated.\n \t */\n \n-\tuint32_t add_auth_data_length;\n+\tuint16_t add_auth_data_length;\n \t/**< The length of the additional authenticated data (AAD) in bytes.\n \t * The maximum permitted value is 65535 (2^16 - 1) bytes, unless\n \t * otherwise specified below.\n@@ -653,10 +653,6 @@ struct rte_crypto_sym_op {\n \t\t\t * operation, this field is used to pass plaintext.\n \t\t\t */\n \t\t\tphys_addr_t phys_addr;\t/**< physical address */\n-\t\t\tuint16_t length;\n-\t\t\t/**< Length of additional authenticated data (AAD)\n-\t\t\t * in bytes\n-\t\t\t */\n \t\t} aad;\n \t\t/**< Additional authentication parameters */\n \t} auth;\ndiff --git a/test/test/test_cryptodev.c b/test/test/test_cryptodev.c\nindex 866d0d7..5b1b543 100644\n--- a/test/test/test_cryptodev.c\n+++ b/test/test/test_cryptodev.c\n@@ -4638,7 +4638,7 @@ test_3DES_cipheronly_openssl_all(void)\n static int\n create_gcm_session(uint8_t dev_id, enum rte_crypto_cipher_operation op,\n \t\tconst uint8_t *key, const uint8_t key_len,\n-\t\tconst uint8_t aad_len, const uint8_t auth_len,\n+\t\tconst uint16_t aad_len, const uint8_t auth_len,\n \t\tuint8_t iv_len,\n \t\tenum rte_crypto_auth_operation auth_op)\n {\n@@ -4752,12 +4752,11 @@ create_gcm_operation(enum rte_crypto_cipher_operation op,\n \tTEST_ASSERT_NOT_NULL(sym_op->auth.aad.data,\n \t\t\t\"no room to append aad\");\n \n-\tsym_op->auth.aad.length = tdata->aad.len;\n \tsym_op->auth.aad.phys_addr =\n \t\t\trte_pktmbuf_mtophys(ut_params->ibuf);\n \tmemcpy(sym_op->auth.aad.data, tdata->aad.data, tdata->aad.len);\n \tTEST_HEXDUMP(stdout, \"aad:\", sym_op->auth.aad.data,\n-\t\tsym_op->auth.aad.length);\n+\t\ttdata->aad.len);\n \n \t/* Append IV at the end of the crypto operation*/\n \tuint8_t *IV_ptr = rte_crypto_op_ctod_offset(ut_params->op,\n@@ -6316,7 +6315,6 @@ create_gmac_operation(enum rte_crypto_auth_operation op,\n \tTEST_ASSERT_NOT_NULL(sym_op->auth.aad.data,\n \t\t\t\"no room to append aad\");\n \n-\tsym_op->auth.aad.length = tdata->aad.len;\n \tsym_op->auth.aad.phys_addr =\n \t\t\trte_pktmbuf_mtophys(ut_params->ibuf);\n \tmemcpy(sym_op->auth.aad.data, tdata->aad.data, tdata->aad.len);\n@@ -6381,7 +6379,7 @@ static int create_gmac_session(uint8_t dev_id,\n \tut_params->auth_xform.auth.algo = RTE_CRYPTO_AUTH_AES_GMAC;\n \tut_params->auth_xform.auth.op = auth_op;\n \tut_params->auth_xform.auth.digest_length = tdata->gmac_tag.len;\n-\tut_params->auth_xform.auth.add_auth_data_length = 0;\n+\tut_params->auth_xform.auth.add_auth_data_length = tdata->aad.len;\n \tut_params->auth_xform.auth.key.length = 0;\n \tut_params->auth_xform.auth.key.data = NULL;\n \n@@ -6861,7 +6859,6 @@ create_auth_GMAC_operation(struct crypto_testsuite_params *ts_params,\n \tTEST_HEXDUMP(stdout, \"AAD:\", sym_op->auth.aad.data, reference->aad.len);\n \n \tsym_op->auth.aad.phys_addr = rte_pktmbuf_mtophys(ut_params->ibuf);\n-\tsym_op->auth.aad.length = reference->aad.len;\n \n \t/* digest */\n \tsym_op->auth.digest.data = (uint8_t *)rte_pktmbuf_append(\n@@ -7195,7 +7192,6 @@ create_gcm_operation_SGL(enum rte_crypto_cipher_operation op,\n \t\t\t\"no room to prepend aad\");\n \tsym_op->auth.aad.phys_addr = rte_pktmbuf_mtophys(\n \t\t\tut_params->ibuf);\n-\tsym_op->auth.aad.length = aad_len;\n \n \tmemset(sym_op->auth.aad.data, 0, aad_len);\n \trte_memcpy(sym_op->auth.aad.data, tdata->aad.data, aad_len);\ndiff --git a/test/test/test_cryptodev_perf.c b/test/test/test_cryptodev_perf.c\nindex da0f8a8..3844148 100644\n--- a/test/test/test_cryptodev_perf.c\n+++ b/test/test/test_cryptodev_perf.c\n@@ -45,6 +45,7 @@\n \n #define AES_CIPHER_IV_LENGTH 16\n #define TRIPLE_DES_CIPHER_IV_LENGTH 8\n+#define AES_GCM_AAD_LENGTH 16\n \n #define PERF_NUM_OPS_INFLIGHT\t\t(128)\n #define DEFAULT_NUM_REQS_TO_SUBMIT\t(10000000)\n@@ -70,7 +71,6 @@ enum chain_mode {\n \n struct symmetric_op {\n \tconst uint8_t *aad_data;\n-\tuint32_t aad_len;\n \n \tconst uint8_t *p_data;\n \tuint32_t p_len;\n@@ -97,6 +97,7 @@ struct symmetric_session_attrs {\n \n \tconst uint8_t *iv_data;\n \tuint16_t iv_len;\n+\tuint16_t aad_len;\n \tuint32_t digest_len;\n };\n \n@@ -2779,6 +2780,7 @@ test_perf_create_openssl_session(uint8_t dev_id, enum chain_mode chain,\n \t\tbreak;\n \tcase RTE_CRYPTO_AUTH_AES_GCM:\n \t\tauth_xform.auth.key.data = NULL;\n+\t\tauth_xform.auth.add_auth_data_length = AES_GCM_AAD_LENGTH;\n \t\tbreak;\n \tdefault:\n \t\treturn NULL;\n@@ -2855,8 +2857,6 @@ test_perf_create_armv8_session(uint8_t dev_id, enum chain_mode chain,\n \t}\n }\n \n-#define AES_GCM_AAD_LENGTH 16\n-\n static struct rte_mbuf *\n test_perf_create_pktmbuf(struct rte_mempool *mpool, unsigned buf_sz)\n {\n@@ -2888,7 +2888,6 @@ test_perf_set_crypto_op_aes(struct rte_crypto_op *op, struct rte_mbuf *m,\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.aad.length = 0;\n \t\top->sym->auth.data.offset = 0;\n \t\top->sym->auth.data.length = 0;\n \t} else {\n@@ -2932,7 +2931,6 @@ test_perf_set_crypto_op_aes_gcm(struct rte_crypto_op *op, struct rte_mbuf *m,\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-\top->sym->auth.aad.length = AES_GCM_AAD_LENGTH;\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@@ -2999,9 +2997,14 @@ test_perf_set_crypto_op_snow3g_cipher(struct rte_crypto_op *op,\n \trte_memcpy(rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET),\n \t\t\tsnow3g_iv, SNOW3G_CIPHER_IV_LENGTH);\n \n+\t/* Cipher Parameters */\n \top->sym->cipher.data.offset = 0;\n \top->sym->cipher.data.length = data_len << 3;\n \n+\trte_memcpy(rte_crypto_op_ctod_offset(op, uint8_t *, IV_OFFSET),\n+\t\t\tsnow3g_iv,\n+\t\t\tSNOW3G_CIPHER_IV_LENGTH);\n+\n \top->sym->m_src = m;\n \n \treturn op;\n@@ -4133,6 +4136,7 @@ test_perf_create_session(uint8_t dev_id, struct perf_test_params *pparams)\n \tauth_xform.auth.op = pparams->session_attrs->auth;\n \tauth_xform.auth.algo = pparams->session_attrs->auth_algorithm;\n \n+\tauth_xform.auth.add_auth_data_length = pparams->session_attrs->aad_len;\n \tauth_xform.auth.digest_length = pparams->session_attrs->digest_len;\n \tauth_xform.auth.key.length = pparams->session_attrs->key_auth_len;\n \n@@ -4168,17 +4172,16 @@ perf_gcm_set_crypto_op(struct rte_crypto_op *op, struct rte_mbuf *m,\n \top->sym->auth.digest.data = m_hlp->digest;\n \top->sym->auth.digest.phys_addr = rte_pktmbuf_mtophys_offset(\n \t\t\t\t\t  m,\n-\t\t\t\t\t  params->symmetric_op->aad_len +\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.length = params->symmetric_op->aad_len;\n \top->sym->auth.aad.phys_addr = rte_pktmbuf_mtophys(m);\n \n \trte_memcpy(op->sym->auth.aad.data, params->symmetric_op->aad_data,\n-\t\t       params->symmetric_op->aad_len);\n+\t\t       params->session_attrs->aad_len);\n \n \trte_memcpy(IV_ptr, params->session_attrs->iv_data,\n \t\t       params->session_attrs->iv_len);\n@@ -4186,11 +4189,11 @@ perf_gcm_set_crypto_op(struct rte_crypto_op *op, struct rte_mbuf *m,\n \t\tIV_ptr[15] = 1;\n \n \top->sym->auth.data.offset =\n-\t\t\tparams->symmetric_op->aad_len;\n+\t\t\tparams->session_attrs->aad_len;\n \top->sym->auth.data.length = params->symmetric_op->p_len;\n \n \top->sym->cipher.data.offset =\n-\t\t\tparams->symmetric_op->aad_len;\n+\t\t\tparams->session_attrs->aad_len;\n \top->sym->cipher.data.length = params->symmetric_op->p_len;\n \n \top->sym->m_src = m;\n@@ -4204,7 +4207,7 @@ test_perf_create_pktmbuf_fill(struct rte_mempool *mpool,\n \t\tunsigned buf_sz, struct crypto_params *m_hlp)\n {\n \tstruct rte_mbuf *m = rte_pktmbuf_alloc(mpool);\n-\tuint16_t aad_len = params->symmetric_op->aad_len;\n+\tuint16_t aad_len = params->session_attrs->aad_len;\n \tuint16_t digest_size = params->symmetric_op->t_len;\n \tchar *p;\n \n@@ -4340,14 +4343,14 @@ perf_AES_GCM(uint8_t dev_id, uint16_t queue_id,\n \t\t\t\tTEST_ASSERT_BUFFERS_ARE_EQUAL(\n \t\t\t\t\tpparams->symmetric_op->c_data,\n \t\t\t\t\tpkt +\n-\t\t\t\t\tpparams->symmetric_op->aad_len,\n+\t\t\t\t\tpparams->session_attrs->aad_len,\n \t\t\t\t\tpparams->symmetric_op->c_len,\n \t\t\t\t\t\"GCM Ciphertext data not as expected\");\n \n \t\t\t\tTEST_ASSERT_BUFFERS_ARE_EQUAL(\n \t\t\t\t\tpparams->symmetric_op->t_data,\n \t\t\t\t\tpkt +\n-\t\t\t\t\tpparams->symmetric_op->aad_len +\n+\t\t\t\t\tpparams->session_attrs->aad_len +\n \t\t\t\t\tpparams->symmetric_op->c_len,\n \t\t\t\t\tpparams->symmetric_op->t_len,\n \t\t\t\t\t\"GCM MAC data not as expected\");\n@@ -4419,13 +4422,13 @@ test_perf_AES_GCM(int continual_buf_len, int continual_size)\n \t\t\tRTE_CRYPTO_AUTH_OP_GENERATE;\n \t\tsession_attrs[i].key_auth_data = NULL;\n \t\tsession_attrs[i].key_auth_len = 0;\n+\t\tsession_attrs[i].aad_len = gcm_test->aad.len;\n \t\tsession_attrs[i].digest_len =\n \t\t\t\tgcm_test->auth_tag.len;\n \t\tsession_attrs[i].iv_len = gcm_test->iv.len;\n \t\tsession_attrs[i].iv_data = gcm_test->iv.data;\n \n \t\tops_set[i].aad_data = gcm_test->aad.data;\n-\t\tops_set[i].aad_len = gcm_test->aad.len;\n \t\tops_set[i].p_data = gcm_test->plaintext.data;\n \t\tops_set[i].p_len = buf_lengths[i];\n \t\tops_set[i].c_data = gcm_test->ciphertext.data;\n",
    "prefixes": [
        "dpdk-dev",
        "16/22"
    ]
}