Show a cover letter.

GET /api/covers/464/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 464,
    "url": "http://patches.dpdk.org/api/covers/464/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20231207130216.140-1-anoobj@marvell.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": "<20231207130216.140-1-anoobj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231207130216.140-1-anoobj@marvell.com",
    "date": "2023-12-07T13:02:02",
    "name": "[00/14] Add TLS record test suite",
    "submitter": {
        "id": 1205,
        "url": "http://patches.dpdk.org/api/people/1205/?format=api",
        "name": "Anoob Joseph",
        "email": "anoobj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20231207130216.140-1-anoobj@marvell.com/mbox/",
    "series": [
        {
            "id": 30476,
            "url": "http://patches.dpdk.org/api/series/30476/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30476",
            "date": "2023-12-07T13:02:02",
            "name": "Add TLS record test suite",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/30476/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/464/comments/",
    "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 DC44F43699;\n\tThu,  7 Dec 2023 14:02:25 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6C15140295;\n\tThu,  7 Dec 2023 14:02:25 +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 0DE7B4025C\n for <dev@dpdk.org>; Thu,  7 Dec 2023 14:02:23 +0100 (CET)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id\n 3B79PGlU032068; Thu, 7 Dec 2023 05:02:23 -0800",
            "from dc5-exch01.marvell.com ([199.233.59.181])\n by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3uubdd8n3w-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Thu, 07 Dec 2023 05:02:22 -0800",
            "from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48;\n Thu, 7 Dec 2023 05:02:20 -0800",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend\n Transport; Thu, 7 Dec 2023 05:02:19 -0800",
            "from BG-LT92004.corp.innovium.com (unknown [10.28.163.189])\n by maili.marvell.com (Postfix) with ESMTP id 4CF3C3F70B2;\n Thu,  7 Dec 2023 05:02:17 -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 : mime-version : content-transfer-encoding :\n content-type; s=pfpt0220; bh=dTg/fQeVkeTUHRamaVC5AehS2Z5HtZyHAGt2Xy8pxe0=;\n b=ZkUbzqaeVh3PLkdxbnv8W+q0++hP/7mOnpKc/qPVKjCk6aImCyyR+uTnRgJTPBA4koVB\n C9/FJJyJOvCQIWvwbx/ua4+TtpITvcKuslPt7iSeXC0TAS6Y6sghEUn6W7IiO1Vfiuq9\n pKmAt6ivL/Gvq9M5jateDAfPQPl4qmvirh0sZK4XSzB8G34bZjSnUqyskF9iblG8JQ7F\n XMaQAVa4oMweWcNWKROXO8PM9kFcQgTfbBmj8f5Dhkb8PSkYxQeifOptggdZV1XnhyGA\n 63rPOyxuUQVZsrL/ephGiDR3bypvokkO2/5PHpYwW4tCGHbOy//ARPL3BHmSbNJE2fUL YQ==",
        "From": "Anoob Joseph <anoobj@marvell.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Jerin Jacob <jerinj@marvell.com>",
        "CC": "Harry van Haaren <harry.van.haaren@intel.com>, Hemant Agrawal\n <hemant.agrawal@nxp.com>, Konstantin Ananyev\n <konstantin.v.ananyev@yandex.ru>, <dev@dpdk.org>, Vidya Sagar Velumuri\n <vvelumuri@marvell.com>",
        "Subject": "[PATCH 00/14] Add TLS record test suite",
        "Date": "Thu, 7 Dec 2023 18:32:02 +0530",
        "Message-ID": "<20231207130216.140-1-anoobj@marvell.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "HtmsRZOR8bGTZtV75TcNoB11cjOZ6Kij",
        "X-Proofpoint-GUID": "HtmsRZOR8bGTZtV75TcNoB11cjOZ6Kij",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26\n definitions=2023-12-07_10,2023-12-07_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": "Add TLS record test suite in cryptodev autotest framework. The test\nsuite would run based on capabilities exposed by the cryptodev.\n\nThe test suite framework is similar to the framework used in case of\nIPsec tests. To avoid duplication of code, protocol independent code\nis moved to common files and the functions are renamed accordingly.\n\nTLS record test suite has known vector tests as well as combined mode\ntests. Known vector tests leverages vectors generated with kTLS and\ngnuTLS utilities. The test suite supports testing both operations (read\nor decrypt, write or encrypt) with a single vector. Write or encrypt\ntest would get skipped if cryptodev doesn't support disabling of IV\ngeneration. Combined mode tests are targetted at testing protocol\nfeatures with all combinations of cipher-authentication algorithms. \n\nCombined mode performs record write operation first and feeds that back\nto record read operation. Individual test cases may update the input to\nrecord write operation based on the test case and the test framework\nvalidates the output obtained (not complete text, but protocol specific\nfields such as TLS header). Once it is validated, the output will be\nsubmitted for record read operation which would give back the original\ndata. Currently this framework supports testing of multi-segmented mbuf\nas input with TLS record. The same would be enhanced to support more\ncases such as ICV corruption, incorrect padding etc.\n\nEnhancements planned for future,\n- Add TLS 1.3 suite\n- Add negative tests such as ICV corruption and incorrect padding\n- Add session expiry tests\n- Add anti-replay tests with DTLS\n\n Sample output with crypto_cn10k:\n\n + ------------------------------------------------------- +                                                                                [67/18944]\n + ------------------------------------------------------- +\n + Test Suite : TLS 1.2 Record Protocol Unit Test Suite\n + ------------------------------------------------------- +\n + TestCase [ 0] : Write record known vector AES-GCM-128 (vector 1) succeeded\n + TestCase [ 1] : Write record known vector AES-GCM-128 (vector 2) succeeded\n + TestCase [ 2] : Write record known vector AES-GCM-256 succeeded\n + TestCase [ 3] : Write record known vector AES-CBC-128-SHA1 succeeded\n + TestCase [ 4] : Write record known vector AES-128-CBC-SHA256 succeeded\n + TestCase [ 5] : Write record known vector AES-256-CBC-SHA1 succeeded\n + TestCase [ 6] : Write record known vector AES-256-CBC-SHA256 succeeded\n + TestCase [ 7] : Write record known vector 3DES-CBC-SHA1-HMAC succeeded\nUSER1: Cipher crypto capabilities not supported\n + TestCase [ 8] : Write record known vector NULL-SHA1-HMAC skipped\nUSER1: Crypto capabilities not supported\n + TestCase [ 9] : Write record known vector CHACHA20-POLY1305 skipped\n + TestCase [10] : Read record known vector AES-GCM-128 (vector 1) succeeded\n + TestCase [11] : Read record known vector AES-GCM-128 (vector 2) succeeded\n + TestCase [12] : Read record known vector AES-GCM-256 succeeded\n + TestCase [13] : Read record known vector AES-128-CBC-SHA1 succeeded\n + TestCase [14] : Read record known vector AES-128-CBC-SHA256 succeeded\n + TestCase [15] : Read record known vector AES-256-CBC-SHA1 succeeded\n + TestCase [16] : Read record known vector AES-256-CBC-SHA256 succeeded\n + TestCase [17] : Read record known vector 3DES-CBC-SHA1-HMAC succeeded\nUSER1: Cipher crypto capabilities not supported\n + TestCase [18] : Read record known vector NULL-SHA1-HMAC skipped\nUSER1: Crypto capabilities not supported\n + TestCase [19] : Read record known vector CHACHA20-POLY1305 skipped\n        3des-cbc [192] sha1-hmac [20B ICV]\n        aes-cbc [128] sha1-hmac [20B ICV]\n        aes-cbc [128] sha2-256-hmac [32B ICV]\n        aes-cbc [256] sha1-hmac [20B ICV]\n        aes-cbc [256] sha2-256-hmac [32B ICV]\n + TestCase [20] : Combined test alg list succeeded\n + TestCase [21] : Multi-segmented mode succeeded\n + ------------------------------------------------------- +\n + Test Suite Summary : TLS 1.2 Record Protocol Unit Test Suite\n + ------------------------------------------------------- +\n + Tests Total :       22\n + Tests Skipped :      4\n + Tests Executed :    22\n + Tests Unsupported:   0\n + Tests Passed :      18\n + Tests Failed :       0\n + ------------------------------------------------------- +\n + ------------------------------------------------------- +\n + Test Suite : DTLS 1.2 Record Protocol Unit Test Suite\n + ------------------------------------------------------- +\n + TestCase [ 0] : Write record known vector AES-GCM-128 succeeded\n + TestCase [ 1] : Write record known vector AES-GCM-256 succeeded\n + TestCase [ 2] : Write record known vector AES-128-CBC-SHA1 succeeded\n + TestCase [ 3] : Write record known vector AES-128-CBC-SHA256 succeeded\n + TestCase [ 4] : Write record known vector AES-256-CBC-SHA1 succeeded\n + TestCase [ 5] : Write record known vector AES-256-CBC-SHA256 succeeded\n + TestCase [ 6] : Write record known vector 3DES-CBC-SHA1-HMAC succeeded\nUSER1: Cipher crypto capabilities not supported\n + TestCase [ 7] : Write record known vector NULL-SHA1-HMAC skipped\nUSER1: Crypto capabilities not supported\n + TestCase [ 8] : Write record known vector CHACHA20-POLY1305 skipped\n + TestCase [ 9] : Read record known vector AES-GCM-128 succeeded\n + TestCase [10] : Read record known vector AES-GCM-256 succeeded\n + TestCase [11] : Read record known vector AES-128-CBC-SHA1 succeeded\n + TestCase [12] : Read record known vector AES-128-CBC-SHA256 succeeded\n + TestCase [13] : Read record known vector AES-256-CBC-SHA1 succeeded\n + TestCase [14] : Read record known vector AES-256-CBC-SHA256 succeeded\n + TestCase [15] : Read record known vector 3DES-CBC-SHA1-HMAC succeeded\nUSER1: Cipher crypto capabilities not supported\n + TestCase [16] : Read record known vector NULL-SHA1-HMAC skipped\nUSER1: Crypto capabilities not supported\n + TestCase [17] : Read record known vector CHACHA20-POLY1305 skipped\n        3des-cbc [192] sha1-hmac [20B ICV]\n        aes-cbc [128] sha1-hmac [20B ICV]\n        aes-cbc [128] sha2-256-hmac [32B ICV]\n        aes-cbc [256] sha1-hmac [20B ICV]\n        aes-cbc [256] sha2-256-hmac [32B ICV]\n + TestCase [18] : Combined test alg list succeeded\n + TestCase [19] : Multi-segmented mode succeeded\n + ------------------------------------------------------- +\n + Test Suite Summary : DTLS 1.2 Record Protocol Unit Test Suite\n + ------------------------------------------------------- +\n + Tests Total :       20\n + Tests Skipped :      4\n + Tests Executed :    20\n + Tests Unsupported:   0\n + Tests Passed :      16\n + Tests Failed :       0\n + ------------------------------------------------------- +\n\nAkhil Goyal (3):\n  test/crypto: add TLS1.2 vectors\n  test/crypto: add TLS1.2/DTLS1.2 AES-128/256-GCM vectors\n  test/security: add TLS 1.2 and DTLS 1.2 vectors\n\nAnoob Joseph (5):\n  test/crypto: move security caps checks to separate file\n  test/crypto: move algorithm display routines to common\n  test/security: add sha1-hmac to auth list\n  test/crypto: add TLS record tests\n  test/crypto: add verification of TLS headers\n\nTejasree Kondoj (2):\n  test/crypto: add AES-GCM 128 TLS 1.2 vector\n  test/crypto: add multi segmented cases\n\nVidya Sagar Velumuri (4):\n  test/crypto: move algorithm list to common\n  test/crypto: move algorithm framework to common\n  test/crypto: add combined mode cases\n  test/security: add more algos to combined tests\n\n app/test-security-perf/meson.build            |    1 +\n app/test-security-perf/test_security_perf.c   |   35 +-\n app/test/meson.build                          |    2 +\n app/test/test_cryptodev.c                     |  596 ++++++-\n app/test/test_cryptodev.h                     |    2 +\n app/test/test_cryptodev_security_ipsec.c      |  164 +-\n app/test/test_cryptodev_security_ipsec.h      |  157 +-\n app/test/test_cryptodev_security_tls_record.c |  327 ++++\n app/test/test_cryptodev_security_tls_record.h |  101 ++\n ...yptodev_security_tls_record_test_vectors.h | 1584 +++++++++++++++++\n app/test/test_security_inline_proto.c         |   42 +-\n app/test/test_security_proto.c                |  154 ++\n app/test/test_security_proto.h                |  186 ++\n doc/guides/rel_notes/release_24_03.rst        |    4 +\n 14 files changed, 2960 insertions(+), 395 deletions(-)\n create mode 100644 app/test/test_cryptodev_security_tls_record.c\n create mode 100644 app/test/test_cryptodev_security_tls_record.h\n create mode 100644 app/test/test_cryptodev_security_tls_record_test_vectors.h\n create mode 100644 app/test/test_security_proto.c\n create mode 100644 app/test/test_security_proto.h"
}