get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 117563,
    "url": "http://patches.dpdk.org/api/patches/117563/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20221007134653.929034-5-ciara.power@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": "<20221007134653.929034-5-ciara.power@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221007134653.929034-5-ciara.power@intel.com",
    "date": "2022-10-07T13:46:53",
    "name": "[v5,4/4] test/crypto: add remaining blockcipher SGL tests",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "bca7ce24b159201dbe33cbda0ff5dfec97a1d343",
    "submitter": {
        "id": 978,
        "url": "http://patches.dpdk.org/api/people/978/?format=api",
        "name": "Ciara Power",
        "email": "ciara.power@intel.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20221007134653.929034-5-ciara.power@intel.com/mbox/",
    "series": [
        {
            "id": 25030,
            "url": "http://patches.dpdk.org/api/series/25030/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=25030",
            "date": "2022-10-07T13:46:49",
            "name": "add remaining SGL support to AESNI_MB",
            "version": 5,
            "mbox": "http://patches.dpdk.org/series/25030/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/117563/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/117563/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 2ED4CA00C3;\n\tFri,  7 Oct 2022 15:47:30 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C4B4B42B8D;\n\tFri,  7 Oct 2022 15:47:15 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 9CB1042B88\n for <dev@dpdk.org>; Fri,  7 Oct 2022 15:47:13 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 07 Oct 2022 06:47:12 -0700",
            "from silpixa00400355.ir.intel.com (HELO\n silpixa00400355.ger.corp.intel.com) ([10.237.222.163])\n by orsmga002.jf.intel.com with ESMTP; 07 Oct 2022 06:47:09 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1665150433; x=1696686433;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=BCDbJYBMAY/y3cYGhycviRyvENe2lQ2WQFoenqn8BkQ=;\n b=QHdA3qEOjj/dPg8UGbWvq+ZXJh80/Q1BnCFX4S8d0U2yKP+jCiD0uvXK\n VjiOOsNlILSdbokgbKyBIcV3dGHSB7Jkq3MCvCWXbtZUXan8/zdMkcGRa\n Uv6+tRQJ3BaTSU8T60mV4Wc/otZfAzGG2q5rweBHJarPopqJQ/UfO2TAA\n 43Evy+YTYfWa3r8ITN95JOB1kjYGgrNaovbs+6FHXw/Nj8YMWvpB1hU1n\n QLFzT5VEbC/y39c/BrBT9AXxSYOunhQ41iBYfy+xXWotje0OQWKuR1hgM\n djq8iP7wG7YyYOYAXfs0gD7RkJflAaybvd2qJ5zpndlqk0/PN0e45+WQZ A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10493\"; a=\"390032332\"",
            "E=Sophos;i=\"5.95,166,1661842800\"; d=\"scan'208\";a=\"390032332\"",
            "E=McAfee;i=\"6500,9779,10493\"; a=\"625150240\"",
            "E=Sophos;i=\"5.95,166,1661842800\"; d=\"scan'208\";a=\"625150240\""
        ],
        "X-ExtLoop1": "1",
        "From": "Ciara Power <ciara.power@intel.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Fan Zhang <royzhang1980@gmail.com>,\n Yipeng Wang <yipeng1.wang@intel.com>,\n Sameh Gobriel <sameh.gobriel@intel.com>,\n Bruce Richardson <bruce.richardson@intel.com>,\n Vladimir Medvedkin <vladimir.medvedkin@intel.com>",
        "Cc": "dev@dpdk.org, kai.ji@intel.com, Ciara Power <ciara.power@intel.com>,\n Fan Zhang <roy.fan.zhang@intel.com>,\n Pablo de Lara <pablo.de.lara.guarch@intel.com>",
        "Subject": "[PATCH v5 4/4] test/crypto: add remaining blockcipher SGL tests",
        "Date": "Fri,  7 Oct 2022 13:46:53 +0000",
        "Message-Id": "<20221007134653.929034-5-ciara.power@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20221007134653.929034-1-ciara.power@intel.com>",
        "References": "<20220812132334.75707-1-ciara.power@intel.com>\n <20221007134653.929034-1-ciara.power@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The current blockcipher test function only has support for two types of\nSGL test, INPLACE or OOP_SGL_IN_LB_OUT. These types are hardcoded into\nthe function, with the number of segments always set to 3.\n\nTo ensure all SGL types are tested, blockcipher test vectors now have\nfields to specify SGL type, and the number of segments.\nIf these fields are missing, the previous defaults are used,\neither INPLACE or OOP_SGL_IN_LB_OUT, with 3 segments.\n\nSome AES and Hash vectors are modified to use these new fields, and new\nAES tests are added to test the SGL types that were not previously\nbeing tested.\n\nSigned-off-by: Ciara Power <ciara.power@intel.com>\nAcked-by: Fan Zhang <roy.fan.zhang@intel.com>\nAcked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>\n\n---\nv5:\n  - Fixed AES-XTS tests to add in some that were accidentally\n    removed in previous versions.\n  - Removed some AES-XTS tests added in previous version that are\n    skipped for AESNI_MB and QAT, as they haven't been verified locally.\n---\n app/test/test_cryptodev_aes_test_vectors.h  | 310 +++++++++++++++++++-\n app/test/test_cryptodev_blockcipher.c       |  50 ++--\n app/test/test_cryptodev_blockcipher.h       |   2 +\n app/test/test_cryptodev_hash_test_vectors.h |   8 +-\n 4 files changed, 338 insertions(+), 32 deletions(-)",
    "diff": "diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h\nindex a797af1b00..ea7b21ce53 100644\n--- a/app/test/test_cryptodev_aes_test_vectors.h\n+++ b/app/test/test_cryptodev_aes_test_vectors.h\n@@ -4163,12 +4163,44 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t},\n \t{\n \t\t.test_descr = \"AES-192-CTR XCBC Decryption Digest Verify \"\n-\t\t\t\t\"Scatter Gather\",\n+\t\t\t\t\"Scatter Gather (Inplace)\",\n+\t\t.test_data = &aes_test_data_2,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CTR XCBC Decryption Digest Verify \"\n+\t\t\t\t\"Scatter Gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_2,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CTR XCBC Decryption Digest Verify \"\n+\t\t\t\t\"Scatter Gather OOP (LB in SGL out)\",\n \t\t.test_data = &aes_test_data_2,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n \t},\n+\t{\n+\t\t.test_descr = \"AES-192-CTR XCBC Decryption Digest Verify \"\n+\t\t\t\t\"Scatter Gather OOP (SGL in LB out)\",\n+\t\t.test_data = &aes_test_data_2,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\n \t{\n \t\t.test_descr = \"AES-256-CTR HMAC-SHA1 Encryption Digest\",\n \t\t.test_data = &aes_test_data_3,\n@@ -4193,11 +4225,52 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n-\t\t\t\t\"Scatter Gather\",\n+\t\t\t\t\"Scatter Gather (Inplace)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather OOP 16 segs (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 16\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather OOP (SGL in LB out)\",\n \t\t.test_data = &aes_test_data_4,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n@@ -4207,10 +4280,52 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n-\t\t\t\"Verify Scatter Gather\",\n+\t\t\t\"Verify Scatter Gather (Inplace)\",\n \t\t.test_data = &aes_test_data_4,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP 16 segs (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 16\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (SGL in LB out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n@@ -4255,12 +4370,46 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Encryption Digest \"\n-\t\t\t\t\"Scatter Gather Sessionless\",\n+\t\t\t\t\"Scatter Gather Sessionless (Inplace)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather Sessionless OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather Sessionless OOP (LB in SGL out)\",\n \t\t.test_data = &aes_test_data_6,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Encryption Digest \"\n+\t\t\t\t\"Scatter Gather Sessionless OOP (SGL in LB out)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Decryption Digest \"\n@@ -4270,11 +4419,42 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Decryption Digest \"\n-\t\t\t\"Verify Scatter Gather\",\n+\t\t\t\"Verify Scatter Gather (Inplace)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 2\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_6,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC HMAC-SHA512 Decryption Digest \"\n+\t\t\t\"Verify Scatter Gather OOP (SGL in LB out)\",\n \t\t.test_data = &aes_test_data_6,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC XCBC Encryption Digest\",\n@@ -4358,6 +4538,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Encryption Digest \"\n@@ -4382,6 +4564,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n@@ -4397,6 +4581,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n@@ -4421,6 +4607,8 @@ static const struct blockcipher_test_case aes_chain_test_cases[] = {\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-128-CBC HMAC-SHA1 Decryption Digest \"\n@@ -4504,6 +4692,41 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.test_data = &aes_test_data_4,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC Encryption Scatter gather (Inplace)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC Encryption Scatter gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC Encryption Scatter gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-128-CBC Encryption Scatter gather OOP (SGL in LB out)\",\n+\t\t.test_data = &aes_test_data_4,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n \t{\n \t\t.test_descr = \"AES-128-CBC Decryption\",\n \t\t.test_data = &aes_test_data_4,\n@@ -4515,11 +4738,39 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t},\n \t{\n-\t\t.test_descr = \"AES-192-CBC Encryption Scatter gather\",\n+\t\t.test_descr = \"AES-192-CBC Encryption Scatter gather (Inplace)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Encryption Scatter gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Encryption Scatter gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Encryption Scatter gather OOP (SGL in LB out)\",\n \t\t.test_data = &aes_test_data_10,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n \t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-192-CBC Decryption\",\n@@ -4527,10 +4778,39 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t},\n \t{\n-\t\t.test_descr = \"AES-192-CBC Decryption Scatter Gather\",\n+\t\t.test_descr = \"AES-192-CBC Decryption Scatter Gather (Inplace)\",\n \t\t.test_data = &aes_test_data_10,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Decryption Scatter Gather OOP (SGL in SGL out)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Decryption Scatter Gather OOP (LB in SGL out)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT,\n+\t\t.sgl_segs = 3\n+\t},\n+\t{\n+\t\t.test_descr = \"AES-192-CBC Decryption Scatter Gather OOP (SGL in LB out)\",\n+\t\t.test_data = &aes_test_data_10,\n+\t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n+\t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |\n+\t\t\tBLOCKCIPHER_TEST_FEATURE_OOP,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-CBC Encryption\",\n@@ -4694,6 +4974,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Decryption (512-byte plaintext\"\n@@ -4702,6 +4984,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Encryption (512-byte plaintext\"\n@@ -4710,6 +4994,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Decryption (512-byte plaintext\"\n@@ -4718,6 +5004,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Encryption (4096-byte plaintext\"\n@@ -4726,6 +5014,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Decryption (4096-byte plaintext\"\n@@ -4734,6 +5024,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Encryption (4096-byte plaintext\"\n@@ -4742,6 +5034,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"AES-256-XTS Decryption (4096-byte plaintext\"\n@@ -4750,6 +5044,8 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |\n \t\t\t\tBLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"cipher-only - NULL algo - x8 - encryption\",\ndiff --git a/app/test/test_cryptodev_blockcipher.c b/app/test/test_cryptodev_blockcipher.c\nindex 28479812ee..6c9a5964ea 100644\n--- a/app/test/test_cryptodev_blockcipher.c\n+++ b/app/test/test_cryptodev_blockcipher.c\n@@ -95,7 +95,9 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \tuint8_t tmp_dst_buf[MBUF_SIZE];\n \tuint32_t pad_len;\n \n-\tint nb_segs = 1;\n+\tint nb_segs_in = 1;\n+\tint nb_segs_out = 1;\n+\tuint64_t sgl_type = t->sgl_flag;\n \tuint32_t nb_iterates = 0;\n \n \trte_cryptodev_info_get(dev_id, &dev_info);\n@@ -120,30 +122,31 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \t\t}\n \t}\n \tif (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_SG) {\n-\t\tuint64_t oop_flag = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT;\n+\t\tif (sgl_type == 0) {\n+\t\t\tif (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP)\n+\t\t\t\tsgl_type = RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT;\n+\t\t\telse\n+\t\t\t\tsgl_type = RTE_CRYPTODEV_FF_IN_PLACE_SGL;\n+\t\t}\n \n-\t\tif (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP) {\n-\t\t\tif (!(feat_flags & oop_flag)) {\n-\t\t\t\tprintf(\"Device doesn't support out-of-place \"\n-\t\t\t\t\t\"scatter-gather in input mbuf. \"\n-\t\t\t\t\t\"Test Skipped.\\n\");\n-\t\t\t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,\n-\t\t\t\t\t\"SKIPPED\");\n-\t\t\t\treturn TEST_SKIPPED;\n-\t\t\t}\n-\t\t} else {\n-\t\t\tif (!(feat_flags & RTE_CRYPTODEV_FF_IN_PLACE_SGL)) {\n-\t\t\t\tprintf(\"Device doesn't support in-place \"\n-\t\t\t\t\t\"scatter-gather mbufs. \"\n-\t\t\t\t\t\"Test Skipped.\\n\");\n-\t\t\t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,\n-\t\t\t\t\t\"SKIPPED\");\n-\t\t\t\treturn TEST_SKIPPED;\n-\t\t\t}\n+\t\tif (!(feat_flags & sgl_type)) {\n+\t\t\tprintf(\"Device doesn't support scatter-gather type.\"\n+\t\t\t\t\" Test Skipped.\\n\");\n+\t\t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,\n+\t\t\t\t\"SKIPPED\");\n+\t\t\treturn TEST_SKIPPED;\n \t\t}\n \n-\t\tnb_segs = 3;\n+\t\tif (sgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT ||\n+\t\t\t\tsgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT ||\n+\t\t\t\tsgl_type == RTE_CRYPTODEV_FF_IN_PLACE_SGL)\n+\t\t\tnb_segs_in = t->sgl_segs == 0 ? 3 : t->sgl_segs;\n+\n+\t\tif (sgl_type == RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT ||\n+\t\t\t\tsgl_type == RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT)\n+\t\t\tnb_segs_out = t->sgl_segs == 0 ? 3 : t->sgl_segs;\n \t}\n+\n \tif (!!(feat_flags & RTE_CRYPTODEV_FF_CIPHER_WRAPPED_KEY) ^\n \t\ttdata->wrapped_key) {\n \t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,\n@@ -206,7 +209,7 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \n \t/* for contiguous mbuf, nb_segs is 1 */\n \tibuf = create_segmented_mbuf(mbuf_pool,\n-\t\t\ttdata->ciphertext.len, nb_segs, src_pattern);\n+\t\t\ttdata->ciphertext.len, nb_segs_in, src_pattern);\n \tif (ibuf == NULL) {\n \t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN,\n \t\t\t\"line %u FAILED: %s\",\n@@ -255,7 +258,8 @@ test_blockcipher_one_case(const struct blockcipher_test_case *t,\n \t}\n \n \tif (t->feature_mask & BLOCKCIPHER_TEST_FEATURE_OOP) {\n-\t\tobuf = rte_pktmbuf_alloc(mbuf_pool);\n+\t\tobuf = create_segmented_mbuf(mbuf_pool,\n+\t\t\ttdata->ciphertext.len, nb_segs_out, dst_pattern);\n \t\tif (!obuf) {\n \t\t\tsnprintf(test_msg, BLOCKCIPHER_TEST_MSG_LEN, \"line %u \"\n \t\t\t\t\"FAILED: %s\", __LINE__,\ndiff --git a/app/test/test_cryptodev_blockcipher.h b/app/test/test_cryptodev_blockcipher.h\nindex 84f5d57787..bad93a5ec1 100644\n--- a/app/test/test_cryptodev_blockcipher.h\n+++ b/app/test/test_cryptodev_blockcipher.h\n@@ -57,6 +57,8 @@ struct blockcipher_test_case {\n \tconst struct blockcipher_test_data *test_data;\n \tuint8_t op_mask; /* operation mask */\n \tuint8_t feature_mask;\n+\tuint64_t sgl_flag;\n+\tuint8_t sgl_segs;\n };\n \n struct blockcipher_test_data {\ndiff --git a/app/test/test_cryptodev_hash_test_vectors.h b/app/test/test_cryptodev_hash_test_vectors.h\nindex 5bd7858de4..62602310b2 100644\n--- a/app/test/test_cryptodev_hash_test_vectors.h\n+++ b/app/test/test_cryptodev_hash_test_vectors.h\n@@ -467,10 +467,12 @@ static const struct blockcipher_test_case hash_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN,\n \t},\n \t{\n-\t\t.test_descr = \"HMAC-SHA1 Digest Scatter Gather\",\n+\t\t.test_descr = \"HMAC-SHA1 Digest Scatter Gather (Inplace)\",\n \t\t.test_data = &hmac_sha1_test_vector,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"HMAC-SHA1 Digest Verify\",\n@@ -478,10 +480,12 @@ static const struct blockcipher_test_case hash_test_cases[] = {\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY,\n \t},\n \t{\n-\t\t.test_descr = \"HMAC-SHA1 Digest Verify Scatter Gather\",\n+\t\t.test_descr = \"HMAC-SHA1 Digest Verify Scatter Gather (Inplace)\",\n \t\t.test_data = &hmac_sha1_test_vector,\n \t\t.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY,\n \t\t.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,\n+\t\t.sgl_flag = RTE_CRYPTODEV_FF_IN_PLACE_SGL,\n+\t\t.sgl_segs = 3\n \t},\n \t{\n \t\t.test_descr = \"SHA224 Digest\",\n",
    "prefixes": [
        "v5",
        "4/4"
    ]
}