get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 106740,
    "url": "http://patchwork.dpdk.org/api/patches/106740/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20220131123210.4228-3-ktejasree@marvell.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20220131123210.4228-3-ktejasree@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220131123210.4228-3-ktejasree@marvell.com",
    "date": "2022-01-31T12:32:10",
    "name": "[2/2] test/cryptodev: add ESN and Antireplay tests",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ae0fe60da73f345f213931f9374acc6b789cd6d8",
    "submitter": {
        "id": 1789,
        "url": "http://patchwork.dpdk.org/api/people/1789/?format=api",
        "name": "Tejasree Kondoj",
        "email": "ktejasree@marvell.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patchwork.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20220131123210.4228-3-ktejasree@marvell.com/mbox/",
    "series": [
        {
            "id": 21434,
            "url": "http://patchwork.dpdk.org/api/series/21434/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=21434",
            "date": "2022-01-31T12:32:08",
            "name": "Adding new cases to lookaside IPsec tests",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/21434/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/106740/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/106740/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 AB82EA04A2;\n\tMon, 31 Jan 2022 12:40:31 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9946A41171;\n\tMon, 31 Jan 2022 12:40:31 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173])\n by mails.dpdk.org (Postfix) with ESMTP id 862494069D\n for <dev@dpdk.org>; Mon, 31 Jan 2022 12:40:29 +0100 (CET)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id\n 20VB6HZj009700;\n Mon, 31 Jan 2022 03:40:28 -0800",
            "from dc5-exch01.marvell.com ([199.233.59.181])\n by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3dw5yqm8qn-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Mon, 31 Jan 2022 03:40:28 -0800",
            "from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2;\n Mon, 31 Jan 2022 03:40:25 -0800",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend\n Transport; Mon, 31 Jan 2022 03:40:25 -0800",
            "from hyd1554T5810.caveonetworks.com.com (unknown [10.29.57.11])\n by maili.marvell.com (Postfix) with ESMTP id 5A00C3F703F;\n Mon, 31 Jan 2022 03:40:21 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=4C4lje15CsHZ17By/qT5pSabIe580wH8LlEc3OSMyzM=;\n b=lQXz9LFQLO/JOwsUiD+/h7g4QSkSN/3KUmiohER3nxFCwI4M25xMEP8O2qf6vqX9+T24\n UAagGkidkpQJ2dRhJQYBeowutm+WYAv9r7WTErFHSZiyK3yfe8MDQAKdThkE4zjbVuzs\n YnAn6Cp9W2FHb4ga7ott2QKlnqXfyV+XwjX+tvrzMd6Qycq7rMY2Fey/KmNPOtXXM0gX\n 7sJM2MEDfdg2Imkm470wW4I9EoJVC8dhfM7b/FHmumqn0DkUl0yzDqM7sIu8xXsaRGce\n ALHvbviBqnEZv6QP1XkTGbHh1YxQxP3bg6A50SXBwjgfEhpGm8BvINaB7qk0cXiuwkYK Bg==",
        "From": "Tejasree Kondoj <ktejasree@marvell.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Declan Doherty\n <declan.doherty@intel.com>, Fan Zhang <roy.fan.zhang@intel.com>, \"Pablo de\n Lara\" <pablo.de.lara.guarch@intel.com>",
        "CC": "Tejasree Kondoj <ktejasree@marvell.com>,\n Anoob Joseph <anoobj@marvell.com>,\n Ankur Dwivedi <adwivedi@marvell.com>, Archana Muniganti\n <marchana@marvell.com>, Hemant Agrawal <hemant.agrawal@nxp.com>,\n Radu Nicolau <radu.nicolau@intel.com>, Ciara Power <ciara.power@intel.com>,\n \"Gagandeep Singh\" <g.singh@nxp.com>, <dev@dpdk.org>",
        "Subject": "[PATCH 2/2] test/cryptodev: add ESN and Antireplay tests",
        "Date": "Mon, 31 Jan 2022 18:02:10 +0530",
        "Message-ID": "<20220131123210.4228-3-ktejasree@marvell.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20220131123210.4228-1-ktejasree@marvell.com>",
        "References": "<20220131123210.4228-1-ktejasree@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "fOhX6jegFVwqJUFTLyEG7J_kyqQ7SM1V",
        "X-Proofpoint-GUID": "fOhX6jegFVwqJUFTLyEG7J_kyqQ7SM1V",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513\n definitions=2022-01-31_04,2022-01-28_01,2021-12-02_01",
        "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": "Adding test cases for IPsec ESN and Antireplay.\n\nSigned-off-by: Tejasree Kondoj <ktejasree@marvell.com>\n---\n app/test/test_cryptodev.c                     | 186 +++++++++++++++++-\n app/test/test_cryptodev_security_ipsec.c      |  23 ++-\n app/test/test_cryptodev_security_ipsec.h      |   6 +-\n ...st_cryptodev_security_ipsec_test_vectors.h |   1 +\n doc/guides/rel_notes/release_22_03.rst        |   5 +\n 5 files changed, 217 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c\nindex 47ad991c31..3ee7bc8e0d 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -9292,6 +9292,18 @@ test_ipsec_proto_process(const struct ipsec_test_data td[],\n \t\treturn TEST_SKIPPED;\n \n \tfor (i = 0; i < nb_td; i++) {\n+\t\tif (flags->antireplay &&\n+\t\t    (dir == RTE_SECURITY_IPSEC_SA_DIR_EGRESS)) {\n+\t\t\tsess_conf.ipsec.esn.value = td[i].ipsec_xform.esn.value;\n+\t\t\tret = rte_security_session_update(ctx,\n+\t\t\t\tut_params->sec_session, &sess_conf);\n+\t\t\tif (ret) {\n+\t\t\t\tprintf(\"Could not update sequence number in \"\n+\t\t\t\t       \"session\\n\");\n+\t\t\t\treturn TEST_SKIPPED;\n+\t\t\t}\n+\t\t}\n+\n \t\t/* Setup source mbuf payload */\n \t\tut_params->ibuf = rte_pktmbuf_alloc(ts_params->mbuf_pool);\n \t\tmemset(rte_pktmbuf_mtod(ut_params->ibuf, uint8_t *), 0,\n@@ -9344,7 +9356,8 @@ test_ipsec_proto_process(const struct ipsec_test_data td[],\n \t\t/* Process crypto operation */\n \t\tprocess_crypto_request(dev_id, ut_params->op);\n \n-\t\tret = test_ipsec_status_check(ut_params->op, flags, dir, i + 1);\n+\t\tret = test_ipsec_status_check(&td[i], ut_params->op, flags, dir,\n+\t\t\t\t\t      i + 1);\n \t\tif (ret != TEST_SUCCESS)\n \t\t\tgoto crypto_op_free;\n \n@@ -9895,6 +9908,150 @@ test_ipsec_proto_ipv6_set_dscp_1_inner_0(const void *data __rte_unused)\n \treturn test_ipsec_proto_all(&flags);\n }\n \n+static int\n+test_ipsec_pkt_replay(const void *test_data, const uint64_t esn[],\n+\t\t      bool replayed_pkt[], uint32_t nb_pkts, bool esn_en,\n+\t\t      uint64_t winsz)\n+{\n+\tstruct ipsec_test_data td_outb[IPSEC_TEST_PACKETS_MAX];\n+\tstruct ipsec_test_data td_inb[IPSEC_TEST_PACKETS_MAX];\n+\tstruct ipsec_test_flags flags;\n+\tuint32_t i = 0, ret = 0;\n+\n+\tmemset(&flags, 0, sizeof(flags));\n+\tflags.antireplay = true;\n+\n+\tfor (i = 0; i < nb_pkts; i++) {\n+\t\tmemcpy(&td_outb[i], test_data, sizeof(td_outb[i]));\n+\t\ttd_outb[i].ipsec_xform.options.iv_gen_disable = 1;\n+\t\ttd_outb[i].ipsec_xform.replay_win_sz = winsz;\n+\t\ttd_outb[i].ipsec_xform.options.esn = esn_en;\n+\t}\n+\n+\tfor (i = 0; i < nb_pkts; i++)\n+\t\ttd_outb[i].ipsec_xform.esn.value = esn[i];\n+\n+\tret = test_ipsec_proto_process(td_outb, td_inb, nb_pkts, true,\n+\t\t\t\t       &flags);\n+\tif (ret != TEST_SUCCESS)\n+\t\treturn ret;\n+\n+\ttest_ipsec_td_update(td_inb, td_outb, nb_pkts, &flags);\n+\n+\tfor (i = 0; i < nb_pkts; i++) {\n+\t\ttd_inb[i].ipsec_xform.options.esn = esn_en;\n+\t\t/* Set antireplay flag for packets to be dropped */\n+\t\ttd_inb[i].ar_packet = replayed_pkt[i];\n+\t}\n+\n+\tret = test_ipsec_proto_process(td_inb, NULL, nb_pkts, true,\n+\t\t\t\t       &flags);\n+\n+\treturn ret;\n+}\n+\n+static int\n+test_ipsec_proto_pkt_antireplay(const void *test_data, uint64_t winsz)\n+{\n+\n+\tuint32_t nb_pkts = 5;\n+\tbool replayed_pkt[5];\n+\tuint64_t esn[5];\n+\n+\t/* 1. Advance the TOP of the window to WS * 2 */\n+\tesn[0] = winsz * 2;\n+\t/* 2. Test sequence number within the new window(WS + 1) */\n+\tesn[1] = winsz + 1;\n+\t/* 3. Test sequence number less than the window BOTTOM */\n+\tesn[2] = winsz;\n+\t/* 4. Test sequence number in the middle of the window */\n+\tesn[3] = winsz + (winsz / 2);\n+\t/* 5. Test replay of the packet in the middle of the window */\n+\tesn[4] = winsz + (winsz / 2);\n+\n+\treplayed_pkt[0] = false;\n+\treplayed_pkt[1] = false;\n+\treplayed_pkt[2] = true;\n+\treplayed_pkt[3] = false;\n+\treplayed_pkt[4] = true;\n+\n+\treturn test_ipsec_pkt_replay(test_data, esn, replayed_pkt, nb_pkts,\n+\t\t\t\t     false, winsz);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_antireplay1024(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_antireplay(test_data, 1024);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_antireplay2048(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_antireplay(test_data, 2048);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_antireplay4096(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_antireplay(test_data, 4096);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_esn_antireplay(const void *test_data, uint64_t winsz)\n+{\n+\n+\tuint32_t nb_pkts = 7;\n+\tbool replayed_pkt[7];\n+\tuint64_t esn[7];\n+\n+\t/* Set the initial sequence number */\n+\tesn[0] = (uint64_t)(0xFFFFFFFF - winsz);\n+\t/* 1. Advance the TOP of the window to (1<<32 + WS/2) */\n+\tesn[1] = (uint64_t)((1UL << 32) + (winsz / 2));\n+\t/* 2. Test sequence number within new window (1<<32 + WS/2 + 1) */\n+\tesn[2] = (uint64_t)((1UL << 32) - (winsz / 2) + 1);\n+\t/* 3. Test with sequence number within window (1<<32 - 1) */\n+\tesn[3] = (uint64_t)((1UL << 32) - 1);\n+\t/* 4. Test with sequence number within window (1<<32 - 1) */\n+\tesn[4] = (uint64_t)(1UL << 32);\n+\t/* 5. Test with duplicate sequence number within\n+\t * new window (1<<32 - 1)\n+\t */\n+\tesn[5] = (uint64_t)((1UL << 32) - 1);\n+\t/* 6. Test with duplicate sequence number within new window (1<<32) */\n+\tesn[6] = (uint64_t)(1UL << 32);\n+\n+\treplayed_pkt[0] = false;\n+\treplayed_pkt[1] = false;\n+\treplayed_pkt[2] = false;\n+\treplayed_pkt[3] = false;\n+\treplayed_pkt[4] = false;\n+\treplayed_pkt[5] = true;\n+\treplayed_pkt[6] = true;\n+\n+\treturn test_ipsec_pkt_replay(test_data, esn, replayed_pkt, nb_pkts,\n+\t\t\t\t     true, winsz);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_esn_antireplay1024(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_esn_antireplay(test_data, 1024);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_esn_antireplay2048(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_esn_antireplay(test_data, 2048);\n+}\n+\n+static int\n+test_ipsec_proto_pkt_esn_antireplay4096(const void *test_data)\n+{\n+\treturn test_ipsec_proto_pkt_esn_antireplay(test_data, 4096);\n+}\n+\n static int\n test_PDCP_PROTO_all(void)\n {\n@@ -14965,6 +15122,33 @@ static struct unit_test_suite ipsec_proto_testsuite  = {\n \t\t\t\"Tunnel header IPv6 set DSCP 1 (inner 0)\",\n \t\t\tut_setup_security, ut_teardown,\n \t\t\ttest_ipsec_proto_ipv6_set_dscp_1_inner_0),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"Antireplay with window size 1024\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_antireplay1024, &pkt_aes_128_gcm),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"Antireplay with window size 2048\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_antireplay2048, &pkt_aes_128_gcm),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"Antireplay with window size 4096\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_antireplay4096, &pkt_aes_128_gcm),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"ESN and Antireplay with window size 1024\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_esn_antireplay1024,\n+\t\t\t&pkt_aes_128_gcm),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"ESN and Antireplay with window size 2048\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_esn_antireplay2048,\n+\t\t\t&pkt_aes_128_gcm),\n+\t\tTEST_CASE_NAMED_WITH_DATA(\n+\t\t\t\"ESN and Antireplay with window size 4096\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_pkt_esn_antireplay4096,\n+\t\t\t&pkt_aes_128_gcm),\n \t\tTEST_CASES_END() /**< NULL terminate unit test array */\n \t}\n };\ndiff --git a/app/test/test_cryptodev_security_ipsec.c b/app/test/test_cryptodev_security_ipsec.c\nindex 54f59c7f79..eb775eb08a 100644\n--- a/app/test/test_cryptodev_security_ipsec.c\n+++ b/app/test/test_cryptodev_security_ipsec.c\n@@ -176,6 +176,13 @@ test_ipsec_sec_caps_verify(struct rte_security_ipsec_xform *ipsec_xform,\n \t\treturn -ENOTSUP;\n \t}\n \n+\tif (ipsec_xform->replay_win_sz > sec_cap->ipsec.replay_win_sz_max) {\n+\t\tif (!silent)\n+\t\t\tRTE_LOG(INFO, USER1,\n+\t\t\t\t\"Replay window size is not supported\\n\");\n+\t\treturn -ENOTSUP;\n+\t}\n+\n \treturn 0;\n }\n \n@@ -654,7 +661,8 @@ test_ipsec_td_verify(struct rte_mbuf *m, const struct ipsec_test_data *td,\n \tif (td->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_INGRESS &&\n \t    (flags->icv_corrupt ||\n \t     flags->sa_expiry_pkts_hard ||\n-\t     flags->tunnel_hdr_verify))\n+\t     flags->tunnel_hdr_verify ||\n+\t     td->ar_packet))\n \t\treturn TEST_SUCCESS;\n \n \tif (td->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS &&\n@@ -921,13 +929,24 @@ test_ipsec_post_process(struct rte_mbuf *m, const struct ipsec_test_data *td,\n }\n \n int\n-test_ipsec_status_check(struct rte_crypto_op *op,\n+test_ipsec_status_check(const struct ipsec_test_data *td,\n+\t\t\tstruct rte_crypto_op *op,\n \t\t\tconst struct ipsec_test_flags *flags,\n \t\t\tenum rte_security_ipsec_sa_direction dir,\n \t\t\tint pkt_num)\n {\n \tint ret = TEST_SUCCESS;\n \n+\tif ((dir == RTE_SECURITY_IPSEC_SA_DIR_INGRESS) &&\n+\t    td->ar_packet) {\n+\t\tif (op->status != RTE_CRYPTO_OP_STATUS_ERROR) {\n+\t\t\tprintf(\"Anti replay test case failed\\n\");\n+\t\t\treturn TEST_FAILED;\n+\t\t} else {\n+\t\t\treturn TEST_SUCCESS;\n+\t\t}\n+\t}\n+\n \tif (dir == RTE_SECURITY_IPSEC_SA_DIR_INGRESS &&\n \t    flags->sa_expiry_pkts_hard &&\n \t    pkt_num == IPSEC_TEST_PACKETS_MAX) {\ndiff --git a/app/test/test_cryptodev_security_ipsec.h b/app/test/test_cryptodev_security_ipsec.h\nindex c4ecfafca6..a15c1d3015 100644\n--- a/app/test/test_cryptodev_security_ipsec.h\n+++ b/app/test/test_cryptodev_security_ipsec.h\n@@ -40,6 +40,8 @@ struct ipsec_test_data {\n \tstruct rte_security_ipsec_xform ipsec_xform;\n \n \tbool aead;\n+\t/* Antireplay packet */\n+\tbool ar_packet;\n \n \tunion {\n \t\tstruct {\n@@ -82,6 +84,7 @@ struct ipsec_test_flags {\n \tbool transport;\n \tbool fragment;\n \tbool stats_success;\n+\tbool antireplay;\n \tenum df_flags df;\n \tenum dscp_flags dscp;\n };\n@@ -234,7 +237,8 @@ int test_ipsec_post_process(struct rte_mbuf *m,\n \t\t\t    struct ipsec_test_data *res_d, bool silent,\n \t\t\t    const struct ipsec_test_flags *flags);\n \n-int test_ipsec_status_check(struct rte_crypto_op *op,\n+int test_ipsec_status_check(const struct ipsec_test_data *td,\n+\t\t\t    struct rte_crypto_op *op,\n \t\t\t    const struct ipsec_test_flags *flags,\n \t\t\t    enum rte_security_ipsec_sa_direction dir,\n \t\t\t    int pkt_num);\ndiff --git a/app/test/test_cryptodev_security_ipsec_test_vectors.h b/app/test/test_cryptodev_security_ipsec_test_vectors.h\nindex 85cd6c51a8..fe2fd855df 100644\n--- a/app/test/test_cryptodev_security_ipsec_test_vectors.h\n+++ b/app/test/test_cryptodev_security_ipsec_test_vectors.h\n@@ -102,6 +102,7 @@ struct ipsec_test_data pkt_aes_128_gcm = {\n \t\t.mode = RTE_SECURITY_IPSEC_SA_MODE_TUNNEL,\n \t\t.tunnel.type = RTE_SECURITY_IPSEC_TUNNEL_IPV4,\n \t\t.replay_win_sz = 0,\n+\t\t.esn.low = 1,\n \t},\n \n \t.aead = true,\ndiff --git a/doc/guides/rel_notes/release_22_03.rst b/doc/guides/rel_notes/release_22_03.rst\nindex 3bc0630c7c..60598432c3 100644\n--- a/doc/guides/rel_notes/release_22_03.rst\n+++ b/doc/guides/rel_notes/release_22_03.rst\n@@ -69,6 +69,11 @@ New Features\n \n   The new API ``rte_event_eth_rx_adapter_event_port_get()`` was added.\n \n+* **Updated lookaside protocol (IPsec) tests in dpdk-test.**\n+\n+  * Added test cases to verify copy and set DSCP with IPv4 and IPv6 tunnels.\n+  * Added ESN and anti-replay support.\n+\n \n Removed Items\n -------------\n",
    "prefixes": [
        "2/2"
    ]
}