From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 40C8945B2B; Fri, 18 Oct 2024 14:54:45 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0E1A240265; Fri, 18 Oct 2024 14:54:45 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.18]) by mails.dpdk.org (Postfix) with ESMTP id 655144025F for ; Fri, 18 Oct 2024 14:54:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729256084; x=1760792084; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=0Cl77+2+Gp8yeVYo1e2zNnggyeOkqeuD8bHo8AqXQsk=; b=Muy7SdXfFwsnCq0FlMIkvhpp34sBGjv46z4jzVSDUFiULVB4xYzGoF45 JZPoBRlzSULCNEPn3oBBViJJVaI10HDyTbU705bAjbRjgwAzvYTwzyJdW 9mGiEEEB+esi+gJ3bx8pAFLmR3wS/E7/oO0+Dlxs30NTPMyva2b2ZN6FJ Gs6pMNjDJqJZCCSk0FLRHzi++mv34BXKpLqXKCm2y+tTpQprhIxBt8HIk 2fwVmZ36b15f9JsQUyprIiEY4JLoceJIvOFAfTcd9N3tjEvqkhBnVSKay 6gI2hbhcldftQW4MRcpk9eJ8kDe2wgv1BsD8IpGnSD8VHqMO1/Ecx2oNU Q==; X-CSE-ConnectionGUID: wHb2KMauRmaoBbf8ZgvNUg== X-CSE-MsgGUID: wWmjblzXTKaahRIbKnIy8Q== X-IronPort-AV: E=McAfee;i="6700,10204,11222"; a="28944551" X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="28944551" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by orvoesa110.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Oct 2024 05:54:41 -0700 X-CSE-ConnectionGUID: zk7KLGkyS4K/Lwg1g9Ua3A== X-CSE-MsgGUID: AMF19fAXRXG9SsMMNOlS0w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,213,1725346800"; d="scan'208";a="83636974" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 18 Oct 2024 05:54:41 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 18 Oct 2024 05:54:40 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 18 Oct 2024 05:54:39 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 18 Oct 2024 05:54:39 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.171) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 18 Oct 2024 05:54:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KDbIuyo62Y/iv4S610GeFAHBacowYV4Ku0MOMloRHx9GMHGyR/f/iNSbc2Co7UxCnEqJ6ZbU4SdiZEZa/YKtQxshgKJCiggxCF44x1SrWhfLQMkFm19GXWu4iqa4zbwU6ivr0OdEme2G/G64k10BfGxZjoyqORimbx2hFQxnnOMlZm/NU+cAh9s08TPg0G68IZTW9V/gf+olnE6WraOFEFSxy65iwOreDGZTGWwAq7/NKrAcaKtM2t8yVylDL5e7+Cd3+4Q3fWLAHjxpq+oGEQtQ6L3nJ4JDaZ98yBypb+vpy7+9LJHrtaZ6kH0k4z5GBkV4JxpO05UjiWwto3jpsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t7wq0wWqC7ITq7/wHGI9H9/5SngQVKFAAlukteyW+2c=; b=Z8NpOTuH+utjnqbJCBEjUeb1yB//drclHN5+IogJsTJjNdhfvH2CHflEEdMVOLgEtkH2LFZR0+dhYeYUoXSj1xuAe2fX9mTQl6+9EnQjWz0rgTDHQ+VtCC0/CfhaEten9E9/gRldgWk3T8xU7SIX3XYwaAzXErh7cXnxhXEnqYH+z47jwaj8sGNw6hqaFxOXtykOKAIERQSoWFcvNAF77bQQZIkc4oveA+uTnwc2E0Xow2wjaa8wD5dpdfyccnMBolJKxpJu+PlDu41vEZe87WH5GAO8XWPE+NNvnCb7fz9Y5XQDjbYtwCT/+RDEOFkO0e33VmFIKHm+/ibSes0e+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5056.namprd11.prod.outlook.com (2603:10b6:a03:2d5::6) by PH8PR11MB6753.namprd11.prod.outlook.com (2603:10b6:510:1c8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.17; Fri, 18 Oct 2024 12:54:35 +0000 Received: from SJ0PR11MB5056.namprd11.prod.outlook.com ([fe80::4f35:279e:a725:ad08]) by SJ0PR11MB5056.namprd11.prod.outlook.com ([fe80::4f35:279e:a725:ad08%2]) with mapi id 15.20.8069.024; Fri, 18 Oct 2024 12:54:35 +0000 From: "Dooley, Brian" To: Wathsala Wathawana Vithanage , "Nagarahalli, Honnappa" , "\"Ruifeng Wang\"" , "\"Jack Bond-Preston\"" CC: "dev@dpdk.org" , "gakhil@marvell.com" , "Ji, Kai" , "De Lara Guarch, Pablo" Subject: RE: [PATCH v3] crypto/ipsec_mb: bump minimum IPsec MB version Thread-Topic: [PATCH v3] crypto/ipsec_mb: bump minimum IPsec MB version Thread-Index: AQHbGv0MKNvEKlgn2Ey0MD59Xidt+rKMgAVg Date: Fri, 18 Oct 2024 12:54:35 +0000 Message-ID: References: <20241004145815.2275878-1-brian.dooley@intel.com> <20241010101313.3933073-1-brian.dooley@intel.com> In-Reply-To: <20241010101313.3933073-1-brian.dooley@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5056:EE_|PH8PR11MB6753:EE_ x-ms-office365-filtering-correlation-id: 5c3a0148-40a3-4f38-daee-08dcef7404a8 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?xwdpRi5NtCR/6W6XLFjV6KOmnLNH+tqvOpevMmgR1J/JzhU0UYw/gZvSiZSr?= =?us-ascii?Q?U0HT1MBYrTepWFCzzCIbDdXYyz0wu2rfew4ePpO/xZpdpPel4r/pr45YSeCq?= =?us-ascii?Q?J79Vp2MwHyVyQsVCL7xWfbwiW28MspPnWLF4e1LSufrqZn2+/5DHKQMZn+Oa?= =?us-ascii?Q?ikTEaCVuMvpQiGecQKDWAdGK7ATNkqpode+QN7RSwyH4mpKhWtZsjs0zKFFB?= =?us-ascii?Q?T5avv1Cul5GiQzlnltVEgRKsG+/Ww9ImlzKgGNz/qfRQ0HSB99OU5XhHdORd?= =?us-ascii?Q?dnSOR0nG+CkvY9QjjMQUnlLwXnQYTUcFdQqr5vkXED7SX17sSv7o3EiwoWKB?= =?us-ascii?Q?oVWXJLmg6Qz/55i5AWugPAPUKtB7LdufUbCkULdD58ruL1PxoMYigBDRmZwW?= =?us-ascii?Q?5U310nTtnMASk9dZeD0w7o5g47jsP0taSb9gTRVTNcOfD6GXtxqUIBQ9hDAX?= =?us-ascii?Q?YNeO2xDYF8k5IsNqBOcNU4IROUjuu8nNPZxGTATD876dHdzWdG2bEuP3mkUG?= =?us-ascii?Q?LcW4bOHFe77b9sZxZZzBDxJlOBtBRit/0FHfgPoqnPSFZtV5WvRn+semYovE?= =?us-ascii?Q?Kq/Nss/FJBOLtMCxCO6F5+qGSli5jbxylHCP+CCm+jtCkirzUO3jnQgF4Jzp?= =?us-ascii?Q?shcuS4C1QCjpO3lxJrv2TQrT6RW8gGU2nfdK4nMDTdnceC+nv/JcOoaRnfj6?= =?us-ascii?Q?kUoA+/F3L3cm1QVNj85hHsueuvNADSZflNvSRz2WsF0AK40S26sxkJKVfueq?= =?us-ascii?Q?zOZzZB+9kUKlQ4r4qnyvQVFVykbCbsBrLEtY1qoshssOyD6du4p4l3qg6QZt?= =?us-ascii?Q?vPtzV0w4ZfGUSJCBE8dAaGgQwbwvVYZ6aI1edPij0lIUUy5bNIzVR4WC8qwL?= =?us-ascii?Q?TktgshXiSnUsq91oEZK5/wtusHyu1+B7SOh8SpdfMnyY0b83E+zdCdljGWG+?= =?us-ascii?Q?eQCD0xwC4gqO48v5n7QMLDP9gQ5/e2uExXsuoWTb255le/J5zbrsC+40ctEB?= =?us-ascii?Q?wytKxFey7qi6O45HO1myilRzkUgmDzCNo3nnxxuYLu/FfSRiu2IdR9igUX+U?= =?us-ascii?Q?8ffiVaVIcCOtt4qnY2bUYtvkU+j2eEjztIpq7/SEkkGEGd6ivcVeIht3MtnZ?= =?us-ascii?Q?f9Ld8fIA8zuKtPyhO+nTSXRFHf4BRIBR80g63I7a+8eR3CN36BPh4baYvuSl?= =?us-ascii?Q?NcKfRlSvx28QmWfNvuHQVvelLmyIBjSnAfwCGttrM7R2EmlWRBsxuWFkAOx+?= =?us-ascii?Q?JdCEnKxcnUNJyeFlbY+OdeIYEX9pjfLci+Z9FDmYHgnjJX1Hf9FGqYkgfpwn?= =?us-ascii?Q?ut5OUOcdVgt0hdyHYJX/WcCB?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5056.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?nhS1EPdg151rJkegbU+X57Lu1WeBTNSTwVkhfxinrjMZuIrvmQ7nahvpCaQf?= =?us-ascii?Q?proWp4MvuTVgL5hKRbG2RIbHPuirpvBEhGhJW3uS0w9N1JtBBsQqUs3qQwh/?= =?us-ascii?Q?oAKANM/aWf9UJJdM46wIu6/Q790gswK0IPfDp6FYyQ6a1LOKcxg9y6jDMm3X?= =?us-ascii?Q?nZMOBhNKEpnpaMfFUX8qA7UB2ZBPIuW5f+9uODkQ+puXlxKK67NrFDR8KkoP?= =?us-ascii?Q?RON6yp2JeY1groc9nTGX7m/autIyECHWt7dcXjnWO8uqGBYuejiQ6a/vXcIC?= =?us-ascii?Q?VGw9L2p63tIlVvlMaI4dI8DmFLDEu7qEp6a0werBbAd/9sbnEb/JDe7DfuyB?= =?us-ascii?Q?+YZthLQx/7OH1wnMmsTWY2E8IRWMphFr83VlYo2DSMWIZcSQd5KLDYYIBg8M?= =?us-ascii?Q?C3D9kyktsxFbsveJdsty42kuH5unCz3Mbl0w2Y/jgUpxlR850Q2B2xR8oLV4?= =?us-ascii?Q?Z+/KwcmoruJbOKWvO1LCntDayJY6FkadAy+RMebobA/QGiLCVGNx1SoMjH1T?= =?us-ascii?Q?VGUJwlCe7dx/3tsRv6vZHrD80oRBgFokrI23lTLf5hlcsZa2yPIUHOMP7lyK?= =?us-ascii?Q?v7D5rkEBqFCUPQ7gkLp4qOymfAJnicHtm7shpKnE4DBLg0/aVnRePepgZkrs?= =?us-ascii?Q?pCIeuwoot16JhKT5Jv2jMdGEe1w+Fbbfk7MKmQhZAezDFK4XDdo6ZMFuYE1C?= =?us-ascii?Q?UV3rOeX74x+NnbjpwvTu6p12ZN5i4TG90940+wxBVPfeDfaEA6H9b2BZsX9E?= =?us-ascii?Q?biOKaUCdB0nUq7FI+BTmE0OM5l3UKP0nceRVuK8AZmuPuefi+tgE58na60l6?= =?us-ascii?Q?x8FHQat54+79oVh+R+db5ADinXGdnz8ltbTlfRyacHkCzf7TWNEF4uS9V9rB?= =?us-ascii?Q?h9p8MMLPEz//PDyH+zyk2TdnVpmZW8vs9z0wiMUkXCHneekTyj2x6dJ8eOCW?= =?us-ascii?Q?93Jsi0AILi6tTBVLA9LqMGLHdL3ptxpLOnhgA/tNoW/1RXZmmhVawsBXouiO?= =?us-ascii?Q?lVO7MQKruGAYVOJw9NEITLjHghFkaRLD0EeFmh+o/CUNcmz3y9OaPPfFBaBY?= =?us-ascii?Q?qNVO+tmmXBiiPWGqm1W1mibV7MumP5a3iyhnUcu8TRFhw4iuABxVtPAF4YD6?= =?us-ascii?Q?kcOJ5aWK+QZMWpRM/StY3xqTAjdHeL3hmHjL1VMuO0e9s0MYhW4O/kWw/svP?= =?us-ascii?Q?wvJOEuRpOaCkwJ4Wf5qbEbBVfutgTz49D9K1hUaq9xETwcTPZAWRLyYZmoSG?= =?us-ascii?Q?3rI7WSsr2xZmahQM6Kkrec/5NXKfoKIyTHt2BTB8pUUlxvZkVkMsCqSLOmQA?= =?us-ascii?Q?O2G9bg48rH3n/gS9XwAFlSFVI9IV1dkrWFoi1ybDpb2Jtgxl0ygB59f/JQWE?= =?us-ascii?Q?zi/dY54m7TLL1I/YFCBJxow9Q6xrKJPYUQ9xnmcDH/Ql8BoJZAxupSILaFhh?= =?us-ascii?Q?J3wH9it5OEdaOAOUNcejnPqGzgg4fmZ+eNCQSzuoursD32bc2hrUhnlWSlmU?= =?us-ascii?Q?oLMMsBrvhi5OxROoTpm9JYO9ZMOVY3GiyiArCwmpYa4ij+pAlgupdHWH1y9p?= =?us-ascii?Q?lPf9CmE5rb8SMnHxt5NqxCO9xOSI1G4vneuumSAa?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5056.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c3a0148-40a3-4f38-daee-08dcef7404a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2024 12:54:35.2784 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: tuwno30aoa0DySxYRWY1EsO8+WMyVLvXM0CBfu9PZJv++g1k/e/ytYrwiVn2kxzyJkRl00G3BRGK8UydYpKiLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6753 X-OriginatorOrg: intel.com 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 Hey ARM folks, Intel IPsec MB minimum version is being bumped to 1.4. > -----Original Message----- > From: Dooley, Brian > Sent: Thursday 10 October 2024 11:13 > To: Ji, Kai ; De Lara Guarch, Pablo > > Cc: dev@dpdk.org; gakhil@marvell.com; Dooley, Brian > > Subject: [PATCH v3] crypto/ipsec_mb: bump minimum IPsec MB version >=20 > AESNI_MB SW PMDs increment Intel IPsec MB version to 1.4. > A minimum IPsec Multi-buffer version of 1.4 or greater is now required fo= r the > 24.11 LTS release. >=20 > Signed-off-by: Brian Dooley > Acked-by: Kai Ji > Acked-by: Pablo de Lara > --- > This patch relates to a deprecation notice sent in the 24.03 release. > Intel IPsec MB minimum version being bumped to 1.4 for the 24.11 release. > https://patches.dpdk.org/project/dpdk/patch/20240314103731.3242086- > 2-brian.dooley@intel.com/ >=20 > v2: > Added release note > Remove more IMB_VERSION checks > v3: > Remove deprecation notice > --- > doc/guides/cryptodevs/aesni_gcm.rst | 3 +- > doc/guides/cryptodevs/aesni_mb.rst | 3 +- > doc/guides/cryptodevs/chacha20_poly1305.rst | 3 +- > doc/guides/cryptodevs/kasumi.rst | 3 +- > doc/guides/cryptodevs/snow3g.rst | 3 +- > doc/guides/cryptodevs/zuc.rst | 3 +- > doc/guides/rel_notes/deprecation.rst | 5 - > doc/guides/rel_notes/release_24_11.rst | 3 + > drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 24 -- > drivers/crypto/ipsec_mb/meson.build | 2 +- > drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 268 +------------------- > drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 9 - > 12 files changed, 19 insertions(+), 310 deletions(-) >=20 > diff --git a/doc/guides/cryptodevs/aesni_gcm.rst > b/doc/guides/cryptodevs/aesni_gcm.rst > index 3af1486553..7592d33da2 100644 > --- a/doc/guides/cryptodevs/aesni_gcm.rst > +++ b/doc/guides/cryptodevs/aesni_gcm.rst > @@ -74,7 +74,8 @@ and the external crypto libraries supported by them: > DPDK version Crypto library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 20.11 - 21.08 Multi-buffer library 0.53 - 1.3 > - 21.11+ Multi-buffer library 1.0 - 1.5 > + 21.11 - 24.07 Multi-buffer library 1.0 - 1.5 > + 24.11+ Multi-buffer library 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/cryptodevs/aesni_mb.rst > b/doc/guides/cryptodevs/aesni_mb.rst > index ca930be1bd..16d82147b2 100644 > --- a/doc/guides/cryptodevs/aesni_mb.rst > +++ b/doc/guides/cryptodevs/aesni_mb.rst > @@ -137,7 +137,8 @@ and the Multi-Buffer library version supported by > them: > DPDK version Multi-buffer library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 20.11 - 21.08 0.53 - 1.3 > - 21.11+ 1.0 - 1.5 > + 21.11 - 24.07 1.0 - 1.5 > + 24.11+ 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/cryptodevs/chacha20_poly1305.rst > b/doc/guides/cryptodevs/chacha20_poly1305.rst > index 44cff85918..b5a980b247 100644 > --- a/doc/guides/cryptodevs/chacha20_poly1305.rst > +++ b/doc/guides/cryptodevs/chacha20_poly1305.rst > @@ -66,7 +66,8 @@ and the external crypto libraries supported by them: > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > DPDK version Crypto library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > - 21.11+ Multi-buffer library 1.0-1.5 > + 21.11 - 24.07 Multi-buffer library 1.0 - 1.5 > + 24.11+ Multi-buffer library 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/cryptodevs/kasumi.rst > b/doc/guides/cryptodevs/kasumi.rst > index 4070f025e1..b57f18b56f 100644 > --- a/doc/guides/cryptodevs/kasumi.rst > +++ b/doc/guides/cryptodevs/kasumi.rst > @@ -80,7 +80,8 @@ and the external crypto libraries supported by them: > DPDK version Crypto library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 20.02 - 21.08 Multi-buffer library 0.53 - 1.3 > - 21.11+ Multi-buffer library 1.0 - 1.5 > + 21.11 - 24.07 Multi-buffer library 1.0 - 1.5 > + 24.11+ Multi-buffer library 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/cryptodevs/snow3g.rst > b/doc/guides/cryptodevs/snow3g.rst > index 6eb8229fb5..fb4e0448ac 100644 > --- a/doc/guides/cryptodevs/snow3g.rst > +++ b/doc/guides/cryptodevs/snow3g.rst > @@ -89,7 +89,8 @@ and the external crypto libraries supported by them: > DPDK version Crypto library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 20.02 - 21.08 Multi-buffer library 0.53 - 1.3 > - 21.11+ Multi-buffer library 1.0 - 1.5 > + 21.11 - 24.07 Multi-buffer library 1.0 - 1.5 > + 24.11+ Multi-buffer library 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rs= t > index 29fe6279aa..4615562246 100644 > --- a/doc/guides/cryptodevs/zuc.rst > +++ b/doc/guides/cryptodevs/zuc.rst > @@ -88,7 +88,8 @@ and the external crypto libraries supported by them: > DPDK version Crypto library version > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > 20.02 - 21.08 Multi-buffer library 0.53 - 1.3 > - 21.11+ Multi-buffer library 1.0 - 1.5 > + 21.11 - 24.07 Multi-buffer library 1.0 - 1.5 > + 24.11+ Multi-buffer library 1.4 - 1.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Initialization > diff --git a/doc/guides/rel_notes/deprecation.rst > b/doc/guides/rel_notes/deprecation.rst > index 1535ea7abf..dd920bc3d7 100644 > --- a/doc/guides/rel_notes/deprecation.rst > +++ b/doc/guides/rel_notes/deprecation.rst > @@ -169,11 +169,6 @@ Deprecation Notices > * fib: A new flag field will be introduced in ``rte_fib_conf`` structure > in DPDK 24.11. This field will be used to pass extra configuration set= tings. >=20 > -* cryptodev: The Intel IPsec Multi-Buffer version will be bumped > - to a minimum version of v1.4. > - This will effect the KASUMI, SNOW3G, ZUC, AESNI GCM, AESNI MB and > CHACHAPOLY > - SW PMDs. > - > * eventdev: The single-event (non-burst) enqueue and dequeue operations, > used by static inline burst enqueue and dequeue functions in > ``rte_eventdev.h``, > will be removed in DPDK 23.11. > diff --git a/doc/guides/rel_notes/release_24_11.rst > b/doc/guides/rel_notes/release_24_11.rst > index 6a8ffe6f19..4430cf5b3a 100644 > --- a/doc/guides/rel_notes/release_24_11.rst > +++ b/doc/guides/rel_notes/release_24_11.rst > @@ -82,6 +82,9 @@ New Features > * Added support for SM3 algorithm. > * Added support for SM3 HMAC algorithm. > * Added support for SM4 CBC, SM4 ECB and SM4 CTR algorithms. > + * In 24.11 LTS release the Intel IPsec Multi-buffer version is bumped = to a > + minimum version of v1.4. This will effect the KASUMI, SNOW3G, ZUC, > + AESNI GCM, AESNI MB and CHACHAPOLY SW PMDs. >=20 > * **Updated openssl crypto driver.** >=20 > diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > index ba899604d2..910efb1a97 100644 > --- a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > +++ b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c > @@ -11,8 +11,6 @@ >=20 > #include "ipsec_mb_private.h" >=20 > -#define IMB_MP_REQ_VER_STR "1.1.0" > - > /** Configure device */ > int > ipsec_mb_config(__rte_unused struct rte_cryptodev *dev, @@ -147,15 > +145,10 @@ ipsec_mb_qp_release(struct rte_cryptodev *dev, uint16_t > qp_id) > if (rte_eal_process_type() =3D=3D RTE_PROC_PRIMARY) { > rte_ring_free(rte_ring_lookup(qp->name)); >=20 > -#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM > - if (qp->mb_mgr) > - free_mb_mgr(qp->mb_mgr); > -#else > if (qp->mb_mgr_mz) { > rte_memzone_free(qp->mb_mgr_mz); > qp->mb_mgr =3D NULL; > } > -#endif > rte_free(qp); > dev->data->queue_pairs[qp_id] =3D NULL; > } else { /* secondary process */ > @@ -211,7 +204,6 @@ static struct rte_ring > RING_F_SP_ENQ | RING_F_SC_DEQ); } >=20 > -#if IMB_VERSION(1, 1, 0) <=3D IMB_VERSION_NUM static IMB_MGR * > ipsec_mb_alloc_mgr_from_memzone(const struct rte_memzone > **mb_mgr_mz, > const char *mb_mgr_mz_name) > @@ -244,7 +236,6 @@ ipsec_mb_alloc_mgr_from_memzone(const struct > rte_memzone **mb_mgr_mz, > } > return mb_mgr; > } > -#endif >=20 > /** Setup a queue pair */ > int > @@ -260,12 +251,6 @@ ipsec_mb_qp_setup(struct rte_cryptodev *dev, > uint16_t qp_id, > int ret; >=20 > if (rte_eal_process_type() =3D=3D RTE_PROC_SECONDARY) { -#if > IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM > - IPSEC_MB_LOG(ERR, "The intel-ipsec-mb version (%s) does > not support multiprocess," > - "the minimum version required for this > feature is %s.", > - IMB_VERSION_STR, IMB_MP_REQ_VER_STR); > - return -EINVAL; > -#endif > qp =3D dev->data->queue_pairs[qp_id]; > if (qp =3D=3D NULL) { > IPSEC_MB_LOG(DEBUG, "Secondary process setting > up device qp."); @@ -285,15 +270,11 @@ ipsec_mb_qp_setup(struct > rte_cryptodev *dev, uint16_t qp_id, > return -ENOMEM; > } >=20 > -#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM > - qp->mb_mgr =3D alloc_init_mb_mgr(); > -#else > char mz_name[IPSEC_MB_MAX_MZ_NAME]; > snprintf(mz_name, sizeof(mz_name), "IMB_MGR_DEV_%d_QP_%d", > dev->data->dev_id, qp_id); > qp->mb_mgr =3D ipsec_mb_alloc_mgr_from_memzone(&(qp- > >mb_mgr_mz), > mz_name); > -#endif > if (qp->mb_mgr =3D=3D NULL) { > ret =3D -ENOMEM; > goto qp_setup_cleanup; > @@ -330,14 +311,9 @@ ipsec_mb_qp_setup(struct rte_cryptodev *dev, > uint16_t qp_id, > return 0; >=20 > qp_setup_cleanup: > -#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM > - if (qp->mb_mgr) > - free_mb_mgr(qp->mb_mgr); > -#else > if (rte_eal_process_type() =3D=3D RTE_PROC_SECONDARY) > return ret; > rte_memzone_free(qp->mb_mgr_mz); > -#endif > rte_free(qp); > return ret; > } > diff --git a/drivers/crypto/ipsec_mb/meson.build > b/drivers/crypto/ipsec_mb/meson.build > index 87bf965554..0c988d7411 100644 > --- a/drivers/crypto/ipsec_mb/meson.build > +++ b/drivers/crypto/ipsec_mb/meson.build > @@ -7,7 +7,7 @@ if is_windows > subdir_done() > endif >=20 > -IMB_required_ver =3D '1.0.0' > +IMB_required_ver =3D '1.4.0' > IMB_header =3D '#include' > if arch_subdir =3D=3D 'arm' > IMB_header =3D '#include' > diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > index a275ff0fe2..05dc1a039f 100644 > --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c > @@ -15,51 +15,6 @@ struct aesni_mb_op_buf_data { > uint32_t offset; > }; >=20 > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > -/** > - * Calculate the authentication pre-computes > - * > - * @param one_block_hash Function pointer > - * to calculate digest on ipad/opad > - * @param ipad Inner pad output byte array > - * @param opad Outer pad output byte array > - * @param hkey Authentication key > - * @param hkey_len Authentication key length > - * @param blocksize Block size of selected hash algo > - */ > -static void > -calculate_auth_precomputes(hash_one_block_t one_block_hash, > - uint8_t *ipad, uint8_t *opad, > - const uint8_t *hkey, uint16_t hkey_len, > - uint16_t blocksize) > -{ > - uint32_t i, length; > - > - alignas(16) uint8_t ipad_buf[blocksize]; > - alignas(16) uint8_t opad_buf[blocksize]; > - > - /* Setup inner and outer pads */ > - memset(ipad_buf, HMAC_IPAD_VALUE, blocksize); > - memset(opad_buf, HMAC_OPAD_VALUE, blocksize); > - > - /* XOR hash key with inner and outer pads */ > - length =3D hkey_len > blocksize ? blocksize : hkey_len; > - > - for (i =3D 0; i < length; i++) { > - ipad_buf[i] ^=3D hkey[i]; > - opad_buf[i] ^=3D hkey[i]; > - } > - > - /* Compute partial hashes */ > - (*one_block_hash)(ipad_buf, ipad); > - (*one_block_hash)(opad_buf, opad); > - > - /* Clean up stack */ > - memset(ipad_buf, 0, blocksize); > - memset(opad_buf, 0, blocksize); > -} > -#endif > - > static inline int > is_aead_algo(IMB_HASH_ALG hash_alg, IMB_CIPHER_MODE cipher_mode) { > @@ -74,10 +29,6 @@ aesni_mb_set_session_auth_parameters(IMB_MGR > *mb_mgr, > struct aesni_mb_session *sess, > const struct rte_crypto_sym_xform *xform) { -#if > IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_one_block_t hash_oneblock_fn =3D NULL; > - unsigned int key_larger_block_size =3D 0; > -#endif > uint8_t hashed_key[HMAC_MAX_BLOCK_SIZE] =3D { 0 }; > uint32_t auth_precompute =3D 1; >=20 > @@ -216,13 +167,9 @@ aesni_mb_set_session_auth_parameters(IMB_MGR > *mb_mgr, > } > } else if (xform->auth.key.length =3D=3D 32) { > sess->template_job.hash_alg =3D > IMB_AUTH_ZUC256_EIA3_BITLEN; -#if IMB_VERSION(1, 2, 0) < > IMB_VERSION_NUM > if (sess->auth.req_digest_len !=3D 4 && > sess->auth.req_digest_len !=3D 8 && > sess->auth.req_digest_len !=3D 16) { - > #else > - if (sess->auth.req_digest_len !=3D 4) { > -#endif > IPSEC_MB_LOG(ERR, "Invalid digest size"); > return -EINVAL; > } > @@ -273,24 +220,15 @@ > aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr, > switch (xform->auth.algo) { > case RTE_CRYPTO_AUTH_MD5_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_MD5; -#if > IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->md5_one_block; > -#endif > break; > case RTE_CRYPTO_AUTH_SHA1_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_HMAC_SHA_1; -#if > IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->sha1_one_block; > -#endif > if (xform->auth.key.length > get_auth_algo_blocksize( > IMB_AUTH_HMAC_SHA_1)) { > IMB_SHA1(mb_mgr, > xform->auth.key.data, > xform->auth.key.length, > hashed_key); > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - key_larger_block_size =3D 1; > -#endif > } > break; > case RTE_CRYPTO_AUTH_SHA1: > @@ -299,18 +237,12 @@ > aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr, > break; > case RTE_CRYPTO_AUTH_SHA224_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_HMAC_SHA_224; > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->sha224_one_block; > -#endif > if (xform->auth.key.length > get_auth_algo_blocksize( > IMB_AUTH_HMAC_SHA_224)) { > IMB_SHA224(mb_mgr, > xform->auth.key.data, > xform->auth.key.length, > hashed_key); > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - key_larger_block_size =3D 1; > -#endif > } > break; > case RTE_CRYPTO_AUTH_SHA224: > @@ -319,18 +251,12 @@ > aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr, > break; > case RTE_CRYPTO_AUTH_SHA256_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_HMAC_SHA_256; > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->sha256_one_block; > -#endif > if (xform->auth.key.length > get_auth_algo_blocksize( > IMB_AUTH_HMAC_SHA_256)) { > IMB_SHA256(mb_mgr, > xform->auth.key.data, > xform->auth.key.length, > hashed_key); > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - key_larger_block_size =3D 1; > -#endif > } > break; > case RTE_CRYPTO_AUTH_SHA256: > @@ -339,18 +265,12 @@ > aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr, > break; > case RTE_CRYPTO_AUTH_SHA384_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_HMAC_SHA_384; > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->sha384_one_block; > -#endif > if (xform->auth.key.length > get_auth_algo_blocksize( > IMB_AUTH_HMAC_SHA_384)) { > IMB_SHA384(mb_mgr, > xform->auth.key.data, > xform->auth.key.length, > hashed_key); > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - key_larger_block_size =3D 1; > -#endif > } > break; > case RTE_CRYPTO_AUTH_SHA384: > @@ -359,18 +279,12 @@ > aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr, > break; > case RTE_CRYPTO_AUTH_SHA512_HMAC: > sess->template_job.hash_alg =3D IMB_AUTH_HMAC_SHA_512; > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - hash_oneblock_fn =3D mb_mgr->sha512_one_block; > -#endif > if (xform->auth.key.length > get_auth_algo_blocksize( > IMB_AUTH_HMAC_SHA_512)) { > IMB_SHA512(mb_mgr, > xform->auth.key.data, > xform->auth.key.length, > hashed_key); > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - key_larger_block_size =3D 1; > -#endif > } > break; > case RTE_CRYPTO_AUTH_SHA512: > @@ -412,25 +326,9 @@ aesni_mb_set_session_auth_parameters(IMB_MGR > *mb_mgr, > return 0; >=20 > /* Calculate Authentication precomputes */ -#if IMB_VERSION(1, 3, > 0) < IMB_VERSION_NUM > - imb_hmac_ipad_opad(mb_mgr, sess- > >template_job.hash_alg, > - xform->auth.key.data, xform- > >auth.key.length, > - sess->auth.pads.inner, sess- > >auth.pads.outer); > -#else > - if (key_larger_block_size) { > - calculate_auth_precomputes(hash_oneblock_fn, > - sess->auth.pads.inner, sess->auth.pads.outer, > - hashed_key, > - xform->auth.key.length, > - get_auth_algo_blocksize(sess- > >template_job.hash_alg)); > - } else { > - calculate_auth_precomputes(hash_oneblock_fn, > - sess->auth.pads.inner, sess->auth.pads.outer, > - xform->auth.key.data, > - xform->auth.key.length, > - get_auth_algo_blocksize(sess- > >template_job.hash_alg)); > - } > -#endif > + imb_hmac_ipad_opad(mb_mgr, sess->template_job.hash_alg, > + xform->auth.key.data, xform- > >auth.key.length, > + sess->auth.pads.inner, sess- > >auth.pads.outer); > sess->template_job.u.HMAC._hashed_auth_key_xor_ipad =3D > sess->auth.pads.inner; > sess->template_job.u.HMAC._hashed_auth_key_xor_opad =3D @@ - > 915,11 +813,9 @@ aesni_mb_session_configure(IMB_MGR *mb_mgr, > } > } >=20 > -#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM > sess->session_id =3D imb_set_session(mb_mgr, &sess->template_job); > sess->pid =3D getpid(); > RTE_PER_LCORE(pid) =3D sess->pid; > -#endif >=20 > return 0; > } > @@ -1052,9 +948,7 @@ aesni_mb_set_docsis_sec_session_parameters( > goto error_exit; > } >=20 > -#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM > ipsec_sess->session_id =3D imb_set_session(mb_mgr, &ipsec_sess- > >template_job); -#endif >=20 > error_exit: > free_mb_mgr(mb_mgr); > @@ -1309,7 +1203,6 @@ imb_lib_support_sgl_algo(IMB_CIPHER_MODE alg) > return 0; > } >=20 > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM static inline int > single_sgl_job(IMB_JOB *job, struct rte_crypto_op *op, > int oop, uint32_t offset, struct rte_mbuf *m_src, @@ -1394,7 > +1287,6 @@ single_sgl_job(IMB_JOB *job, struct rte_crypto_op *op, > job->sgl_io_segs =3D sgl_segs; > return 0; > } > -#endif >=20 > static inline int > multi_sgl_job(IMB_JOB *job, struct rte_crypto_op *op, @@ -1464,9 +1356,7 > @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB *job, const uint8_t sgl, > job->msg_len_to_hash_in_bytes =3D 0; > job->msg_len_to_cipher_in_bytes =3D 0; > job->cipher_start_src_offset_in_bytes =3D 0; -#if > IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM > imb_set_session(mb_mgr, job); > -#endif > } else { > job->hash_start_src_offset_in_bytes =3D > op->sym->aead.data.offset; > @@ -1494,13 +1384,11 @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB > *job, const uint8_t sgl, > job->src =3D NULL; > job->dst =3D NULL; >=20 > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM > if (m_src->nb_segs <=3D MAX_NUM_SEGS) > return single_sgl_job(job, op, oop, > m_offset, m_src, m_dst, > qp_data->sgl_segs); > else > -#endif > return multi_sgl_job(job, op, oop, > m_offset, m_src, m_dst, mb_mgr); > } else { > @@ -1590,10 +1478,6 @@ set_mb_job_params(IMB_JOB *job, struct > ipsec_mb_qp *qp, > uint8_t sgl =3D 0; > uint8_t lb_sgl =3D 0; >=20 > -#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM > - (void) pid; > -#endif > - > session =3D ipsec_mb_get_session_private(qp, op); > if (session =3D=3D NULL) { > op->status =3D RTE_CRYPTO_OP_STATUS_INVALID_SESSION; > @@ -1603,12 +1487,10 @@ set_mb_job_params(IMB_JOB *job, struct > ipsec_mb_qp *qp, > const IMB_CIPHER_MODE cipher_mode =3D > session->template_job.cipher_mode; >=20 > -#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM > if (session->pid !=3D pid) { > memcpy(job, &session->template_job, sizeof(IMB_JOB)); > imb_set_session(mb_mgr, job); > } else if (job->session_id !=3D session->session_id) -#endif > memcpy(job, &session->template_job, sizeof(IMB_JOB)); >=20 > if (!op->sym->m_dst) { > @@ -1649,9 +1531,7 @@ set_mb_job_params(IMB_JOB *job, struct > ipsec_mb_qp *qp, > job->u.GCM.ctx =3D &qp_data->gcm_sgl_ctx; > job->cipher_mode =3D IMB_CIPHER_GCM_SGL; > job->hash_alg =3D IMB_AUTH_GCM_SGL; > -#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM > imb_set_session(mb_mgr, job); > -#endif > } > break; > case IMB_AUTH_AES_GMAC_128: > @@ -1676,9 +1556,7 @@ set_mb_job_params(IMB_JOB *job, struct > ipsec_mb_qp *qp, > job->u.CHACHA20_POLY1305.ctx =3D &qp_data- > >chacha_sgl_ctx; > job->cipher_mode =3D > IMB_CIPHER_CHACHA20_POLY1305_SGL; > job->hash_alg =3D > IMB_AUTH_CHACHA20_POLY1305_SGL; -#if IMB_VERSION(1, 3, 0) < > IMB_VERSION_NUM > imb_set_session(mb_mgr, job); > -#endif > } > break; > default: > @@ -1874,13 +1752,11 @@ set_mb_job_params(IMB_JOB *job, struct > ipsec_mb_qp *qp, > if (lb_sgl) > return handle_sgl_linear(job, op, m_offset, session); >=20 > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM > if (m_src->nb_segs <=3D MAX_NUM_SEGS) > return single_sgl_job(job, op, oop, > m_offset, m_src, m_dst, > qp_data->sgl_segs); > else > -#endif > return multi_sgl_job(job, op, oop, > m_offset, m_src, m_dst, mb_mgr); > } > @@ -2200,7 +2076,6 @@ set_job_null_op(IMB_JOB *job, struct > rte_crypto_op *op) > return job; > } >=20 > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM uint16_t > aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, > uint16_t nb_ops) > @@ -2333,144 +2208,7 @@ aesni_mb_dequeue_burst(void *queue_pair, > struct rte_crypto_op **ops, >=20 > return processed_jobs; > } > -#else > - > -/** > - * Process a completed IMB_JOB job and keep processing jobs until > - * get_completed_job return NULL > - * > - * @param qp Queue Pair to process > - * @param mb_mgr IMB_MGR to use > - * @param job IMB_JOB job > - * @param ops crypto ops to fill > - * @param nb_ops number of crypto ops > - * > - * @return > - * - Number of processed jobs > - */ > -static unsigned > -handle_completed_jobs(struct ipsec_mb_qp *qp, IMB_MGR *mb_mgr, > - IMB_JOB *job, struct rte_crypto_op **ops, > - uint16_t nb_ops) > -{ > - struct rte_crypto_op *op =3D NULL; > - uint16_t processed_jobs =3D 0; > - > - while (job !=3D NULL) { > - op =3D post_process_mb_job(qp, job); > - > - if (op) { > - ops[processed_jobs++] =3D op; > - qp->stats.dequeued_count++; > - } else { > - qp->stats.dequeue_err_count++; > - break; > - } > - if (processed_jobs =3D=3D nb_ops) > - break; > - > - job =3D IMB_GET_COMPLETED_JOB(mb_mgr); > - } > - > - return processed_jobs; > -} > - > -static inline uint16_t > -flush_mb_mgr(struct ipsec_mb_qp *qp, IMB_MGR *mb_mgr, > - struct rte_crypto_op **ops, uint16_t nb_ops) > -{ > - int processed_ops =3D 0; > - > - /* Flush the remaining jobs */ > - IMB_JOB *job =3D IMB_FLUSH_JOB(mb_mgr); > - > - if (job) > - processed_ops +=3D handle_completed_jobs(qp, mb_mgr, job, > - &ops[processed_ops], nb_ops - > processed_ops); > - > - return processed_ops; > -} > - > -uint16_t > -aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, > - uint16_t nb_ops) > -{ > - struct ipsec_mb_qp *qp =3D queue_pair; > - IMB_MGR *mb_mgr =3D qp->mb_mgr; > - struct rte_crypto_op *op; > - IMB_JOB *job; > - int retval, processed_jobs =3D 0; > - pid_t pid =3D 0; > - > - if (unlikely(nb_ops =3D=3D 0 || mb_mgr =3D=3D NULL)) > - return 0; > - > - uint8_t digest_idx =3D qp->digest_idx; >=20 > - do { > - /* Get next free mb job struct from mb manager */ > - job =3D IMB_GET_NEXT_JOB(mb_mgr); > - if (unlikely(job =3D=3D NULL)) { > - /* if no free mb job structs we need to flush mb_mgr > */ > - processed_jobs +=3D flush_mb_mgr(qp, mb_mgr, > - &ops[processed_jobs], > - nb_ops - processed_jobs); > - > - if (nb_ops =3D=3D processed_jobs) > - break; > - > - job =3D IMB_GET_NEXT_JOB(mb_mgr); > - } > - > - /* > - * Get next operation to process from ingress queue. > - * There is no need to return the job to the IMB_MGR > - * if there are no more operations to process, since the > IMB_MGR > - * can use that pointer again in next get_next calls. > - */ > - retval =3D rte_ring_dequeue(qp->ingress_queue, (void **)&op); > - if (retval < 0) > - break; > - > - if (op->sess_type =3D=3D RTE_CRYPTO_OP_SECURITY_SESSION) > - retval =3D set_sec_mb_job_params(job, qp, op, > - &digest_idx); > - else > - retval =3D set_mb_job_params(job, qp, op, > - &digest_idx, mb_mgr, pid); > - > - if (unlikely(retval !=3D 0)) { > - qp->stats.dequeue_err_count++; > - set_job_null_op(job, op); > - } > - > - /* Submit job to multi-buffer for processing */ > -#ifdef RTE_LIBRTE_PMD_AESNI_MB_DEBUG > - job =3D IMB_SUBMIT_JOB(mb_mgr); > -#else > - job =3D IMB_SUBMIT_JOB_NOCHECK(mb_mgr); > -#endif > - /* > - * If submit returns a processed job then handle it, > - * before submitting subsequent jobs > - */ > - if (job) > - processed_jobs +=3D handle_completed_jobs(qp, > mb_mgr, > - job, &ops[processed_jobs], > - nb_ops - processed_jobs); > - > - } while (processed_jobs < nb_ops); > - > - qp->digest_idx =3D digest_idx; > - > - if (processed_jobs < 1) > - processed_jobs +=3D flush_mb_mgr(qp, mb_mgr, > - &ops[processed_jobs], > - nb_ops - processed_jobs); > - > - return processed_jobs; > -} > -#endif > static inline int > check_crypto_sgl(union rte_crypto_sym_ofs so, const struct rte_crypto_sg= l > *sgl) { diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h > b/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h > index 6120a2f62d..468a1f35eb 100644 > --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h > +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h > @@ -17,9 +17,7 @@ > #define HMAC_IPAD_VALUE (0x36) > #define HMAC_OPAD_VALUE (0x5C) >=20 > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM #define MAX_NUM_SEGS > 16 -#endif >=20 > int > aesni_mb_session_configure(IMB_MGR * m __rte_unused, void *priv_sess, > @@ -580,13 +578,8 @@ static const struct rte_cryptodev_capabilities > aesni_mb_capabilities[] =3D { > }, > .digest_size =3D { > .min =3D 4, > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM > .max =3D 16, > .increment =3D 4 > -#else > - .max =3D 4, > - .increment =3D 0 > -#endif > }, > .iv_size =3D { > .min =3D 16, > @@ -843,9 +836,7 @@ struct aesni_mb_qp_data { > * by the driver when verifying a digest provided > * by the user (using authentication verify operation) > */ > -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM > struct IMB_SGL_IOV sgl_segs[MAX_NUM_SEGS]; -#endif > union { > struct gcm_context_data gcm_sgl_ctx; > struct chacha20_poly1305_context_data chacha_sgl_ctx; > -- > 2.25.1