get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 136201,
    "url": "https://patches.dpdk.org/api/patches/136201/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20240129185950.14346-1-arkadiuszx.kusztal@intel.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": "<20240129185950.14346-1-arkadiuszx.kusztal@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20240129185950.14346-1-arkadiuszx.kusztal@intel.com",
    "date": "2024-01-29T18:59:48",
    "name": "[1/3] cryptodev: add ec points to sm2 op",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "37b645102e650a74ea253f16ad915965e1322499",
    "submitter": {
        "id": 452,
        "url": "https://patches.dpdk.org/api/people/452/?format=api",
        "name": "Arkadiusz Kusztal",
        "email": "arkadiuszx.kusztal@intel.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/20240129185950.14346-1-arkadiuszx.kusztal@intel.com/mbox/",
    "series": [
        {
            "id": 30930,
            "url": "https://patches.dpdk.org/api/series/30930/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=30930",
            "date": "2024-01-29T18:59:48",
            "name": "[1/3] cryptodev: add ec points to sm2 op",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/30930/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/136201/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/136201/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 4DEF2439C7;\n\tMon, 29 Jan 2024 20:00:00 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D36FE402C8;\n\tMon, 29 Jan 2024 19:59:59 +0100 (CET)",
            "from mgamail.intel.com (mgamail.intel.com [198.175.65.11])\n by mails.dpdk.org (Postfix) with ESMTP id 706BC4026F\n for <dev@dpdk.org>; Mon, 29 Jan 2024 19:59:58 +0100 (CET)",
            "from orviesa002.jf.intel.com ([10.64.159.142])\n by orvoesa103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 29 Jan 2024 10:59:57 -0800",
            "from silpixa00400308.ir.intel.com ([10.237.214.154])\n by orviesa002.jf.intel.com with ESMTP; 29 Jan 2024 10:59:55 -0800"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1706554799; x=1738090799;\n h=from:to:cc:subject:date:message-id;\n bh=NUx5Qm4Q7ylP9hqKgUtMb9YIYxDVsSjM6o9a8LxwOeg=;\n b=PenHzU9g6N3FyRhg57nQhsdub3cojOBNlFjtXJd/ZweNlocS5lhcmiAP\n d408lwfsKvuTk/j5haHZ2whn5xDNiMKig/2SdHuo2UnNS5sOfqPi/coYl\n 6+c9PZdok5vQdcPnPYgRCt3JIWbo6+owqS1ZRx0tMw1ToXz7wHtTZxera\n J/PCpJTXxUohumxMUKfCR61GZGdGvywU7uu9LLPHM1ahaQDMTRBIYMiV7\n qvtKeV1WWyv9xSVzv32yNC6idtH4KQiE+GWW9u9ev1yWnAbsRZaGbIopN\n JG/Qg4MBb+WClsTUHY7G+ZQD4q1iEZfrqhLBmJwfAr4MQOkegmPU7R/L6 g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10968\"; a=\"9696122\"",
            "E=Sophos;i=\"6.05,227,1701158400\";\n   d=\"scan'208\";a=\"9696122\"",
            "E=Sophos;i=\"6.05,227,1701158400\"; d=\"scan'208\";a=\"29632903\""
        ],
        "X-ExtLoop1": "1",
        "From": "Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "gakhil@marvell.com, ciara.power@intel.com,\n Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>",
        "Subject": "[PATCH 1/3] cryptodev: add ec points to sm2 op",
        "Date": "Mon, 29 Jan 2024 18:59:48 +0000",
        "Message-Id": "<20240129185950.14346-1-arkadiuszx.kusztal@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "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": "In the case when PMD cannot support full process of the SM2,\nbut elliptic curve computation only, additional fields\nare needed to handle such a case.\n\nPoints C1, kP therefore were added to the SM2 crypto operation struct.\n\nSigned-off-by: Arkadiusz Kusztal <arkadiuszx.kusztal@intel.com>\n---\n lib/cryptodev/rte_crypto_asym.h | 119 +++++++++++++++++++-------------\n 1 file changed, 71 insertions(+), 48 deletions(-)",
    "diff": "diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_asym.h\nindex 39d3da3952..55620d2d3a 100644\n--- a/lib/cryptodev/rte_crypto_asym.h\n+++ b/lib/cryptodev/rte_crypto_asym.h\n@@ -599,40 +599,6 @@ struct rte_crypto_ecpm_op_param {\n \t/**< Scalar to multiply the input point */\n };\n \n-/**\n- * Asymmetric crypto transform data\n- *\n- * Structure describing asym xforms.\n- */\n-struct rte_crypto_asym_xform {\n-\tstruct rte_crypto_asym_xform *next;\n-\t/**< Pointer to next xform to set up xform chain.*/\n-\tenum rte_crypto_asym_xform_type xform_type;\n-\t/**< Asymmetric crypto transform */\n-\n-\tunion {\n-\t\tstruct rte_crypto_rsa_xform rsa;\n-\t\t/**< RSA xform parameters */\n-\n-\t\tstruct rte_crypto_modex_xform modex;\n-\t\t/**< Modular Exponentiation xform parameters */\n-\n-\t\tstruct rte_crypto_modinv_xform modinv;\n-\t\t/**< Modular Multiplicative Inverse xform parameters */\n-\n-\t\tstruct rte_crypto_dh_xform dh;\n-\t\t/**< DH xform parameters */\n-\n-\t\tstruct rte_crypto_dsa_xform dsa;\n-\t\t/**< DSA xform parameters */\n-\n-\t\tstruct rte_crypto_ec_xform ec;\n-\t\t/**< EC xform parameters, used by elliptic curve based\n-\t\t * operations.\n-\t\t */\n-\t};\n-};\n-\n /**\n  * SM2 operation params.\n  */\n@@ -658,20 +624,43 @@ struct rte_crypto_sm2_op_param {\n \t * will be overwritten by the PMD with the decrypted length.\n \t */\n \n-\trte_crypto_param cipher;\n-\t/**<\n-\t * Pointer to input data\n-\t * - to be decrypted for SM2 private decrypt.\n-\t *\n-\t * Pointer to output data\n-\t * - for SM2 public encrypt.\n-\t * In this case the underlying array should have been allocated\n-\t * with enough memory to hold ciphertext output (at least X bytes\n-\t * for prime field curve of N bytes and for message M bytes,\n-\t * where X = (C1 || C2 || C3) and computed based on SM2 RFC as\n-\t * C1 (1 + N + N), C2 = M, C3 = N. The cipher.length field will\n-\t * be overwritten by the PMD with the encrypted length.\n-\t */\n+\tunion {\n+\t\trte_crypto_param cipher;\n+\t\t/**<\n+\t\t * Pointer to input data\n+\t\t * - to be decrypted for SM2 private decrypt.\n+\t\t *\n+\t\t * Pointer to output data\n+\t\t * - for SM2 public encrypt.\n+\t\t * In this case the underlying array should have been allocated\n+\t\t * with enough memory to hold ciphertext output (at least X bytes\n+\t\t * for prime field curve of N bytes and for message M bytes,\n+\t\t * where X = (C1 || C2 || C3) and computed based on SM2 RFC as\n+\t\t * C1 (1 + N + N), C2 = M, C3 = N. The cipher.length field will\n+\t\t * be overwritten by the PMD with the encrypted length.\n+\t\t */\n+\t\tstruct {\n+\t\t\tstruct rte_crypto_ec_point C1;\n+\t\t\t/**<\n+\t\t\t * This field is used only when PMD does not support full\n+\t\t\t * process of the SM2 encryption/decryption, but elliptic\n+\t\t\t * curve part only.\n+\t\t\t *\n+\t\t\t * In the case of encryption, it is an output - point C1 = (x1,y1).\n+\t\t\t * In the case of decryption, if is an input - point C1 = (x1,y1)\n+\t\t\t *\n+\t\t\t */\n+\t\t\tstruct rte_crypto_ec_point kP;\n+\t\t\t/**<\n+\t\t\t * This field is used only when PMD does not support full\n+\t\t\t * process of the SM2 encryption/decryption, but elliptic\n+\t\t\t * curve part only.\n+\t\t\t *\n+\t\t\t * It is an output in the encryption case, it is a point\n+\t\t\t * [k]P = (x2,y2)\n+\t\t\t */\n+\t\t};\n+\t};\n \n \trte_crypto_uint id;\n \t/**< The SM2 id used by signer and verifier. */\n@@ -697,6 +686,40 @@ struct rte_crypto_sm2_op_param {\n \t */\n };\n \n+/**\n+ * Asymmetric crypto transform data\n+ *\n+ * Structure describing asym xforms.\n+ */\n+struct rte_crypto_asym_xform {\n+\tstruct rte_crypto_asym_xform *next;\n+\t/**< Pointer to next xform to set up xform chain.*/\n+\tenum rte_crypto_asym_xform_type xform_type;\n+\t/**< Asymmetric crypto transform */\n+\n+\tunion {\n+\t\tstruct rte_crypto_rsa_xform rsa;\n+\t\t/**< RSA xform parameters */\n+\n+\t\tstruct rte_crypto_modex_xform modex;\n+\t\t/**< Modular Exponentiation xform parameters */\n+\n+\t\tstruct rte_crypto_modinv_xform modinv;\n+\t\t/**< Modular Multiplicative Inverse xform parameters */\n+\n+\t\tstruct rte_crypto_dh_xform dh;\n+\t\t/**< DH xform parameters */\n+\n+\t\tstruct rte_crypto_dsa_xform dsa;\n+\t\t/**< DSA xform parameters */\n+\n+\t\tstruct rte_crypto_ec_xform ec;\n+\t\t/**< EC xform parameters, used by elliptic curve based\n+\t\t * operations.\n+\t\t */\n+\t};\n+};\n+\n /**\n  * Asymmetric Cryptographic Operation.\n  *\n",
    "prefixes": [
        "1/3"
    ]
}