get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 63699,
    "url": "http://patches.dpdk.org/api/patches/63699/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20191210082814.1509-2-ruifeng.wang@arm.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": "<20191210082814.1509-2-ruifeng.wang@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191210082814.1509-2-ruifeng.wang@arm.com",
    "date": "2019-12-10T08:28:12",
    "name": "[RFC,1/3] crypto/armv8: link PMD to crypto library hosted by Arm",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "1eb84ef43f89202883377ad20ded1896b05ec5e1",
    "submitter": {
        "id": 1198,
        "url": "http://patches.dpdk.org/api/people/1198/?format=api",
        "name": "Ruifeng Wang",
        "email": "ruifeng.wang@arm.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20191210082814.1509-2-ruifeng.wang@arm.com/mbox/",
    "series": [
        {
            "id": 7764,
            "url": "http://patches.dpdk.org/api/series/7764/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7764",
            "date": "2019-12-10T08:28:11",
            "name": "armv8 crypto PMD update",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/7764/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/63699/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/63699/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 40898A04F0;\n\tTue, 10 Dec 2019 09:29:03 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 040181BE3D;\n\tTue, 10 Dec 2019 09:29:03 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id 3969C1BDFD\n for <dev@dpdk.org>; Tue, 10 Dec 2019 09:29:02 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B49FF328;\n Tue, 10 Dec 2019 00:29:01 -0800 (PST)",
            "from net-arm-thunderx2-02.shanghai.arm.com\n (net-arm-thunderx2-02.shanghai.arm.com [10.169.41.157])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EFA7E3F718;\n Tue, 10 Dec 2019 00:32:11 -0800 (PST)"
        ],
        "From": "Ruifeng Wang <ruifeng.wang@arm.com>",
        "To": "gavin.hu@arm.com",
        "Cc": "dev@dpdk.org, jerinj@marvell.com, honnappa.nagarahalli@arm.com,\n nd@arm.com,\n Ruifeng Wang <ruifeng.wang@arm.com>",
        "Date": "Tue, 10 Dec 2019 16:28:12 +0800",
        "Message-Id": "<20191210082814.1509-2-ruifeng.wang@arm.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20191210082814.1509-1-ruifeng.wang@arm.com>",
        "References": "<20191210082814.1509-1-ruifeng.wang@arm.com>",
        "Subject": "[dpdk-dev] [RFC PATCH 1/3] crypto/armv8: link PMD to crypto library\n\thosted by Arm",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "Armv8 crypto PMD linked to armv8_crypto library created by Marvell.\nMaintenance of armv8_crypto library will be discontinued.\nChange Armv8 PMD to link to AArch64 crypto library hosted by Arm.\n\nSigned-off-by: Ruifeng Wang <ruifeng.wang@arm.com>\nReviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>\nReviewed-by: Gavin Hu <gavin.hu@arm.com>\nReviewed-by: Ola Liljedahl <ola.liljedahl@arm.com>\n---\n drivers/crypto/armv8/Makefile            |  3 +-\n drivers/crypto/armv8/armv8_pmd_private.h |  4 ++-\n drivers/crypto/armv8/rte_armv8_pmd.c     | 40 ++++++++++++++----------\n drivers/crypto/armv8/rte_armv8_pmd_ops.c |  2 --\n mk/rte.app.mk                            |  2 +-\n 5 files changed, 29 insertions(+), 22 deletions(-)",
    "diff": "diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile\nindex 125283664..7f20a28d4 100644\n--- a/drivers/crypto/armv8/Makefile\n+++ b/drivers/crypto/armv8/Makefile\n@@ -24,9 +24,8 @@ EXPORT_MAP := rte_pmd_armv8_version.map\n \n # external library dependencies\n CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)\n-CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)/asm/include\n CFLAGS += -DALLOW_EXPERIMENTAL_API\n-LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto\n+LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto\n LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring\n LDLIBS += -lrte_cryptodev\n LDLIBS += -lrte_bus_vdev\ndiff --git a/drivers/crypto/armv8/armv8_pmd_private.h b/drivers/crypto/armv8/armv8_pmd_private.h\nindex 24040dda2..9caf9e13f 100644\n--- a/drivers/crypto/armv8/armv8_pmd_private.h\n+++ b/drivers/crypto/armv8/armv8_pmd_private.h\n@@ -5,6 +5,8 @@\n #ifndef _ARMV8_PMD_PRIVATE_H_\n #define _ARMV8_PMD_PRIVATE_H_\n \n+#include \"AArch64cryptolib.h\"\n+\n #define CRYPTODEV_NAME_ARMV8_PMD\tcrypto_armv8\n /**< ARMv8 Crypto PMD device name */\n \n@@ -98,7 +100,7 @@ enum armv8_crypto_auth_mode {\n \n typedef int (*crypto_func_t)(uint8_t *, uint8_t *, uint64_t,\n \t\t\t\tuint8_t *, uint8_t *, uint64_t,\n-\t\t\t\tcrypto_arg_t *);\n+\t\t\t\tAArch64crypto_cipher_digest_t *);\n \n typedef void (*crypto_key_sched_t)(uint8_t *, const uint8_t *);\n \ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c\nindex 7dc83e69e..2b2c5a3bf 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd.c\n+++ b/drivers/crypto/armv8/rte_armv8_pmd.c\n@@ -12,7 +12,7 @@\n #include <rte_malloc.h>\n #include <rte_cpuflags.h>\n \n-#include \"armv8_crypto_defs.h\"\n+#include \"AArch64cryptolib.h\"\n \n #include \"armv8_pmd_private.h\"\n \n@@ -78,8 +78,10 @@ crypto_func_tbl_t[CRYPTO_CIPHER_MAX][CRYPTO_AUTH_MAX][CRYPTO_CIPHER_KEYLEN_MAX];\n static const crypto_func_tbl_t\n crypto_op_ca_encrypt = {\n \t/* [cipher alg][auth alg][key length] = crypto_function, */\n-\t[CIPH_AES_CBC][AUTH_SHA1_HMAC][KEYL(128)] = aes128cbc_sha1_hmac,\n-\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] = aes128cbc_sha256_hmac,\n+\t[CIPH_AES_CBC][AUTH_SHA1_HMAC][KEYL(128)] =\n+\t\tAArch64crypto_encrypt_aes128cbc_sha1,\n+\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] =\n+\t\tAArch64crypto_encrypt_aes128cbc_sha256,\n };\n \n static const crypto_func_tbl_t\n@@ -95,8 +97,10 @@ crypto_op_ac_encrypt = {\n static const crypto_func_tbl_t\n crypto_op_ac_decrypt = {\n \t/* [cipher alg][auth alg][key length] = crypto_function, */\n-\t[CIPH_AES_CBC][AUTH_SHA1_HMAC][KEYL(128)] = sha1_hmac_aes128cbc_dec,\n-\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] = sha256_hmac_aes128cbc_dec,\n+\t[CIPH_AES_CBC][AUTH_SHA1_HMAC][KEYL(128)] =\n+\t\tAArch64crypto_decrypt_aes128cbc_sha1,\n+\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] =\n+\t\tAArch64crypto_decrypt_aes128cbc_sha256,\n };\n \n /**\n@@ -155,13 +159,13 @@ crypto_key_sched_tbl_t[CRYPTO_CIPHER_MAX][CRYPTO_CIPHER_KEYLEN_MAX];\n static const crypto_key_sched_tbl_t\n crypto_key_sched_encrypt = {\n \t/* [cipher alg][key length] = key_expand_func, */\n-\t[CIPH_AES_CBC][KEYL(128)] = aes128_key_sched_enc,\n+\t[CIPH_AES_CBC][KEYL(128)] = AArch64crypto_aes_cbc_expandkeys_128_enc,\n };\n \n static const crypto_key_sched_tbl_t\n crypto_key_sched_decrypt = {\n \t/* [cipher alg][key length] = key_expand_func, */\n-\t[CIPH_AES_CBC][KEYL(128)] = aes128_key_sched_dec,\n+\t[CIPH_AES_CBC][KEYL(128)] = AArch64crypto_aes_cbc_expandkeys_128_dec,\n };\n \n /**\n@@ -277,14 +281,16 @@ auth_set_prerequisites(struct armv8_crypto_session *sess,\n \t\t * Calculate partial hash values for i_key_pad and o_key_pad.\n \t\t * Will be used as initialization state for final HMAC.\n \t\t */\n-\t\terror = sha1_block_partial(NULL, sess->auth.hmac.i_key_pad,\n-\t\t    partial, SHA1_BLOCK_SIZE);\n+\t\terror = AArch64crypto_sha1_block_partial(NULL,\n+\t\t\t\tsess->auth.hmac.i_key_pad,\n+\t\t\t\tpartial, SHA1_BLOCK_SIZE);\n \t\tif (error != 0)\n \t\t\treturn -1;\n \t\tmemcpy(sess->auth.hmac.i_key_pad, partial, SHA1_BLOCK_SIZE);\n \n-\t\terror = sha1_block_partial(NULL, sess->auth.hmac.o_key_pad,\n-\t\t    partial, SHA1_BLOCK_SIZE);\n+\t\terror = AArch64crypto_sha1_block_partial(NULL,\n+\t\t\t\tsess->auth.hmac.o_key_pad,\n+\t\t\t\tpartial, SHA1_BLOCK_SIZE);\n \t\tif (error != 0)\n \t\t\treturn -1;\n \t\tmemcpy(sess->auth.hmac.o_key_pad, partial, SHA1_BLOCK_SIZE);\n@@ -310,14 +316,16 @@ auth_set_prerequisites(struct armv8_crypto_session *sess,\n \t\t * Calculate partial hash values for i_key_pad and o_key_pad.\n \t\t * Will be used as initialization state for final HMAC.\n \t\t */\n-\t\terror = sha256_block_partial(NULL, sess->auth.hmac.i_key_pad,\n-\t\t    partial, SHA256_BLOCK_SIZE);\n+\t\terror = AArch64crypto_sha256_block_partial(NULL,\n+\t\t\t\tsess->auth.hmac.i_key_pad,\n+\t\t\t\tpartial, SHA256_BLOCK_SIZE);\n \t\tif (error != 0)\n \t\t\treturn -1;\n \t\tmemcpy(sess->auth.hmac.i_key_pad, partial, SHA256_BLOCK_SIZE);\n \n-\t\terror = sha256_block_partial(NULL, sess->auth.hmac.o_key_pad,\n-\t\t    partial, SHA256_BLOCK_SIZE);\n+\t\terror = AArch64crypto_sha256_block_partial(NULL,\n+\t\t\t\tsess->auth.hmac.o_key_pad,\n+\t\t\t\tpartial, SHA256_BLOCK_SIZE);\n \t\tif (error != 0)\n \t\t\treturn -1;\n \t\tmemcpy(sess->auth.hmac.o_key_pad, partial, SHA256_BLOCK_SIZE);\n@@ -552,7 +560,7 @@ process_armv8_chained_op(struct armv8_crypto_qp *qp, struct rte_crypto_op *op,\n \t\tstruct rte_mbuf *mbuf_src, struct rte_mbuf *mbuf_dst)\n {\n \tcrypto_func_t crypto_func;\n-\tcrypto_arg_t arg;\n+\tAArch64crypto_cipher_digest_t arg;\n \tstruct rte_mbuf *m_asrc, *m_adst;\n \tuint8_t *csrc, *cdst;\n \tuint8_t *adst, *asrc;\ndiff --git a/drivers/crypto/armv8/rte_armv8_pmd_ops.c b/drivers/crypto/armv8/rte_armv8_pmd_ops.c\nindex 57952bef5..4fd384d1a 100644\n--- a/drivers/crypto/armv8/rte_armv8_pmd_ops.c\n+++ b/drivers/crypto/armv8/rte_armv8_pmd_ops.c\n@@ -8,8 +8,6 @@\n #include <rte_malloc.h>\n #include <rte_cryptodev_pmd.h>\n \n-#include \"armv8_crypto_defs.h\"\n-\n #include \"armv8_pmd_private.h\"\n \n static const struct rte_cryptodev_capabilities\ndiff --git a/mk/rte.app.mk b/mk/rte.app.mk\nindex 05ea034b9..ab47e4cee 100644\n--- a/mk/rte.app.mk\n+++ b/mk/rte.app.mk\n@@ -274,7 +274,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -L$(LIBSSO_KASUMI_PATH)/build -l\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -L$(LIBSSO_ZUC_PATH)/build -lsso_zuc\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8\n-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto\n+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mvsam_crypto -lmusdk\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NITROX)      += -lrte_pmd_nitrox\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += -lrte_pmd_octeontx_crypto\n",
    "prefixes": [
        "RFC",
        "1/3"
    ]
}