get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 99659,
    "url": "https://patches.dpdk.org/api/patches/99659/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1632584132-289-6-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-6-git-send-email-anoobj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1632584132-289-6-git-send-email-anoobj@marvell.com",
    "date": "2021-09-25T15:35:32",
    "name": "[v5,5/5] test/crypto: add UDP encapsulated IPsec test cases",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "82b5b1996ec5de591f76a9e7f798c771138c5493",
    "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-6-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/99659/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/99659/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 CD75DA0C45;\n\tSat, 25 Sep 2021 17:36:43 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3F93A410F6;\n\tSat, 25 Sep 2021 17:36:35 +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 EB6B540DFD\n for <dev@dpdk.org>; Sat, 25 Sep 2021 17:36:32 +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 18PEvYuk023188;\n Sat, 25 Sep 2021 08:36:32 -0700",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0b-0016f401.pphosted.com with ESMTP id 3ba39m8d8g-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Sat, 25 Sep 2021 08:36:32 -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:30 -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:30 -0700",
            "from HY-LT1002.marvell.com (HY-LT1002.marvell.com [10.28.176.218])\n by maili.marvell.com (Postfix) with ESMTP id 8B6213F7077;\n Sat, 25 Sep 2021 08:36:26 -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=c1rPCkKjzOVvVl+/Um/r7sqlYfpe7v6utT256dlOQdc=;\n b=g8d7L9FhB1z5OQwfWRaOjV2hU3zUOfkysAd40TdwtZ5PKbGvaLGso9mK5P/U68ElUFxK\n Ru7EW/mTScMLiGaPuZW0F6hrLHHJW9Fdxc1h/vzUWJwVnAYsguMBcuqdUC6o5rlcKI9b\n 6miWRQRAhRiHa7B3eJGEGDZweUeHWEVESjuMtVHczaDMnuBAU7Rw4GvAhhTLWkYGTHjW\n 4uGNsbvmiGmsAUj4h47gpMCHfklrRaivxDs/zd7B8Hmfm7A57ceUunOUUWldioTUU/A1\n 7mik1Z6aLcGUUMQFR1lyrfK7xZ5gqqu13Cl9jPzo79YE+ynsCKSb68OP5JpvHMNZOzFK lw==",
        "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:32 +0530",
        "Message-ID": "<1632584132-289-6-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": "E4obpIlQd9HppQaWt7jq98l00rYY2nrh",
        "X-Proofpoint-ORIG-GUID": "E4obpIlQd9HppQaWt7jq98l00rYY2nrh",
        "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 5/5] test/crypto: add UDP encapsulated IPsec\n test cases",
        "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 tests to verify UDP encapsulation with IPsec. The tests have IPsec\npackets generated from plain packets and verifies that UDP header is\nadded. Subsequently, the packets are decapsulated and then resultant\npacket is verified by comparing against original packet.\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>\n\n---\n app/test/test_cryptodev.c                | 19 +++++++++++++++++++\n app/test/test_cryptodev_security_ipsec.c | 28 ++++++++++++++++++++++++++++\n app/test/test_cryptodev_security_ipsec.h |  1 +\n doc/guides/rel_notes/release_21_11.rst   |  1 +\n 4 files changed, 49 insertions(+)",
    "diff": "diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c\nindex 956541e..bc2490b 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -8946,6 +8946,9 @@ test_ipsec_proto_process(const struct ipsec_test_data td[],\n \tsec_cap_idx.ipsec.mode = ipsec_xform.mode;\n \tsec_cap_idx.ipsec.direction = ipsec_xform.direction;\n \n+\tif (flags->udp_encap)\n+\t\tipsec_xform.options.udp_encap = 1;\n+\n \tsec_cap = rte_security_capability_get(ctx, &sec_cap_idx);\n \tif (sec_cap == NULL)\n \t\treturn TEST_SKIPPED;\n@@ -9157,6 +9160,18 @@ test_ipsec_proto_err_icv_corrupt(const void *data __rte_unused)\n }\n \n static int\n+test_ipsec_proto_udp_encap(const void *data __rte_unused)\n+{\n+\tstruct ipsec_test_flags flags;\n+\n+\tmemset(&flags, 0, sizeof(flags));\n+\n+\tflags.udp_encap = 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@@ -14073,6 +14088,10 @@ static struct unit_test_suite ipsec_proto_testsuite  = {\n \t\t\tut_setup_security, ut_teardown,\n \t\t\ttest_ipsec_proto_iv_gen),\n \t\tTEST_CASE_NAMED_ST(\n+\t\t\t\"UDP encapsulation\",\n+\t\t\tut_setup_security, ut_teardown,\n+\t\t\ttest_ipsec_proto_udp_encap),\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),\ndiff --git a/app/test/test_cryptodev_security_ipsec.c b/app/test/test_cryptodev_security_ipsec.c\nindex 78c7f3a..5b54996 100644\n--- a/app/test/test_cryptodev_security_ipsec.c\n+++ b/app/test/test_cryptodev_security_ipsec.c\n@@ -7,6 +7,7 @@\n #include <rte_esp.h>\n #include <rte_ip.h>\n #include <rte_security.h>\n+#include <rte_udp.h>\n \n #include \"test.h\"\n #include \"test_cryptodev_security_ipsec.h\"\n@@ -183,6 +184,9 @@ test_ipsec_td_update(struct ipsec_test_data td_inb[],\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+\n+\t\tif (flags->udp_encap)\n+\t\t\ttd_inb[i].ipsec_xform.options.udp_encap = 1;\n \t}\n }\n \n@@ -268,6 +272,30 @@ test_ipsec_td_verify(struct rte_mbuf *m, const struct ipsec_test_data *td,\n \t    td->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_INGRESS)\n \t\treturn TEST_SUCCESS;\n \n+\tif (td->ipsec_xform.direction == RTE_SECURITY_IPSEC_SA_DIR_EGRESS &&\n+\t   flags->udp_encap) {\n+\t\tconst struct rte_ipv4_hdr *iph4;\n+\t\tconst struct rte_ipv6_hdr *iph6;\n+\n+\t\tif (td->ipsec_xform.tunnel.type ==\n+\t\t\t\tRTE_SECURITY_IPSEC_TUNNEL_IPV4) {\n+\t\t\tiph4 = (const struct rte_ipv4_hdr *)output_text;\n+\t\t\tif (iph4->next_proto_id != IPPROTO_UDP) {\n+\t\t\t\tprintf(\"UDP header is not found\\n\");\n+\t\t\t\treturn TEST_FAILED;\n+\t\t\t}\n+\t\t} else {\n+\t\t\tiph6 = (const struct rte_ipv6_hdr *)output_text;\n+\t\t\tif (iph6->proto != IPPROTO_UDP) {\n+\t\t\t\tprintf(\"UDP header is not found\\n\");\n+\t\t\t\treturn TEST_FAILED;\n+\t\t\t}\n+\t\t}\n+\n+\t\tlen -= sizeof(struct rte_udp_hdr);\n+\t\toutput_text += sizeof(struct rte_udp_hdr);\n+\t}\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);\ndiff --git a/app/test/test_cryptodev_security_ipsec.h b/app/test/test_cryptodev_security_ipsec.h\nindex d2ec63f..e1645f4 100644\n--- a/app/test/test_cryptodev_security_ipsec.h\n+++ b/app/test/test_cryptodev_security_ipsec.h\n@@ -51,6 +51,7 @@ struct ipsec_test_flags {\n \tbool display_alg;\n \tbool icv_corrupt;\n \tbool iv_gen;\n+\tbool udp_encap;\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 cda0a92..30c9ccf 100644\n--- a/doc/guides/rel_notes/release_21_11.rst\n+++ b/doc/guides/rel_notes/release_21_11.rst\n@@ -92,6 +92,7 @@ New Features\n   * Added known vector tests (AES-GCM 128, 192, 256).\n   * Added tests to verify error reporting with ICV corruption.\n   * Added tests to verify IV generation.\n+  * Added tests to verify UDP encapsulation.\n \n \n Removed Items\n",
    "prefixes": [
        "v5",
        "5/5"
    ]
}