Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/63699/?format=api
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" ] }{ "id": 63699, "url": "