get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 137976,
    "url": "http://patchwork.dpdk.org/api/patches/137976/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20240305072213.283205-16-asasidharan@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": "<20240305072213.283205-16-asasidharan@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240305072213.283205-16-asasidharan@marvell.com",
    "date": "2024-03-05T07:22:07",
    "name": "[15/21] test/crypto: update framework to verify tls-1.3",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d5158f9abb277c55bd49da72f437a54bd822617f",
    "submitter": {
        "id": 2800,
        "url": "http://patchwork.dpdk.org/api/people/2800/?format=api",
        "name": "Aakash Sasidharan",
        "email": "asasidharan@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/20240305072213.283205-16-asasidharan@marvell.com/mbox/",
    "series": [
        {
            "id": 31370,
            "url": "http://patchwork.dpdk.org/api/series/31370/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31370",
            "date": "2024-03-05T07:21:52",
            "name": "Improvements and new test cases",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/31370/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/137976/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/137976/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 0939C43C4C;\n\tTue,  5 Mar 2024 08:24:22 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E71D542E1D;\n\tTue,  5 Mar 2024 08:23:06 +0100 (CET)",
            "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174])\n by mails.dpdk.org (Postfix) with ESMTP id 096F742E1B\n for <dev@dpdk.org>; Tue,  5 Mar 2024 08:23:04 +0100 (CET)",
            "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id\n 4256j8IW026951; Mon, 4 Mar 2024 23:23:04 -0800",
            "from dc5-exch05.marvell.com ([199.233.59.128])\n by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3wnxdcr2vj-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Mon, 04 Mar 2024 23:23:04 -0800 (PST)",
            "from DC5-EXCH05.marvell.com (10.69.176.209) by\n DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.1258.12; Mon, 4 Mar 2024 23:23:03 -0800",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com\n (10.69.176.209) with Microsoft SMTP Server id 15.2.1258.12 via Frontend\n Transport; Mon, 4 Mar 2024 23:23:03 -0800",
            "from localhost.localdomain (unknown [10.28.36.177])\n by maili.marvell.com (Postfix) with ESMTP id 9799C3F7045;\n Mon,  4 Mar 2024 23:23:00 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=\n from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding:content-type; s=\n pfpt0220; bh=kNiQvZ2pZsi+UHGUlXL40rjlVwXHfHmjBKdR4o1k9ak=; b=L4T\n XOKzo/uh0Gred/Tq7ON9Tu7Oymizkr9ZFG69Lbg8EVQoADzt5ngpJuKcfBaftkrH\n Qy8y8rWOoTbrCWK/K+jehpk2BlfkUXrIOgwo+LpuQ5zby54y5c40oEUG6MkIRY9B\n 6o8s4EUf7OmRHIJy7ONUfj5c+dIuZ11g5UNixJhE+Jd009hOpfOJtNKH4lOk9zQn\n t7a02tQMzClXv8Mx7fik0NVAkWXSxSh75AmwrwgR/JfIab08FalXqcUhF1dXxe65\n 0x7gHMKZmkU7DrVTCPuw+dEcfRiWRSBng/JZGzKUwa2WwSgCqVS9l+oilnNZ3i7g\n bpSdwxLdSwpYU3mmcKQ==",
        "From": "Aakash Sasidharan <asasidharan@marvell.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Fan Zhang <fanzhang.oss@gmail.com>",
        "CC": "<jerinj@marvell.com>, <anoobj@marvell.com>, <vvelumuri@marvell.com>,\n <asasidharan@marvell.com>, <dev@dpdk.org>",
        "Subject": "[PATCH 15/21] test/crypto: update framework to verify tls-1.3",
        "Date": "Tue, 5 Mar 2024 12:52:07 +0530",
        "Message-ID": "<20240305072213.283205-16-asasidharan@marvell.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20240305072213.283205-1-asasidharan@marvell.com>",
        "References": "<20240305072213.283205-1-asasidharan@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "7HAnIjPxWALtOevXBKVqDnk_7Y5sA5Up",
        "X-Proofpoint-GUID": "7HAnIjPxWALtOevXBKVqDnk_7Y5sA5Up",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26\n definitions=2024-03-05_04,2024-03-04_01,2023-05-22_02",
        "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": "From: Vidya Sagar Velumuri <vvelumuri@marvell.com>\n\nUpdate the fields in preparation of test descriptor.\n\nSigned-off-by: Vidya Sagar Velumuri <vvelumuri@marvell.com>\n---\n app/test/test_cryptodev.c                     | 17 +++++---\n app/test/test_cryptodev_security_tls_record.c | 43 ++++++++++++-------\n app/test/test_cryptodev_security_tls_record.h | 10 ++---\n 3 files changed, 43 insertions(+), 27 deletions(-)",
    "diff": "diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c\nindex 70375cc6fa..edcd67dabf 100644\n--- a/app/test/test_cryptodev.c\n+++ b/app/test/test_cryptodev.c\n@@ -11889,8 +11889,9 @@ test_tls_record_proto_process(const struct tls_record_test_data td[],\n \t\tut_params->op->param1.tls_record.content_type = td[i].app_type;\n \n \t\t/* Copy IV in crypto operation when IV generation is disabled */\n-\t\tif (sess_type == RTE_SECURITY_TLS_SESS_TYPE_WRITE &&\n-\t\t    tls_record_xform.options.iv_gen_disable == 1) {\n+\t\tif ((sess_type == RTE_SECURITY_TLS_SESS_TYPE_WRITE) &&\n+\t\t    (tls_record_xform.ver != RTE_SECURITY_VERSION_TLS_1_3) &&\n+\t\t    (tls_record_xform.options.iv_gen_disable == 1)) {\n \t\t\tuint8_t *iv;\n \t\t\tint len;\n \n@@ -12005,8 +12006,10 @@ test_tls_record_proto_all(const struct tls_record_test_flags *flags)\n \t\tif (flags->zero_len)\n \t\t\tpayload_len = 0;\n again:\n-\t\ttest_tls_record_td_prepare(sec_alg_list[i].param1, sec_alg_list[i].param2, flags,\n-\t\t\t\t\t   td_outb, nb_pkts, payload_len);\n+\t\tret = test_tls_record_td_prepare(sec_alg_list[i].param1, sec_alg_list[i].param2,\n+\t\t\t\t\t\t flags, td_outb, nb_pkts, payload_len);\n+\t\tif (ret == TEST_SKIPPED)\n+\t\t\tcontinue;\n \n \t\tret = test_tls_record_proto_process(td_outb, td_inb, nb_pkts, true, flags);\n \t\tif (ret == TEST_SKIPPED)\n@@ -12218,8 +12221,10 @@ test_dtls_pkt_replay(const uint64_t seq_no[],\n \tint ret;\n \n \tfor (i = 0; i < RTE_DIM(sec_alg_list); i++) {\n-\t\ttest_tls_record_td_prepare(sec_alg_list[i].param1, sec_alg_list[i].param2, flags,\n-\t\t\t\t\t   td_outb, nb_pkts, 0);\n+\t\tret = test_tls_record_td_prepare(sec_alg_list[i].param1, sec_alg_list[i].param2,\n+\t\t\t\t\t\t flags, td_outb, nb_pkts, 0);\n+\t\tif (ret == TEST_SKIPPED)\n+\t\t\tcontinue;\n \n \t\tfor (idx = 0; idx < nb_pkts; idx++)\n \t\t\ttd_outb[idx].tls_record_xform.dtls_1_2.seq_no = seq_no[idx];\ndiff --git a/app/test/test_cryptodev_security_tls_record.c b/app/test/test_cryptodev_security_tls_record.c\nindex 498c4923e0..96d0a94731 100644\n--- a/app/test/test_cryptodev_security_tls_record.c\n+++ b/app/test/test_cryptodev_security_tls_record.c\n@@ -70,7 +70,7 @@ test_tls_record_td_read_from_write(const struct tls_record_test_data *td_out,\n \t}\n }\n \n-void\n+int\n test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypto_param *param2,\n \t\t\t   const struct tls_record_test_flags *flags,\n \t\t\t   struct tls_record_test_data *td_array,\n@@ -79,6 +79,10 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt\n \tint i, min_padding, hdr_len, tls_pkt_size, mac_len = 0, exp_nonce_len = 0, roundup_len = 0;\n \tstruct tls_record_test_data *td = NULL;\n \n+\tif ((flags->tls_version == RTE_SECURITY_VERSION_TLS_1_3) &&\n+\t    (param1->type != RTE_CRYPTO_SYM_XFORM_AEAD))\n+\t\treturn TEST_SKIPPED;\n+\n \tmemset(td_array, 0, nb_td * sizeof(*td));\n \n \tfor (i = 0; i < nb_td; i++) {\n@@ -88,10 +92,17 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt\n \n \t\tif (param1->type == RTE_CRYPTO_SYM_XFORM_AEAD) {\n \t\t\t/* Copy template for packet & key fields */\n-\t\t\tif (flags->tls_version == RTE_SECURITY_VERSION_DTLS_1_2)\n-\t\t\t\tmemcpy(td, &dtls_test_data_aes_128_gcm, sizeof(*td));\n-\t\t\telse\n+\t\t\tswitch (flags->tls_version) {\n+\t\t\tcase RTE_SECURITY_VERSION_TLS_1_2:\n \t\t\t\tmemcpy(td, &tls_test_data_aes_128_gcm_v1, sizeof(*td));\n+\t\t\t\tbreak;\n+\t\t\tcase RTE_SECURITY_VERSION_DTLS_1_2:\n+\t\t\t\tmemcpy(td, &dtls_test_data_aes_128_gcm, sizeof(*td));\n+\t\t\t\tbreak;\n+\t\t\tcase RTE_SECURITY_VERSION_TLS_1_3:\n+\t\t\t\tmemcpy(td, &tls13_test_data_aes_128_gcm, sizeof(*td));\n+\t\t\t\tbreak;\n+\t\t\t}\n \n \t\t\ttd->aead = true;\n \t\t\ttd->xform.aead.aead.algo = param1->alg.aead;\n@@ -127,6 +138,7 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt\n \n \t\tif (!td->aead) {\n \t\t\tmac_len = td->xform.chain.auth.auth.digest_length;\n+\t\t\tmin_padding = 1;\n \t\t\tswitch (td->xform.chain.cipher.cipher.algo) {\n \t\t\tcase RTE_CRYPTO_CIPHER_3DES_CBC:\n \t\t\t\troundup_len = 8;\n@@ -143,30 +155,28 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt\n \t\t\t}\n \t\t} else {\n \t\t\tmac_len = td->xform.aead.aead.digest_length;\n+\t\t\tmin_padding = 0;\n \t\t\troundup_len = 0;\n-\t\t\texp_nonce_len = 8;\n+\t\t\tif (td->tls_record_xform.ver == RTE_SECURITY_VERSION_TLS_1_3)\n+\t\t\t\texp_nonce_len = 0;\n+\t\t\telse\n+\t\t\t\texp_nonce_len = 8;\n \t\t}\n \n \t\tswitch (td->tls_record_xform.ver) {\n \t\tcase RTE_SECURITY_VERSION_TLS_1_2:\n+\t\t\thdr_len = sizeof(struct rte_tls_hdr);\n+\t\t\tbreak;\n \t\tcase RTE_SECURITY_VERSION_TLS_1_3:\n \t\t\thdr_len = sizeof(struct rte_tls_hdr);\n-\t\t\tif (td->aead)\n-\t\t\t\tmin_padding = 0;\n-\t\t\telse\n-\t\t\t\tmin_padding = 1;\n+\t\t\t/* Add 1 byte for content type in packet */\n+\t\t\ttls_pkt_size += 1;\n \t\t\tbreak;\n \t\tcase RTE_SECURITY_VERSION_DTLS_1_2:\n \t\t\thdr_len = sizeof(struct rte_dtls_hdr);\n-\t\t\tif (td->aead)\n-\t\t\t\tmin_padding = 0;\n-\t\t\telse\n-\t\t\t\tmin_padding = 1;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\thdr_len = 0;\n-\t\t\tmin_padding = 0;\n-\t\t\tbreak;\n+\t\t\treturn TEST_SKIPPED;\n \t\t}\n \n \t\ttls_pkt_size += mac_len;\n@@ -186,6 +196,7 @@ test_tls_record_td_prepare(const struct crypto_param *param1, const struct crypt\n \t\ttd->output_text.len = tls_pkt_size;\n \n \t}\n+\treturn TEST_SUCCESS;\n }\n \n void\ndiff --git a/app/test/test_cryptodev_security_tls_record.h b/app/test/test_cryptodev_security_tls_record.h\nindex 05bd7a9862..21d25c02bf 100644\n--- a/app/test/test_cryptodev_security_tls_record.h\n+++ b/app/test/test_cryptodev_security_tls_record.h\n@@ -137,11 +137,11 @@ int test_tls_record_sec_caps_verify(struct rte_security_tls_record_xform *tls_re\n void test_tls_record_td_read_from_write(const struct tls_record_test_data *td_out,\n \t\t\t\t\tstruct tls_record_test_data *td_in);\n \n-void test_tls_record_td_prepare(const struct crypto_param *param1,\n-\t\t\t\tconst struct crypto_param *param2,\n-\t\t\t\tconst struct tls_record_test_flags *flags,\n-\t\t\t\tstruct tls_record_test_data *td_array, int nb_td,\n-\t\t\t\tunsigned int data_len);\n+int test_tls_record_td_prepare(const struct crypto_param *param1,\n+\t\t\t       const struct crypto_param *param2,\n+\t\t\t       const struct tls_record_test_flags *flags,\n+\t\t\t       struct tls_record_test_data *td_array, int nb_td,\n+\t\t\t       unsigned int data_len);\n \n void test_tls_record_td_update(struct tls_record_test_data td_inb[],\n \t\t\t       const struct tls_record_test_data td_outb[], int nb_td,\n",
    "prefixes": [
        "15/21"
    ]
}