get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 99657,
    "url": "https://patches.dpdk.org/api/patches/99657/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1632584132-289-4-git-send-email-anoobj@marvell.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1632584132-289-4-git-send-email-anoobj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1632584132-289-4-git-send-email-anoobj@marvell.com",
    "date": "2021-09-25T15:35:30",
    "name": "[v5,3/5] test/crypto: add lookaside IPsec ICV corrupt test case",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "3cfeed7a37dad98d8e91cab1672edf630d963a89",
    "submitter": {
        "id": 1205,
        "url": "https://patches.dpdk.org/api/people/1205/?format=api",
        "name": "Anoob Joseph",
        "email": "anoobj@marvell.com"
    },
    "delegate": {
        "id": 6690,
        "url": "https://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1632584132-289-4-git-send-email-anoobj@marvell.com/mbox/",
    "series": [
        {
            "id": 19157,
            "url": "https://patches.dpdk.org/api/series/19157/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=19157",
            "date": "2021-09-25T15:35:27",
            "name": "Add lookaside IPsec tests",
            "version": 5,
            "mbox": "https://patches.dpdk.org/series/19157/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/99657/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/99657/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 DB00FA0C45;\n\tSat, 25 Sep 2021 17:36:29 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8E6284014D;\n\tSat, 25 Sep 2021 17:36:23 +0200 (CEST)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173])\n by mails.dpdk.org (Postfix) with ESMTP id 64E4B4003C\n for <dev@dpdk.org>; Sat, 25 Sep 2021 17:36:22 +0200 (CEST)",
            "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 SMTP id\n 18PDJmgh002792;\n Sat, 25 Sep 2021 08:36:21 -0700",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0b-0016f401.pphosted.com with ESMTP id 3ba39m8d7m-5\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Sat, 25 Sep 2021 08:36:21 -0700",
            "from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.18;\n Sat, 25 Sep 2021 08:36:20 -0700",
            "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; Sat, 25 Sep 2021 08:36:20 -0700",
            "from HY-LT1002.marvell.com (HY-LT1002.marvell.com [10.28.176.218])\n by maili.marvell.com (Postfix) with ESMTP id 27DFA3F7091;\n Sat, 25 Sep 2021 08:36:15 -0700 (PDT)"
        ],
        "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=wYKKFEG59IJzirLScZ0ogqsND207vcQbikzAk/BB4P4=;\n b=XFUDdUwJx2l/ry3FtQMl/e0/BJx8LUExYL0zZqMapNInJn/NTbLBGE9ThbYqh0kZnu58\n x8eoXZ+bI8cXyvusTKfsg4tQsje1yGf221zK0RrIfvchspTUhvGQ6Pb7IORQTb17ksuH\n SWONoIiFoMbZND+0IFRUPrryqmnXVpcyt7XBGeoI/lcHUk1TEdDDaOB1I68yIGiZmgkY\n Y/OkJTqZHa6zXSWv9jofLDcLtIZdt0HlSS8Z8e7Gmq1DpR1wk1G+yYxQeoFkce7ZZzXj\n tBkB2IwcyUzmtJWCNRMGOq7ncvrEsek7A6kWI3W+QdWKwlF1f8ofuL4gqxS/7XnIHyBd 5Q==",
        "From": "Anoob Joseph <anoobj@marvell.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Declan Doherty\n <declan.doherty@intel.com>, Fan Zhang <roy.fan.zhang@intel.com>,\n \"Konstantin Ananyev\" <konstantin.ananyev@intel.com>",
        "CC": "Tejasree Kondoj <ktejasree@marvell.com>, Jerin Jacob <jerinj@marvell.com>,\n Archana Muniganti <marchana@marvell.com>, Hemant Agrawal\n <hemant.agrawal@nxp.com>, Radu Nicolau <radu.nicolau@intel.com>,\n Ciara Power <ciara.power@intel.com>,\n Gagandeep Singh <g.singh@nxp.com>, <dev@dpdk.org>,\n Anoob Joseph <anoobj@marvell.com>",
        "Date": "Sat, 25 Sep 2021 21:05:30 +0530",
        "Message-ID": "<1632584132-289-4-git-send-email-anoobj@marvell.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1632584132-289-1-git-send-email-anoobj@marvell.com>",
        "References": "<1631884523-836-1-git-send-email-anoobj@marvell.com>\n <1632584132-289-1-git-send-email-anoobj@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-GUID": "yrpQF_ljHYCw9nx20lvrcry6uQUS7mMU",
        "X-Proofpoint-ORIG-GUID": "yrpQF_ljHYCw9nx20lvrcry6uQUS7mMU",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475\n definitions=2021-09-25_05,2021-09-24_02,2020-04-07_01",
        "Subject": "[dpdk-dev] [PATCH v5 3/5] test/crypto: add lookaside IPsec ICV\n corrupt test case",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Tejasree Kondoj <ktejasree@marvell.com>\n\nAdd negative test to validate IPsec inbound processing failure with ICV\ncorruption. The tests would first do IPsec encapsulation and corrupt\nICV of the generated IPsec packet. Then the packet is submitted to IPsec\noutbound processing for decapsulation. Test case would validate that PMD\nreturns an error in such cases.\n\nSigned-off-by: Anoob Joseph <anoobj@marvell.com>\nSigned-off-by: Tejasree Kondoj <ktejasree@marvell.com>\nAcked-by: Akhil Goyal <gakhil@marvell.com>\nAcked-by: Ciara Power <ciara.power@intel.com>\nAcked-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n app/test/test_cryptodev.c                | 16 ++++++++++++++++\n app/test/test_cryptodev_security_ipsec.c | 30 ++++++++++++++++++++----------\n app/test/test_cryptodev_security_ipsec.h |  1 +\n doc/guides/rel_notes/release_21_11.rst   |  1 +\n 4 files changed, 38 insertions(+), 10 deletions(-)",
    "diff": "diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c\nindex 3eacc66..bfaca1d 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -9130,6 +9130,18 @@ test_ipsec_proto_display_list(const void *data __rte_unused)\n }\n \n static int\n+test_ipsec_proto_err_icv_corrupt(const void *data __rte_unused)\n+{\n+\tstruct ipsec_test_flags flags;\n+\n+\tmemset(&flags, 0, sizeof(flags));\n+\n+\tflags.icv_corrupt = true;\n+\n+\treturn test_ipsec_proto_all(&flags);\n+}\n+\n+static int\n test_PDCP_PROTO_all(void)\n {\n \tstruct crypto_testsuite_params *ts_params = &testsuite_params;\n@@ -14041,6 +14053,10 @@ static struct unit_test_suite ipsec_proto_testsuite  = {\n \t\t\t\"Combined test alg list\",\n \t\t\tut_setup_security, ut_teardown,\n \t\t\ttest_ipsec_proto_display_list),\n+\t\tTEST_CASE_NAMED_ST(\n+\t\t\t\"Negative test: ICV corruption\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_err_icv_corrupt),\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 d08e093..aebbe66 100644\n--- a/app/test/test_cryptodev_security_ipsec.c\n+++ b/app/test/test_cryptodev_security_ipsec.c\n@@ -175,9 +175,12 @@ test_ipsec_td_update(struct ipsec_test_data td_inb[],\n \t\tmemcpy(td_inb[i].output_text.data, td_outb[i].input_text.data,\n \t\t       td_outb[i].input_text.len);\n \t\ttd_inb[i].output_text.len = td_outb->input_text.len;\n-\t}\n \n-\tRTE_SET_USED(flags);\n+\t\tif (flags->icv_corrupt) {\n+\t\t\tint icv_pos = td_inb[i].input_text.len - 4;\n+\t\t\ttd_inb[i].input_text.data[icv_pos] += 1;\n+\t\t}\n+\t}\n }\n \n void\n@@ -217,6 +220,11 @@ test_ipsec_td_verify(struct rte_mbuf *m, const struct ipsec_test_data *td,\n \tuint8_t *output_text = rte_pktmbuf_mtod(m, uint8_t *);\n \tuint32_t skip, len = rte_pktmbuf_pkt_len(m);\n \n+\t/* For negative tests, no need to do verification */\n+\tif (flags->icv_corrupt &&\n+\t    td->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_INGRESS)\n+\t\treturn TEST_SUCCESS;\n+\n \tif (len != td->output_text.len) {\n \t\tprintf(\"Output length (%d) not matching with expected (%d)\\n\",\n \t\t\tlen, td->output_text.len);\n@@ -241,8 +249,6 @@ test_ipsec_td_verify(struct rte_mbuf *m, const struct ipsec_test_data *td,\n \t\treturn TEST_FAILED;\n \t}\n \n-\tRTE_SET_USED(flags);\n-\n \treturn TEST_SUCCESS;\n }\n \n@@ -299,13 +305,17 @@ test_ipsec_status_check(struct rte_crypto_op *op,\n {\n \tint ret = TEST_SUCCESS;\n \n-\tif (op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {\n-\t\tprintf(\"Security op processing failed\\n\");\n-\t\tret = TEST_FAILED;\n+\tif (dir == RTE_SECURITY_IPSEC_SA_DIR_INGRESS && flags->icv_corrupt) {\n+\t\tif (op->status != RTE_CRYPTO_OP_STATUS_ERROR) {\n+\t\t\tprintf(\"ICV corruption test case failed\\n\");\n+\t\t\tret = TEST_FAILED;\n+\t\t}\n+\t} else {\n+\t\tif (op->status != RTE_CRYPTO_OP_STATUS_SUCCESS) {\n+\t\t\tprintf(\"Security op processing failed\\n\");\n+\t\t\tret = TEST_FAILED;\n+\t\t}\n \t}\n \n-\tRTE_SET_USED(flags);\n-\tRTE_SET_USED(dir);\n-\n \treturn ret;\n }\ndiff --git a/app/test/test_cryptodev_security_ipsec.h b/app/test/test_cryptodev_security_ipsec.h\nindex cbb3ee4..134fc3a 100644\n--- a/app/test/test_cryptodev_security_ipsec.h\n+++ b/app/test/test_cryptodev_security_ipsec.h\n@@ -49,6 +49,7 @@ struct ipsec_test_data {\n \n struct ipsec_test_flags {\n \tbool display_alg;\n+\tbool icv_corrupt;\n };\n \n struct crypto_param {\ndiff --git a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst\nindex cf0277d..8fc5844 100644\n--- a/doc/guides/rel_notes/release_21_11.rst\n+++ b/doc/guides/rel_notes/release_21_11.rst\n@@ -90,6 +90,7 @@ New Features\n * **Added lookaside protocol (IPsec) tests in dpdk-test.**\n \n   * Added known vector tests (AES-GCM 128, 192, 256).\n+  * Added tests to verify error reporting with ICV corruption.\n \n \n Removed Items\n",
    "prefixes": [
        "v5",
        "3/5"
    ]
}