get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 64880,
    "url": "http://patches.dpdk.org/api/patches/64880/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200119074004.213861-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": "<20200119074004.213861-2-ruifeng.wang@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200119074004.213861-2-ruifeng.wang@arm.com",
    "date": "2020-01-19T07:40:02",
    "name": "[v2,1/3] crypto/armv8: link PMD to crypto library hosted by Arm",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "6551365eda4f11e6a23d3a6fbb3f22b915086abf",
    "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/20200119074004.213861-2-ruifeng.wang@arm.com/mbox/",
    "series": [
        {
            "id": 8205,
            "url": "http://patches.dpdk.org/api/series/8205/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=8205",
            "date": "2020-01-19T07:40:01",
            "name": "armv8 crypto PMD update",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/8205/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/64880/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/64880/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 3B72AA04DD;\n\tSun, 19 Jan 2020 08:40:42 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 1182A292D;\n\tSun, 19 Jan 2020 08:40:42 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id 1872B29D6\n for <dev@dpdk.org>; Sun, 19 Jan 2020 08:40:40 +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 91E911FB;\n Sat, 18 Jan 2020 23:40:39 -0800 (PST)",
            "from net-arm-thunderx2-02.shanghai.arm.com\n (net-arm-thunderx2-02.shanghai.arm.com [10.169.40.171])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 088383F68E;\n Sat, 18 Jan 2020 23:44:09 -0800 (PST)"
        ],
        "From": "Ruifeng Wang <ruifeng.wang@arm.com>",
        "To": "akhil.goyal@nxp.com,\n\tgavin.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": "Sun, 19 Jan 2020 15:40:02 +0800",
        "Message-Id": "<20200119074004.213861-2-ruifeng.wang@arm.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200119074004.213861-1-ruifeng.wang@arm.com>",
        "References": "<20191210082814.1509-1-ruifeng.wang@arm.com>\n <20200119074004.213861-1-ruifeng.wang@arm.com>",
        "Subject": "[dpdk-dev] [PATCH v2 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..e08d0df78 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\tarmv8_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..fd8140896 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\tarmv8_enc_aes_cbc_sha1_128,\n+\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] =\n+\t\tarmv8_enc_aes_cbc_sha256_128,\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\tarmv8_dec_aes_cbc_sha1_128,\n+\t[CIPH_AES_CBC][AUTH_SHA256_HMAC][KEYL(128)] =\n+\t\tarmv8_dec_aes_cbc_sha256_128,\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)] = armv8_expandkeys_enc_aes_cbc_128,\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)] = armv8_expandkeys_dec_aes_cbc_128,\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 = armv8_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 = armv8_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 = armv8_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 = armv8_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+\tarmv8_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": [
        "v2",
        "1/3"
    ]
}