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 E4E5145AD8; Mon, 7 Oct 2024 14:49:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 513DF402BB; Mon, 7 Oct 2024 14:49:30 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by mails.dpdk.org (Postfix) with ESMTP id DF6DE4026C for ; Mon, 7 Oct 2024 14:49:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1728305368; x=1759841368; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=EMqN7HClkVbqRB23xsiXB7I6XJqR1xRUgdLMkf0hOI4=; b=ejfwt/FrcoMSgqDiaX6676Pkw51bWitUrk99uAQ1JkUMyojhRaZhz+wb bSSLB4FRlIWFjMsp5a/ANAvwLO7AbJi53erie0ytiD1jPt1lsCbSvtQEc Z/bPCGaEScQhGookFoEdtzudUkOdO+C6f5ZMOPSQSzWCtMPE7etuaX2jB m7HRBEVUQvdUW2QEn/f1yqrAR3lxxGXW1lHdDENoixE8T/z64EYOc9kyJ cuotO6p4ShDBb5OAoWSG/drbHJZiTYExghNGPfFJ+iijC0go5m7+bLOaW j+2fYFqXQmuacI+51FxWsGXbb0vG/v9hQDBCO1t2C20Vaot4201kXaL/O w==; X-CSE-ConnectionGUID: CQoRKw5+RbesKrBHa1x/Jw== X-CSE-MsgGUID: UkSKtyPJQQ2kkgjzanSdvw== X-IronPort-AV: E=McAfee;i="6700,10204,11218"; a="27542111" X-IronPort-AV: E=Sophos;i="6.11,184,1725346800"; d="scan'208,217";a="27542111" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2024 05:49:27 -0700 X-CSE-ConnectionGUID: fkdbWdr+QZC8iNGIlo8fyg== X-CSE-MsgGUID: QWC3FwdaRRWejk07QLnKOA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,184,1725346800"; d="scan'208,217";a="112931367" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 07 Oct 2024 05:49:27 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Oct 2024 05:49:26 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 7 Oct 2024 05:49:26 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Mon, 7 Oct 2024 05:49:26 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.173) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 7 Oct 2024 05:49:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rFUCgrj9k0PRP00iI9Szuio1yYVVksbkO3nhaw14ZtYTKfouXh6AXgtYrj50HaCvrZEqPduvP7tu2l6B1ICoYHwZ0XSKuqNjz6xQzdlvZkQs/HZJBbTw5R1Gw8CZ8Fi2xXr0CpiZsuBpL9E+QySxopTxf9EWlT1TS5qefidFbIc0xqAFtA0nNcIP5Y8oxbiInnnHpqnVjPmbW1q3b1Roo+UgHdQlxcOyXaB8vRXO/AiY6SHWjUQx+sAZ9xUV3lwtXIWeKCpV1dfq/EmV/1Zvt+vjZwWiq8gKPHuQeKH7ybKx2CBhKLYO6ubUKVWxCEp6dO1KcQzL8JdbU8A9TT8jvQ== 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=rukj/cucAG7R3uiv7oFsvsAu6YMOwm3oEnNs5vogtUw=; b=uMcD+ptQboHRmILRu9ByJYh3hOBhTjCqCu9mazBjn3b6IdHLgilTNfFmG16thGbLV9BvPlU7eODpa7Bl/GfR2b9w1mUwpwaMBHuYK25FEnvqoizxgGZNKo4wi1W6raIWOdtDbCw28gShIT0HNVBt++bOHzxyvPZhmjviZ4lffY/hCVzYvNTsMxykkbedJQki44vdO7kazfllO/0C3V34E+Tw8HupY8BJc8vweM9IUnhQExH3dME2Jowvzp/sIJcnEmvkGeuS9wZ3EUmCpFPPSiN7SCHEfhDqdjkHTGVs6PQ92vpcvkhx42IlWsSeIX3Ezxmry2b1Wd04X6ulYkGRUQ== 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 SN7PR11MB6797.namprd11.prod.outlook.com (2603:10b6:806:263::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.22; Mon, 7 Oct 2024 12:49:22 +0000 Received: from SJ0PR11MB5056.namprd11.prod.outlook.com ([fe80::4f35:279e:a725:ad08]) by SJ0PR11MB5056.namprd11.prod.outlook.com ([fe80::4f35:279e:a725:ad08%3]) with mapi id 15.20.8026.020; Mon, 7 Oct 2024 12:49:22 +0000 From: "Dooley, Brian" To: "Ji, Kai" , "De Lara Guarch, Pablo" CC: "dev@dpdk.org" , "gakhil@marvell.com" , "wathsala.vithanage@arm.com" Subject: Re: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB version Thread-Topic: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB version Thread-Index: AQHbFm3iICSZMbjppk+QcZn6SeF1G7J7FUAAgAArrsQ= Date: Mon, 7 Oct 2024 12:49:22 +0000 Message-ID: References: <20241004145815.2275878-1-brian.dooley@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: 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_|SN7PR11MB6797:EE_ x-ms-office365-filtering-correlation-id: 6ff1ed62-a451-4550-9871-08dce6ce77dc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?6JUEN+te+Jq/N6fmeoammyRo+BC1sy3sfqtnhW5Bwb+HEcISEtZ4THFcmzGR?= =?us-ascii?Q?fSATnSbXKqk1vIEvE0+WA6gKeBMBRYq07RuMse+dc0h9sZyL0RXNeiD2KMc/?= =?us-ascii?Q?OiGIIma1UZPeRHewMC6RwfJAX/OWdwlR8Ol/GAOvkz1iyYcrXbi8FUCIUAM3?= =?us-ascii?Q?GkI5wiISlhVqON3+VwiRIR9rrvxTTtMB+q8F10YyKVB7usIUJxXT3Y0Oxjuj?= =?us-ascii?Q?UJLQO3oJFOfdRI4zoWl/7KJP+t1vTkNerSDxRsuEY5MEbGNd6QIrAS7fhvQ6?= =?us-ascii?Q?kPiPhdHh+/BGVkRVHKj/nniZOAeOzG6LpjdDajnZMCOWOz8GJ3drA98Z7VUN?= =?us-ascii?Q?9MyXseZWbpNLBvLLuYER9VbCu5w5CBwGLiaMluinlZniL7bP70Pv0EybGxlx?= =?us-ascii?Q?vlpPCupddIkHXIibSGNfcfjvh0Um0VJTGjnOJ0BZFvXmRSX7OiP9bSm02qKO?= =?us-ascii?Q?cF3U81nKJdueahsYXXmk8wuzzMR9AfIy92hZXO9eUDnGch/Pgttdjp3Xy0/3?= =?us-ascii?Q?kyeNOOI6XgIJGaafyYkA+5+m3yd+8XnEhMBuOLEMiXiXf+sl66OC+C0q11Or?= =?us-ascii?Q?0oMwTEXnq9BqNnBchZSitB4ygju6Gg1JLvQoq5gaGkGoexGMRlkiBQZkzQix?= =?us-ascii?Q?glogihNkH65iQyG7UFbk4+L5MUhjdhC8NB63IXlvKUaWalrsghFhlVu3X7c9?= =?us-ascii?Q?Y8Iwfvw05JRgUZNTP50gYg0DGNZYhSIT6gmaNzu0hhjfJlRN7kcdRq7q54yo?= =?us-ascii?Q?/27euT5AZamoh/85zn3a0mkHdMuICvRmPO8RpDFv0BGy5gv5xle+6nlUBarK?= =?us-ascii?Q?8T42xsP6ldYG4aVYCqd5iizAvuPuDrK3GwKU2pcz5Td4ryuxgPojcxG5d9gm?= =?us-ascii?Q?lhqCWM7bj+WL3Usrgv/vJ+tQJEK+u8/xJ9wTjY9DZH8uLjAzOD4FXqk/uGyI?= =?us-ascii?Q?JDNDHOvDVCtHmXqx/Rj68xHRi5G0k6MtKuMqUoP7B9wYqe0gh6Oxp4TvH2B3?= =?us-ascii?Q?Ak1NeCxqwLyXKaSwsNX86HBSTre3xRhlydjtjPcUPHZHsq4Af/AuIHzuCa35?= =?us-ascii?Q?Lwa+/GsftCf6olUHlqzHWVEwl0QPxUFuvGp7gyPXbccez4J24eyVxu1ogyVb?= =?us-ascii?Q?MYXFVGd8ryurO3WDj+iexOOBS6f4RIxucEbL4OBDzHulD5JHdBfYS698+x4A?= =?us-ascii?Q?BrRK0+XrusGd+EA/LcOso0gXUTNcNPqY1vShn/zWKbq4AE9ZypaZMtRoslLQ?= =?us-ascii?Q?7PfubqujX2Vdy/14hFl4Ubio4+aK6NKtS/XL3jeqlw=3D=3D?= 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)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8xp9nUAkXyHuGp0vWnOWRA1OK+tBUlzythAXK7f0cKQRPrJJVPWse9vNWokq?= =?us-ascii?Q?WgTpJ+a+Q973/y5NsDh8q3r10p2bi7OLYX6lYap+qinEjtP7a7ZiwZ+It9lX?= =?us-ascii?Q?YqqNTvl5ZgG01FuNIGohT6JIJVOLIsGEyik5v1hAwYELF5vnUNjN0Qm0Usha?= =?us-ascii?Q?t3rK7+ZBRFAToDimPQGvGdmxwJhLSuscUZ5Ob2pnX/LH6HYnoRsaKPOK6QtS?= =?us-ascii?Q?U6ATZzaR647Y1XWcKkkpNr1zvkzwEpc4yncSMyHQ07oLbGObmqaCV6jodUo7?= =?us-ascii?Q?bsl1LS042Kb5LSFv/N/nelv0q91aC6Lu1nceJjIv5LkRSFATU+dGwPAGz+Ut?= =?us-ascii?Q?8OhW4buTnWOgV8ak3yo0FMAFx6r4OA2xmHNqYdoXoq9Pb3JonFwSgTTuGUEZ?= =?us-ascii?Q?5szDVBPuXsFAXMvvJQpRahYbpcvLpFDmvIDwYeGI21XVMnG/148skZAL214l?= =?us-ascii?Q?l8bEehTOa44PuEd+c9Exa6JrEbHJ5gHuLuOROGvYA5D2UCOoAyUCtxcYowTK?= =?us-ascii?Q?LPbUObqRrdGvLZPYVxrYAbHGhio5b6OhzvAdq78lvOsvnetApv/pDdyG1WC+?= =?us-ascii?Q?btfQcXT3z7H6j4y3GKNPeEtjtbXZwd2g6CoiD9gtLCzC9GG7uKieiWvG0gis?= =?us-ascii?Q?9efgOBZ5YPnWxJvronEzqt97Bj7bU+JwEDNy1KQdM8RafhgWMVKUahlDVvBX?= =?us-ascii?Q?mjJgk7zRGkCGtGPxcKKA90ZE+S0ylk0HggbgCoEZZOmCqoW+i8hKvLsxtvbz?= =?us-ascii?Q?usxCdTSDP1ubl//XMNKtxPtbJTALE9FDFGBBBM4gzgZcYoJEuwPSn/eTpSs8?= =?us-ascii?Q?tynRG3aArbvJ+VwTlD76CLzX27PLPj9CjjiFNrlA5sObyWAFxjFysJKwjpZi?= =?us-ascii?Q?92w4HdDT+fykspiVCoRN1fqLB6SySkovzHBEFYNaqV4kYsxuW7gZ+3n823RM?= =?us-ascii?Q?t7QEzAUKjySd9sCW4xf3Llf2mT6yj5hUCfnsnxEJfkzmzJFN/FCkJ72sBNrQ?= =?us-ascii?Q?4Z4CMk4vY+kXp9F0nPHlM8lC8iEE5hT1ROvO3eIXiyOR37OjOpuKK8w+ignU?= =?us-ascii?Q?7p9ArhqWxTIDiaOCcfiBod1Of2dpOTxkBHao9wq2F55YRPt5A5lXc0x/FuU8?= =?us-ascii?Q?Z1tdkpHIJ5xxHXRXroyjkyGeG0Lr6w55EbpEeYcdWtRzTjkH1/DQwhFvRj2x?= =?us-ascii?Q?OGpoZD/HsuhYwIddL+P5QwmzJDubkGCRg55DH1u+q6ovTB8WbUhv4M15Ak+c?= =?us-ascii?Q?tdL+z7o3LLpZY3S3c/Mp1WMryvj4OsVROQzvIV+1m4oJ+wsBW+iIFWK5rzNE?= =?us-ascii?Q?oF6gymjCCILBROxpB4ySbN0/YEpplV9NuxHEUMUxMkZFAQBG7vugnrzRTcqJ?= =?us-ascii?Q?zN9Uww7pyKz7Ye4ZztDrJ7SXmlLulgb7uL+fVpwFb7aXHDy1kFnDZoENQCCX?= =?us-ascii?Q?RQQ0Z14qMdr5FF4N5gW3eIulzzKdQF3KxLG9OBdT1HoOreb59GEYVXeJV6D6?= =?us-ascii?Q?E6BO2o7Vx6Q9ca5UkyMXaWfDZA+tavA9esFWJbgzQrZ5UDdifSkoUXSPGrGS?= =?us-ascii?Q?qwaD3jmnPwlFX6RRV/iruxai4Rd0ofWPPb+Q99O9?= Content-Type: multipart/alternative; boundary="_000_SJ0PR11MB5056542C5B73607C0371D025837D2SJ0PR11MB5056namp_" 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: 6ff1ed62-a451-4550-9871-08dce6ce77dc X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2024 12:49:22.8266 (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: 6/l/LWlSDNBirgWlNaKTeng3h4VWxpgLy1YNbDhXgaABoDkyfgQVnz4X3LS0eD7BKyqamE0MK7EI5aBTEwTy/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6797 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 --_000_SJ0PR11MB5056542C5B73607C0371D025837D2SJ0PR11MB5056namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Good point Kai, i'll update the patch. Thanks, Brian ________________________________ From: Ji, Kai Sent: Monday, October 7, 2024 11:09 AM To: Dooley, Brian ; De Lara Guarch, Pablo Cc: dev@dpdk.org ; gakhil@marvell.com ; w= athsala.vithanage@arm.com Subject: Re: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB version Acked-by: Kai Ji Any release doc needs to be updated ? ________________________________ From: Dooley, Brian Sent: 04 October 2024 15:58 To: Ji, Kai ; De Lara Guarch, Pablo Cc: dev@dpdk.org ; gakhil@marvell.com ; w= athsala.vithanage@arm.com ; Dooley, Brian Subject: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB version 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 for the 24.11 LTS release. Signed-off-by: Brian Dooley --- 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/ --- 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 +- drivers/crypto/ipsec_mb/ipsec_mb_ops.c | 24 --- drivers/crypto/ipsec_mb/meson.build | 2 +- drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 164 -------------------- drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h | 9 -- 10 files changed, 13 insertions(+), 204 deletions(-) diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/ae= sni_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 Initialization diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aes= ni_mb.rst index 3c77d0f463..c2f6633ee6 100644 --- a/doc/guides/cryptodevs/aesni_mb.rst +++ b/doc/guides/cryptodevs/aesni_mb.rst @@ -132,7 +132,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 Initialization diff --git a/doc/guides/cryptodevs/chacha20_poly1305.rst b/doc/guides/crypt= odevs/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 Initialization diff --git a/doc/guides/cryptodevs/kasumi.rst b/doc/guides/cryptodevs/kasum= i.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 Initialization diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3= g.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 Initialization diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst 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 Initialization 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 @@ #include "ipsec_mb_private.h" -#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)); -#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); } -#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_memzon= e **mb_mgr_mz, } return mb_mgr; } -#endif /** Setup a queue pair */ int @@ -260,12 +251,6 @@ ipsec_mb_qp_setup(struct rte_cryptodev *dev, uint16_t = qp_id, int ret; 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 feat= ure 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; } -#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; 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 -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 ef4228bd38..0f11b36d35 100644 --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c @@ -216,13 +216,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_EI= A3_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\n")= ; return -EINVAL; } @@ -879,11 +875,9 @@ aesni_mb_session_configure(IMB_MGR *mb_mgr, } } -#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 return 0; } @@ -1016,9 +1010,7 @@ aesni_mb_set_docsis_sec_session_parameters( goto error_exit; } -#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM ipsec_sess->session_id =3D imb_set_session(mb_mgr, &ipsec_sess->te= mplate_job); -#endif error_exit: free_mb_mgr(mb_mgr); @@ -1273,7 +1265,6 @@ imb_lib_support_sgl_algo(IMB_CIPHER_MODE alg) return 0; } -#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, @@ -1358,7 +1349,6 @@ single_sgl_job(IMB_JOB *job, struct rte_crypto_op *op= , job->sgl_io_segs =3D sgl_segs; return 0; } -#endif static inline int multi_sgl_job(IMB_JOB *job, struct rte_crypto_op *op, @@ -1428,9 +1418,7 @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB *job, const uint= 8_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; @@ -1458,13 +1446,11 @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB *job, const ui= nt8_t sgl, job->src =3D NULL; job->dst =3D NULL; -#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 { @@ -1554,10 +1540,6 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *= qp, uint8_t sgl =3D 0; uint8_t lb_sgl =3D 0; -#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; @@ -1567,12 +1549,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; -#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)); if (!op->sym->m_dst) { @@ -1613,9 +1593,7 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *q= p, 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: @@ -1640,9 +1618,7 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *q= p, 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: @@ -1838,13 +1814,11 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp = *qp, if (lb_sgl) return handle_sgl_linear(job, op, m_offset, sessio= n); -#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); } @@ -2164,7 +2138,6 @@ set_job_null_op(IMB_JOB *job, struct rte_crypto_op *o= p) return job; } -#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) @@ -2297,144 +2270,7 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte= _crypto_op **ops, 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; - - 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_mg= r */ - 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 IM= B_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_mg= r, - 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_sgl = *sgl) { diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h b/drivers/crypto/i= psec_mb/pmd_aesni_mb_priv.h index d6af2d4ded..6af699bfdd 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) -#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM #define MAX_NUM_SEGS 16 -#endif int aesni_mb_session_configure(IMB_MGR * m __rte_unused, void *priv_sess, @@ -580,13 +578,8 @@ static const struct rte_cryptodev_capabilities aesni_m= b_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, @@ -741,9 +734,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 --_000_SJ0PR11MB5056542C5B73607C0371D025837D2SJ0PR11MB5056namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Good point Kai, i'll update the patch.

Thanks,
Brian

From: Ji, Kai <kai.ji@in= tel.com>
Sent: Monday, October 7, 2024 11:09 AM
To: Dooley, Brian <brian.dooley@intel.com>; De Lara Guarch, Pa= blo <pablo.de.lara.guarch@intel.com>
Cc: dev@dpdk.org <dev@dpdk.org>; gakhil@marvell.com <gakhil= @marvell.com>; wathsala.vithanage@arm.com <wathsala.vithanage@arm.com= >
Subject: Re: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB versi= on
 
Acked-by: Kai Ji <kai.ji@intel.com>

Any release doc needs to be updated ? 

From: Dooley, Brian <b= rian.dooley@intel.com>
Sent: 04 October 2024 15:58
To: Ji, Kai <kai.ji@intel.com>; De Lara Guarch, Pablo <pabl= o.de.lara.guarch@intel.com>
Cc: dev@dpdk.org <dev@dpdk.org>; gakhil@marvell.com <gakhil= @marvell.com>; wathsala.vithanage@arm.com <wathsala.vithanage@arm.com= >; Dooley, Brian <brian.dooley@intel.com>
Subject: [PATCH v1] crypto/ipsec_mb: bump minimum IPsec MB version
 
AESNI_MB SW PMDs increment Intel IPsec MB versio= n to 1.4.
A minimum IPsec Multi-buffer version of 1.4 or greater is now required
for the 24.11 LTS release.

Signed-off-by: Brian Dooley <brian.dooley@intel.com>
---
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/2= 0240314103731.3242086-2-brian.dooley@intel.com/
---
 doc/guides/cryptodevs/aesni_gcm.rst     &nbs= p;   |   3 +-
 doc/guides/cryptodevs/aesni_mb.rst      = ;    |   3 +-
 doc/guides/cryptodevs/chacha20_poly1305.rst |   3 +-
 doc/guides/cryptodevs/kasumi.rst      &= nbsp;     |   3 +-
 doc/guides/cryptodevs/snow3g.rst      &= nbsp;     |   3 +-
 doc/guides/cryptodevs/zuc.rst      &nbs= p;        |   3 +-
 drivers/crypto/ipsec_mb/ipsec_mb_ops.c      = |  24 ---
 drivers/crypto/ipsec_mb/meson.build     &nbs= p;   |   2 +-
 drivers/crypto/ipsec_mb/pmd_aesni_mb.c      = | 164 --------------------
 drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h |   9 --
 10 files changed, 13 insertions(+), 204 deletions(-)

diff --git a/doc/guides/cryptodevs/aesni_gcm.rst b/doc/guides/cryptodevs/ae= sni_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
 
 Initialization
diff --git a/doc/guides/cryptodevs/aesni_mb.rst b/doc/guides/cryptodevs/aes= ni_mb.rst
index 3c77d0f463..c2f6633ee6 100644
--- a/doc/guides/cryptodevs/aesni_mb.rst
+++ b/doc/guides/cryptodevs/aesni_mb.rst
@@ -132,7 +132,8 @@ and the Multi-Buffer library version supported by them:=
    DPDK version    Multi-buffer library vers= ion
    =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D  =3D=3D= =3D=3D=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
 
 Initialization
diff --git a/doc/guides/cryptodevs/chacha20_poly1305.rst b/doc/guides/crypt= odevs/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
 
 Initialization
diff --git a/doc/guides/cryptodevs/kasumi.rst b/doc/guides/cryptodevs/kasum= i.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
 
 Initialization
diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3= g.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
 
 Initialization
diff --git a/doc/guides/cryptodevs/zuc.rst b/doc/guides/cryptodevs/zuc.rst<= br> 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
 
 Initialization
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 @@
 
 #include "ipsec_mb_private.h"
 
-#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) {
            &nb= sp;    rte_ring_free(rte_ring_lookup(qp->name));
 
-#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM
-            &n= bsp;  if (qp->mb_mgr)
-            &n= bsp;          free_mb_mgr(qp-&= gt;mb_mgr);
-#else
            &nb= sp;    if (qp->mb_mgr_mz) {
            &nb= sp;            rte_m= emzone_free(qp->mb_mgr_mz);
            &nb= sp;            qp-&g= t;mb_mgr =3D NULL;
            &nb= sp;    }
-#endif
            &nb= sp;    rte_free(qp);
            &nb= sp;    dev->data->queue_pairs[qp_id] =3D NULL;
         } else { /* secondary proc= ess */
@@ -211,7 +204,6 @@ static struct rte_ring
            &nb= sp;            =        RING_F_SP_ENQ | RING_F_SC_DEQ);
 }
 
-#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,=
            &nb= sp;    const char *mb_mgr_mz_name)
@@ -244,7 +236,6 @@ ipsec_mb_alloc_mgr_from_memzone(const struct rte_memzon= e **mb_mgr_mz,
         }
         return mb_mgr;
 }
-#endif
 
 /** Setup a queue pair */
 int
@@ -260,12 +251,6 @@ ipsec_mb_qp_setup(struct rte_cryptodev *dev, uint16_t = qp_id,
         int ret;
 
         if (rte_eal_process_type()= =3D=3D RTE_PROC_SECONDARY) {
-#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM
-            &n= bsp;  IPSEC_MB_LOG(ERR, "The intel-ipsec-mb version (%s) does not= support multiprocess,"
-            &n= bsp;            = ;      "the minimum version required for this= feature is %s.",
-            &n= bsp;            = ;      IMB_VERSION_STR, IMB_MP_REQ_VER_STR);
-            &n= bsp;  return -EINVAL;
-#endif
            &nb= sp;    qp =3D dev->data->queue_pairs[qp_id];
            &nb= sp;    if (qp =3D=3D NULL) {
            &nb= sp;            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,
            &nb= sp;            retur= n -ENOMEM;
         }
 
-#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(m= z_name), "IMB_MGR_DEV_%d_QP_%d",
            &nb= sp;            dev-&= gt;data->dev_id, qp_id);
         qp->mb_mgr =3D ipsec_mb= _alloc_mgr_from_memzone(&(qp->mb_mgr_mz),
            &nb= sp;            mz_na= me);
-#endif
         if (qp->mb_mgr =3D=3D N= ULL) {
            &nb= sp;    ret =3D -ENOMEM;
            &nb= sp;    goto qp_setup_cleanup;
@@ -330,14 +311,9 @@ ipsec_mb_qp_setup(struct rte_cryptodev *dev, uint16_t = qp_id,
         return 0;
 
 qp_setup_cleanup:
-#if IMB_VERSION(1, 1, 0) > IMB_VERSION_NUM
-       if (qp->mb_mgr)
-            &n= bsp;  free_mb_mgr(qp->mb_mgr);
-#else
         if (rte_eal_process_type()= =3D=3D RTE_PROC_SECONDARY)
            &nb= sp;    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
 
-IMB_required_ver =3D '1.0.0'
+IMB_required_ver =3D '1.4.0'
 IMB_header =3D '#include<intel-ipsec-mb.h>'
 if arch_subdir =3D=3D 'arm'
     IMB_header =3D '#include<ipsec-mb.h>'
diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c b/drivers/crypto/ipsec_= mb/pmd_aesni_mb.c
index ef4228bd38..0f11b36d35 100644
--- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
+++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
@@ -216,13 +216,9 @@ aesni_mb_set_session_auth_parameters(IMB_MGR *mb_mgr,<= br>             &nb= sp;            }
            &nb= sp;    } else if (xform->auth.key.length =3D=3D 32) {
            &nb= sp;            sess-= >template_job.hash_alg =3D IMB_AUTH_ZUC256_EIA3_BITLEN;
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
            &nb= sp;            if (s= ess->auth.req_digest_len !=3D 4 &&
            &nb= sp;            =             &nb= sp;   sess->auth.req_digest_len !=3D 8 &&
            &nb= sp;            =             &nb= sp;   sess->auth.req_digest_len !=3D 16) {
-#else
-            &n= bsp;          if (sess->aut= h.req_digest_len !=3D 4) {
-#endif
            &nb= sp;            =         IPSEC_MB_LOG(ERR, "Invalid = digest size\n");
            &nb= sp;            =         return -EINVAL;
            &nb= sp;            }
@@ -879,11 +875,9 @@ aesni_mb_session_configure(IMB_MGR *mb_mgr,
            &nb= sp;    }
         }
 
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
         sess->session_id =3D im= b_set_session(mb_mgr, &sess->template_job);
         sess->pid =3D getpid();=
         RTE_PER_LCORE(pid) =3D ses= s->pid;
-#endif
 
         return 0;
 }
@@ -1016,9 +1010,7 @@ aesni_mb_set_docsis_sec_session_parameters(
            &nb= sp;    goto error_exit;
         }
 
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
         ipsec_sess->session_id = =3D imb_set_session(mb_mgr, &ipsec_sess->template_job);
-#endif
 
 error_exit:
         free_mb_mgr(mb_mgr);
@@ -1273,7 +1265,6 @@ imb_lib_support_sgl_algo(IMB_CIPHER_MODE alg)
         return 0;
 }
 
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
 static inline int
 single_sgl_job(IMB_JOB *job, struct rte_crypto_op *op,
            &nb= sp;    int oop, uint32_t offset, struct rte_mbuf *m_src,
@@ -1358,7 +1349,6 @@ single_sgl_job(IMB_JOB *job, struct rte_crypto_op *op= ,
         job->sgl_io_segs =3D sg= l_segs;
         return 0;
 }
-#endif
 
 static inline int
 multi_sgl_job(IMB_JOB *job, struct rte_crypto_op *op,
@@ -1428,9 +1418,7 @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB *job, const uint= 8_t sgl,
            &nb= sp;    job->msg_len_to_hash_in_bytes =3D 0;
            &nb= sp;    job->msg_len_to_cipher_in_bytes =3D 0;
            &nb= sp;    job->cipher_start_src_offset_in_bytes =3D 0;
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
            &nb= sp;    imb_set_session(mb_mgr, job);
-#endif
         } else {
            &nb= sp;    job->hash_start_src_offset_in_bytes =3D
            &nb= sp;            =         op->sym->aead.data.offset;=
@@ -1458,13 +1446,11 @@ set_gcm_job(IMB_MGR *mb_mgr, IMB_JOB *job, const ui= nt8_t sgl,
            &nb= sp;    job->src =3D NULL;
            &nb= sp;    job->dst =3D NULL;
 
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
            &nb= sp;    if (m_src->nb_segs <=3D MAX_NUM_SEGS)
            &nb= sp;            retur= n single_sgl_job(job, op, oop,
            &nb= sp;            =             &nb= sp;   m_offset, m_src, m_dst,
            &nb= sp;            =             &nb= sp;   qp_data->sgl_segs);
            &nb= sp;    else
-#endif
            &nb= sp;            retur= n multi_sgl_job(job, op, oop,
            &nb= sp;            =             &nb= sp;   m_offset, m_src, m_dst, mb_mgr);
         } else {
@@ -1554,10 +1540,6 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *= qp,
         uint8_t sgl =3D 0;
         uint8_t lb_sgl =3D 0;
 
-#if IMB_VERSION(1, 3, 0) >=3D IMB_VERSION_NUM
-       (void) pid;
-#endif
-
         session =3D ipsec_mb_get_s= ession_private(qp, op);
         if (session =3D=3D NULL) {=
            &nb= sp;    op->status =3D RTE_CRYPTO_OP_STATUS_INVALID_SESSIO= N;
@@ -1567,12 +1549,10 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp = *qp,
         const IMB_CIPHER_MODE ciph= er_mode =3D
            &nb= sp;            sessi= on->template_job.cipher_mode;
 
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
         if (session->pid !=3D p= id) {
            &nb= sp;    memcpy(job, &session->template_job, sizeof(IMB= _JOB));
            &nb= sp;    imb_set_session(mb_mgr, job);
         } else if (job->session= _id !=3D session->session_id)
-#endif
            &nb= sp;    memcpy(job, &session->template_job, sizeof(IMB= _JOB));
 
         if (!op->sym->m_dst)= {
@@ -1613,9 +1593,7 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *q= p,
            &nb= sp;            job-&= gt;u.GCM.ctx =3D &qp_data->gcm_sgl_ctx;
            &nb= sp;            job-&= gt;cipher_mode =3D IMB_CIPHER_GCM_SGL;
            &nb= sp;            job-&= gt;hash_alg =3D IMB_AUTH_GCM_SGL;
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
            &nb= sp;            imb_s= et_session(mb_mgr, job);
-#endif
            &nb= sp;    }
            &nb= sp;    break;
         case IMB_AUTH_AES_GMAC_128= :
@@ -1640,9 +1618,7 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp *q= p,
            &nb= sp;            job-&= gt;u.CHACHA20_POLY1305.ctx =3D &qp_data->chacha_sgl_ctx;
            &nb= sp;            job-&= gt;cipher_mode =3D IMB_CIPHER_CHACHA20_POLY1305_SGL;
            &nb= sp;            job-&= gt;hash_alg =3D IMB_AUTH_CHACHA20_POLY1305_SGL;
-#if IMB_VERSION(1, 3, 0) < IMB_VERSION_NUM
            &nb= sp;            imb_s= et_session(mb_mgr, job);
-#endif
            &nb= sp;    }
            &nb= sp;    break;
         default:
@@ -1838,13 +1814,11 @@ set_mb_job_params(IMB_JOB *job, struct ipsec_mb_qp = *qp,
            &nb= sp;    if (lb_sgl)
            &nb= sp;            retur= n handle_sgl_linear(job, op, m_offset, session);
 
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
            &nb= sp;    if (m_src->nb_segs <=3D MAX_NUM_SEGS)
            &nb= sp;            retur= n single_sgl_job(job, op, oop,
            &nb= sp;            =             &nb= sp;   m_offset, m_src, m_dst,
            &nb= sp;            =             &nb= sp;   qp_data->sgl_segs);
            &nb= sp;    else
-#endif
            &nb= sp;            retur= n multi_sgl_job(job, op, oop,
            &nb= sp;            =             &nb= sp;   m_offset, m_src, m_dst, mb_mgr);
         }
@@ -2164,7 +2138,6 @@ set_job_null_op(IMB_JOB *job, struct rte_crypto_op *o= p)
         return job;
 }
 
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
 uint16_t
 aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops,<= br>             &nb= sp;    uint16_t nb_ops)
@@ -2297,144 +2270,7 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte= _crypto_op **ops,
 
         return processed_jobs;
 }
-#else
-
-/**
- * Process a completed IMB_JOB job and keep processing jobs until
- * get_completed_job return NULL
- *
- * @param qp           Q= ueue Pair to process
- * @param mb_mgr       IMB_MGR to use
- * @param job          IMB_JO= B job
- * @param ops          crypto= ops to fill
- * @param nb_ops       number of crypto ops<= br> - *
- * @return
- * - Number of processed jobs
- */
-static unsigned
-handle_completed_jobs(struct ipsec_mb_qp *qp, IMB_MGR *mb_mgr,
-            &n= bsp;  IMB_JOB *job, struct rte_crypto_op **ops,
-            &n= bsp;  uint16_t nb_ops)
-{
-       struct rte_crypto_op *op =3D NULL; -       uint16_t processed_jobs =3D 0;
-
-       while (job !=3D NULL) {
-            &n= bsp;  op =3D post_process_mb_job(qp, job);
-
-            &n= bsp;  if (op) {
-            &n= bsp;          ops[processed_jo= bs++] =3D op;
-            &n= bsp;          qp->stats.deq= ueued_count++;
-            &n= bsp;  } else {
-            &n= bsp;          qp->stats.deq= ueue_err_count++;
-            &n= bsp;          break;
-            &n= bsp;  }
-            &n= bsp;  if (processed_jobs =3D=3D nb_ops)
-            &n= bsp;          break;
-
-            &n= bsp;  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,
-            &n= bsp;  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)
-            &n= bsp;  processed_ops +=3D handle_completed_jobs(qp, mb_mgr, job,
-            &n= bsp;            = ;      &ops[processed_ops], nb_ops - processed= _ops);
-
-       return processed_ops;
-}
-
-uint16_t
-aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops,
-            &n= bsp;  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_mg= r =3D=3D NULL))
-            &n= bsp;  return 0;
-
-       uint8_t digest_idx =3D qp->digest_= idx;
-
-       do {
-            &n= bsp;  /* Get next free mb job struct from mb manager */
-            &n= bsp;  job =3D IMB_GET_NEXT_JOB(mb_mgr);
-            &n= bsp;  if (unlikely(job =3D=3D NULL)) {
-            &n= bsp;          /* if no free mb= job structs we need to flush mb_mgr */
-            &n= bsp;          processed_jobs += =3D flush_mb_mgr(qp, mb_mgr,
-            &n= bsp;            = ;            &n= bsp; &ops[processed_jobs],
-            &n= bsp;            = ;            &n= bsp; nb_ops - processed_jobs);
-
-            &n= bsp;          if (nb_ops =3D= =3D processed_jobs)
-            &n= bsp;            = ;      break;
-
-            &n= bsp;          job =3D IMB_GET_= NEXT_JOB(mb_mgr);
-            &n= bsp;  }
-
-            &n= bsp;  /*
-            &n= bsp;   * Get next operation to process from ingress queue.
-            &n= bsp;   * There is no need to return the job to the IMB_MGR
-            &n= bsp;   * if there are no more operations to process, since the IM= B_MGR
-            &n= bsp;   * can use that pointer again in next get_next calls.
-            &n= bsp;   */
-            &n= bsp;  retval =3D rte_ring_dequeue(qp->ingress_queue, (void **)&= op);
-            &n= bsp;  if (retval < 0)
-            &n= bsp;          break;
-
-            &n= bsp;  if (op->sess_type =3D=3D RTE_CRYPTO_OP_SECURITY_SESSION)
-            &n= bsp;          retval =3D set_s= ec_mb_job_params(job, qp, op,
-            &n= bsp;            = ;            &n= bsp;         &digest_idx);
-            &n= bsp;  else
-            &n= bsp;          retval =3D set_m= b_job_params(job, qp, op,
-            &n= bsp;            = ;      &digest_idx, mb_mgr, pid);
-
-            &n= bsp;  if (unlikely(retval !=3D 0)) {
-            &n= bsp;          qp->stats.deq= ueue_err_count++;
-            &n= bsp;          set_job_null_op(= job, op);
-            &n= bsp;  }
-
-            &n= bsp;  /* Submit job to multi-buffer for processing */
-#ifdef RTE_LIBRTE_PMD_AESNI_MB_DEBUG
-            &n= bsp;  job =3D IMB_SUBMIT_JOB(mb_mgr);
-#else
-            &n= bsp;  job =3D IMB_SUBMIT_JOB_NOCHECK(mb_mgr);
-#endif
-            &n= bsp;  /*
-            &n= bsp;   * If submit returns a processed job then handle it,
-            &n= bsp;   * before submitting subsequent jobs
-            &n= bsp;   */
-            &n= bsp;  if (job)
-            &n= bsp;          processed_jobs += =3D handle_completed_jobs(qp, mb_mgr,
-            &n= bsp;            = ;            &n= bsp; job, &ops[processed_jobs],
-            &n= bsp;            = ;            &n= bsp; nb_ops - processed_jobs);
-
-       } while (processed_jobs < nb_ops);=
-
-       qp->digest_idx =3D digest_idx;
-
-       if (processed_jobs < 1)
-            &n= bsp;  processed_jobs +=3D flush_mb_mgr(qp, mb_mgr,
-            &n= bsp;            = ;      &ops[processed_jobs],
-            &n= bsp;            = ;      nb_ops - processed_jobs);
-
-       return processed_jobs;
-}
-#endif
 static inline int
 check_crypto_sgl(union rte_crypto_sym_ofs so, const struct rte_crypto= _sgl *sgl)
 {
diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb_priv.h b/drivers/crypto/i= psec_mb/pmd_aesni_mb_priv.h
index d6af2d4ded..6af699bfdd 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       &nbs= p;         (0x36)
 #define HMAC_OPAD_VALUE       &nbs= p;         (0x5C)
 
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
 #define MAX_NUM_SEGS 16
-#endif
 
 int
 aesni_mb_session_configure(IMB_MGR * m __rte_unused, void *priv_sess,=
@@ -580,13 +578,8 @@ static const struct rte_cryptodev_capabilities aesni_m= b_capabilities[] =3D {
            &nb= sp;            =         },
            &nb= sp;            =         .digest_size =3D {
            &nb= sp;            =             &nb= sp;   .min =3D 4,
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
            &nb= sp;            =             &nb= sp;   .max =3D 16,
            &nb= sp;            =             &nb= sp;   .increment =3D 4
-#else
-            &n= bsp;            = ;            &n= bsp; .max =3D 4,
-            &n= bsp;            = ;            &n= bsp; .increment =3D 0
-#endif
            &nb= sp;            =         },
            &nb= sp;            =         .iv_size =3D {
            &nb= sp;            =             &nb= sp;   .min =3D 16,
@@ -741,9 +734,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_seg= s[MAX_NUM_SEGS];
-#endif
         union {
            &nb= sp;    struct gcm_context_data gcm_sgl_ctx;
            &nb= sp;    struct chacha20_poly1305_context_data chacha_sgl_ctx;=
--
2.25.1

--_000_SJ0PR11MB5056542C5B73607C0371D025837D2SJ0PR11MB5056namp_--