From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 055CBA04BC; Fri, 9 Oct 2020 14:19:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6848C1D5B5; Fri, 9 Oct 2020 14:19:11 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 653ED1C22C for ; Fri, 9 Oct 2020 14:19:09 +0200 (CEST) IronPort-SDR: 5kF6l4p4f03topnVjSaNKYPg2YUXa8clFRXtDkQbocwCwYelntTZ7buAJ8FvinFtNDaAiHY3F2 IYOnuAWIxaOA== X-IronPort-AV: E=McAfee;i="6000,8403,9768"; a="165590562" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="165590562" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 05:19:07 -0700 IronPort-SDR: 3nR9WIQC4y5vdCshs4La+gD7/rbnu05uSIr1aAtxKpsxGFRH1Nbx02Kjk4giwjIQXvcf/EcKRL 0Ywy0rWt0CcA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="312529024" Received: from silpixa00399593.ir.intel.com (HELO silpixa00399593.ger.corp.intel.com) ([10.237.223.27]) by orsmga003.jf.intel.com with ESMTP; 09 Oct 2020 05:19:06 -0700 From: Pablo de Lara To: declan.doherty@intel.com Cc: dev@dpdk.org, Pablo de Lara Date: Fri, 9 Oct 2020 12:18:59 +0000 Message-Id: <20201009121859.196736-1-pablo.de.lara.guarch@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201006104321.3780935-1-pablo.de.lara.guarch@intel.com> References: <20201006104321.3780935-1-pablo.de.lara.guarch@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2] crypto/aesni_mb: support AES-CCM-256 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 patch adds support for AES-CCM-256 when using AESNI-MB Signed-off-by: Pablo de Lara --- This patch depends on series http://patches.dpdk.org/project/dpdk/list/?series=12822. Changes: v2 : - Fixed session creation - Rebased on top of crypto subtree --- doc/guides/cryptodevs/features/aesni_mb.ini | 1 + doc/guides/rel_notes/release_20_11.rst | 1 + drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 6 ++++++ drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 5 +++++ 4 files changed, 13 insertions(+) diff --git a/doc/guides/cryptodevs/features/aesni_mb.ini b/doc/guides/cryptodevs/features/aesni_mb.ini index f391c3f38..9ebd32000 100644 --- a/doc/guides/cryptodevs/features/aesni_mb.ini +++ b/doc/guides/cryptodevs/features/aesni_mb.ini @@ -64,6 +64,7 @@ KASUMI F9 = Y ; [AEAD] AES CCM (128) = Y +AES CCM (256) = Y AES GCM (128) = Y AES GCM (192) = Y AES GCM (256) = Y diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index 0e0b741b3..efae5784c 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -81,6 +81,7 @@ New Features * Added support for SNOW3G-UEA2/UIA2 algorithms. * Added support for KASUMI-F8/F9 algorithms. * Added support for Chacha20-Poly1305. + * Added support for AES-256 CCM algorithm. * **Updated the aesni_gcm crypto PMD.** diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c index 42c23201a..db0910915 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c @@ -686,6 +686,12 @@ aesni_mb_set_session_aead_parameters(const MB_MGR *mb_mgr, sess->cipher.expanded_aes_keys.encode, sess->cipher.expanded_aes_keys.decode); break; + case AES_256_BYTES: + sess->cipher.key_length_in_bytes = AES_256_BYTES; + IMB_AES_KEYEXP_256(mb_mgr, xform->aead.key.data, + sess->cipher.expanded_aes_keys.encode, + sess->cipher.expanded_aes_keys.decode); + break; default: AESNI_MB_LOG(ERR, "Invalid cipher key length"); return -EINVAL; diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c index e8cb57ea9..3eb46d714 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c @@ -400,8 +400,13 @@ static const struct rte_cryptodev_capabilities aesni_mb_pmd_capabilities[] = { .block_size = 16, .key_size = { .min = 16, +#if IMB_VERSION(0, 54, 2) <= IMB_VERSION_NUM + .max = 32, + .increment = 16 +#else .max = 16, .increment = 0 +#endif }, .digest_size = { .min = 4, -- 2.25.1