From patchwork Thu Sep 23 15:28:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Power, Ciara" X-Patchwork-Id: 99489 Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id AC088A0C43; Thu, 23 Sep 2021 17:28:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A87E41260; Thu, 23 Sep 2021 17:28:56 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 43F5B41257 for ; Thu, 23 Sep 2021 17:28:55 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10116"; a="220669516" X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="220669516" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Sep 2021 08:28:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="534577721" Received: from silpixa00400355.ir.intel.com (HELO silpixa00400355.ger.corp.intel.com) ([10.237.222.87]) by fmsmga004.fm.intel.com with ESMTP; 23 Sep 2021 08:28:38 -0700 From: Ciara Power To: dev@dpdk.org Cc: roy.fan.zhang@intel.com, piotrx.bronowski@intel.com, gakhil@marvell.com, Ciara Power Date: Thu, 23 Sep 2021 15:28:01 +0000 Message-Id: <20210923152810.515354-1-ciara.power@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210618121803.1189857-1-piotrx.bronowski@intel.com> References: <20210618121803.1189857-1-piotrx.bronowski@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 0/9] drivers/crypto: introduce ipsec_mb framework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This set of patches introduces a new framework, making all common code of SW crypto PMD implementations built on top of intel-ipsec-mb library sharable. This helps to reduce future effort on the code maintenance and future updates. It also moves all SW PMD implementation specific details into single files located in the crypto/ipsec_mb folder. A chacha20-poly1305 SW PMD is added based on this framework. The minimum intel-ipsec-mb version required is bumped to 1.0. v2: - Added qp NULL check in get stats function. - Updated maintainers file. - Replaced use of strlcpy with rte_strlcpy. - Fixed enum for GCM key length. - Updated release notes. - Added Chacha20_poly1305 PMD documentation. Ciara Power (1): doc/rel_notes: added note for SW Crypto PMD change Fan Zhang (1): drivers/crypto: introduce IPsec-mb framework Kai Ji (1): crypto/ipsec_mb: add chacha20-poly1305 PMD to framework Piotr Bronowski (6): drivers/crypto: move aesni-mb PMD to IPsec-mb framework drivers/crypto: move aesni-gcm PMD to IPsec-mb framework drivers/crypto: move kasumi PMD to IPsec-mb framework drivers/crypto: move snow3g PMD to IPsec-mb framework crypto/ipsec_mb: add snow3g digest appended ops support drivers/crypto: move zuc PMD to IPsec-mb framework MAINTAINERS | 39 +- app/test/test_cryptodev.c | 23 + app/test/test_cryptodev.h | 1 + app/test/test_cryptodev_aead_test_vectors.h | 114 ++ doc/guides/cryptodevs/aesni_gcm.rst | 4 +- doc/guides/cryptodevs/aesni_mb.rst | 4 +- doc/guides/cryptodevs/chacha20_poly1305.rst | 99 + .../cryptodevs/features/chacha20_poly1305.ini | 35 + doc/guides/cryptodevs/features/snow3g.ini | 1 + doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/kasumi.rst | 3 +- doc/guides/cryptodevs/snow3g.rst | 3 +- doc/guides/cryptodevs/zuc.rst | 3 +- doc/guides/rel_notes/release_21_11.rst | 25 + drivers/crypto/aesni_gcm/aesni_gcm_ops.h | 104 - drivers/crypto/aesni_gcm/aesni_gcm_pmd.c | 984 --------- drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c | 333 ---- .../crypto/aesni_gcm/aesni_gcm_pmd_private.h | 123 -- drivers/crypto/aesni_gcm/meson.build | 24 - .../crypto/aesni_mb/aesni_mb_pmd_private.h | 337 ---- drivers/crypto/aesni_mb/meson.build | 25 - .../crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 1126 ----------- drivers/crypto/aesni_mb/version.map | 3 - drivers/crypto/ipsec_mb/meson.build | 33 + drivers/crypto/ipsec_mb/pmd_aesni_gcm.c | 955 +++++++++ .../pmd_aesni_mb.c} | 1767 ++++++++++++----- drivers/crypto/ipsec_mb/pmd_chacha_poly.c | 528 +++++ drivers/crypto/ipsec_mb/pmd_kasumi.c | 556 ++++++ drivers/crypto/ipsec_mb/pmd_snow3g.c | 705 +++++++ .../{zuc/rte_zuc_pmd.c => ipsec_mb/pmd_zuc.c} | 462 ++--- drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd.c | 172 ++ .../crypto/ipsec_mb/rte_ipsec_mb_pmd_ops.c | 292 +++ .../ipsec_mb/rte_ipsec_mb_pmd_private.h | 470 +++++ .../{aesni_gcm => ipsec_mb}/version.map | 2 +- drivers/crypto/kasumi/kasumi_pmd_private.h | 81 - drivers/crypto/kasumi/meson.build | 24 - drivers/crypto/kasumi/rte_kasumi_pmd.c | 642 ------ drivers/crypto/kasumi/rte_kasumi_pmd_ops.c | 316 --- drivers/crypto/kasumi/version.map | 3 - drivers/crypto/meson.build | 6 +- drivers/crypto/snow3g/meson.build | 24 - drivers/crypto/snow3g/rte_snow3g_pmd.c | 656 ------ drivers/crypto/snow3g/rte_snow3g_pmd_ops.c | 323 --- drivers/crypto/snow3g/snow3g_pmd_private.h | 84 - drivers/crypto/snow3g/version.map | 3 - drivers/crypto/zuc/meson.build | 24 - drivers/crypto/zuc/rte_zuc_pmd_ops.c | 322 --- drivers/crypto/zuc/version.map | 3 - drivers/crypto/zuc/zuc_pmd_private.h | 83 - 49 files changed, 5490 insertions(+), 6460 deletions(-) create mode 100644 doc/guides/cryptodevs/chacha20_poly1305.rst create mode 100644 doc/guides/cryptodevs/features/chacha20_poly1305.ini delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_ops.h delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd.c delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd_ops.c delete mode 100644 drivers/crypto/aesni_gcm/aesni_gcm_pmd_private.h delete mode 100644 drivers/crypto/aesni_gcm/meson.build delete mode 100644 drivers/crypto/aesni_mb/aesni_mb_pmd_private.h delete mode 100644 drivers/crypto/aesni_mb/meson.build delete mode 100644 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c delete mode 100644 drivers/crypto/aesni_mb/version.map create mode 100644 drivers/crypto/ipsec_mb/meson.build create mode 100644 drivers/crypto/ipsec_mb/pmd_aesni_gcm.c rename drivers/crypto/{aesni_mb/rte_aesni_mb_pmd.c => ipsec_mb/pmd_aesni_mb.c} (60%) create mode 100644 drivers/crypto/ipsec_mb/pmd_chacha_poly.c create mode 100644 drivers/crypto/ipsec_mb/pmd_kasumi.c create mode 100644 drivers/crypto/ipsec_mb/pmd_snow3g.c rename drivers/crypto/{zuc/rte_zuc_pmd.c => ipsec_mb/pmd_zuc.c} (50%) create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd.c create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd_ops.c create mode 100644 drivers/crypto/ipsec_mb/rte_ipsec_mb_pmd_private.h rename drivers/crypto/{aesni_gcm => ipsec_mb}/version.map (58%) delete mode 100644 drivers/crypto/kasumi/kasumi_pmd_private.h delete mode 100644 drivers/crypto/kasumi/meson.build delete mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd.c delete mode 100644 drivers/crypto/kasumi/rte_kasumi_pmd_ops.c delete mode 100644 drivers/crypto/kasumi/version.map delete mode 100644 drivers/crypto/snow3g/meson.build delete mode 100644 drivers/crypto/snow3g/rte_snow3g_pmd.c delete mode 100644 drivers/crypto/snow3g/rte_snow3g_pmd_ops.c delete mode 100644 drivers/crypto/snow3g/snow3g_pmd_private.h delete mode 100644 drivers/crypto/snow3g/version.map delete mode 100644 drivers/crypto/zuc/meson.build delete mode 100644 drivers/crypto/zuc/rte_zuc_pmd_ops.c delete mode 100644 drivers/crypto/zuc/version.map delete mode 100644 drivers/crypto/zuc/zuc_pmd_private.h