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 BD52D45AD5; Mon, 7 Oct 2024 12:10:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A2ACC410EE; Mon, 7 Oct 2024 12:10:06 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by mails.dpdk.org (Postfix) with ESMTP id AD1554026C for ; Mon, 7 Oct 2024 12:10:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1728295805; x=1759831805; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=hQWpPiRq4yg77ArPoAgzyJNYLjD/wPq+1w1cj4CwJUA=; b=Gfchq6+MH1+tyoG8i9C7eIm6wPcgThvzG0x5dFtJmQBKvJWRwe+u4VKu 75Sqw45TYCc9QqXgmsT4XnAYqvhYBRtDr5wIA0GixM4Xlz3Zs7zYN+yQH kygxAhqw0VU95RmbhsOUO5Wr4152ffHqsi8JV+clkgRdDGNoq91hWLQuu +U9rTO2XyBSNgVDNL+xN/OZOkDaXM0MqWZbCrGKbtkrNhnqIJANOqzfyT bHJmnNEZTkp/vjEhCCk4n3cYMPzTFaDcQpKAVZbmC3p1HgKHa82lklent aM/+zUU/A/v+eTpfhLtG1wXLpDXtoeXMj3AlzFS0hB0AjiMh1YW6dNS1B A==; X-CSE-ConnectionGUID: LZW8gDeORjegzJGViq2NbA== X-CSE-MsgGUID: 3mDJ8bEISK2JAlvGNkDbKQ== X-IronPort-AV: E=McAfee;i="6700,10204,11217"; a="27574944" X-IronPort-AV: E=Sophos;i="6.11,184,1725346800"; d="scan'208,217";a="27574944" Received: from fmviesa007.fm.intel.com ([10.60.135.147]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Oct 2024 03:10:04 -0700 X-CSE-ConnectionGUID: S6tmPFDNRHGGh/op/+URhw== X-CSE-MsgGUID: HSL0VIaTRv+NIDynWMweXA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,184,1725346800"; d="scan'208,217";a="75097486" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmviesa007.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 07 Oct 2024 03:10:03 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) 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 03:10:03 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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; Mon, 7 Oct 2024 03:10:03 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (192.55.55.68) 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 03:10:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Tb39AkSgCZePPmk/6qfg7ZnccEr24Iyz7TdG6gyXVGjohWlPJEgoEYOwcmuHVG2wUUyiMPFiNC2Rd3Xg4N+LS7SievzUMJTL/Oz0HvLK5qULG4vOX+NVwo0PfYtJqfpRCcpdstxZzgB3Boqe3BPue0tblA7WQJusfvZrfCXy/MqTY8pxYgbyj+1fUoVHmn5Uo+rCRszQHMJdLmyQ1I6sijVfHmECWtWfLg3UfMLz6wgeZj9/eQq8g58UZKZdT9u0pV72m9E6g1kXR5pF9LnxbvZQmtDHAQlpdRDLMyaB498T1BsyVwnr8w4izZQlKT+pMNp5qiH/t9Eip+MWkoppLw== 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=kI21IRg/Wp1ffgKQWMxhgZSo9PlewxiLeQ6HecxqVZo=; b=dxvYpZHBxwNH0//igvZ7tcg5ZuCBk3w8eylkqHIh2jfBac+YSqMrmxV5Xjp/sZ8JXc3d+FZlFe5SRZ9NwshuQIwjIzn+HSeOnwotMWEnxxEfuFk8P9gzTwkTBFi0YT+Kvi/OYLEvtbLJTbhDdQJ4mNUeMNtVqsA4L8ifN0jNKgYWdh4dRm+HTzd1uArJyu4re/PiiyHcOo4M/jnen4QYJEw4hpkRB2CIw8IZquiMSybt2K3fNEJBeWQ8iG59iZUayNYtp1CyEQX3Dv3pxwCNjlYxk4Zj3PlHJReZGH9egvGZ3BPy6Ozszy7d4epR88FZTJk6khiTjp8S+V5ys5qPGQ== 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 DS0PR11MB7458.namprd11.prod.outlook.com (2603:10b6:8:145::13) by DM6PR11MB4514.namprd11.prod.outlook.com (2603:10b6:5:2a3::17) 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 10:09:54 +0000 Received: from DS0PR11MB7458.namprd11.prod.outlook.com ([fe80::1a9e:53a6:9603:8f79]) by DS0PR11MB7458.namprd11.prod.outlook.com ([fe80::1a9e:53a6:9603:8f79%4]) with mapi id 15.20.8026.020; Mon, 7 Oct 2024 10:09:54 +0000 From: "Ji, Kai" To: "Dooley, Brian" , "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: AQHbFm3i2b/CNCtSHU6IU7LbbCMZB7J7FF9q Date: Mon, 7 Oct 2024 10:09:54 +0000 Message-ID: References: <20241004145815.2275878-1-brian.dooley@intel.com> In-Reply-To: <20241004145815.2275878-1-brian.dooley@intel.com> Accept-Language: en-GB, en-US, en-IE Content-Language: en-GB 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: DS0PR11MB7458:EE_|DM6PR11MB4514:EE_ x-ms-office365-filtering-correlation-id: 50364a5e-ba46-4805-0b57-08dce6b830a9 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?LH2E8FREzfyLUsHj7r8TC7Lmr3kJw/T8HFJb3Gf8tYfG6dnXXig78uA4hI93?= =?us-ascii?Q?ZNvB0r5HpKWu3O7TqxWVXPIba2YjmvGF5Npxm+ZfkwGbzJyerXJ+qhQKwZ1T?= =?us-ascii?Q?MPVEyNSM46vtTzxA09RypTVzNvy7Y4KpkggsKX0R6sxSm0zY3ttlNY62bbVh?= =?us-ascii?Q?2Q63bJp9+86f6KDHhT03sE/NRQMsdkLmFyBgpc+wcH7KpHzjyu25OK2E+4Pm?= =?us-ascii?Q?jVtBlXMbWbi50j+SLa5Jid9wDDD+AjDvztTi8Z2JVz9vbck3rPKfQLfE90bk?= =?us-ascii?Q?B6zR7aAAnXP96tgeY0pZNYnCU075vQ7grg7y/GLH48JejkhMWKrSu6zIIPFC?= =?us-ascii?Q?NrbM4XfEkHBjCUMkbSxm2lbThwWDbAnNGWzmI1rgycfsA55PpGTqeG25NlIx?= =?us-ascii?Q?SLo25nMWgJLzVuQZuzEUk1ZWUTnGZAWvQg8qIzT+NR7DkRVGIGEjnhD2rSf7?= =?us-ascii?Q?w1DBhc0f0t36j0SLh54sjOzPsFtpQLMX7M/sLBnW5I0uLkf8bOoPxYJlwyaB?= =?us-ascii?Q?JL6BXK5R69uvBKvbzjO9jpZEcTXQssXJ8gIq9IHZR5QgxUlhFsIGEKlSE5rn?= =?us-ascii?Q?xQThjMN2WblzNy+7q21LwCw6E0kAnGicWNXGcbXe3R3HZZQgOla0otXZMUrw?= =?us-ascii?Q?s0EMlptoPr+NwaPxdP/Pfps0SgA4cVWWbrHNkau15eitYFkmL5Ig2m3OuDFm?= =?us-ascii?Q?hp7CBgpZyYLJpsSzSSXKzQq7KUrs4x47C+TjdhHnKv/A7z9mbhD81ieyf+AY?= =?us-ascii?Q?NQWmQsUmrP4BxEKL5Y9fKTJQRrDWgAQt13K5s0lWWKEBzF2C2u4mnHwXpVvk?= =?us-ascii?Q?sdcp/qLV8reaKnmN2CUp3TH13Z3cF5NY5CEBS8WVA7M7hiF8Jqy2oULVvKUF?= =?us-ascii?Q?k8a1tUSijsTqc4/YsePsOcFfEd7VOPlKuSGGHhN6onb7Pj9UKL6PzEJ3cAV5?= =?us-ascii?Q?qOt2hpNk979eqaR2+OBofKnmbyFBRcvmZ7GXN2GMW4YPp2SEIIiOp6UuQCOk?= =?us-ascii?Q?z079dUNhBdU50RHkZef+5Z7R57j8TFu2NTWee6ZzKpsjUKQYbSKPf5n9LldV?= =?us-ascii?Q?62UZEzZHr366imqAJ729BIpXRKGZyBt97ulOhyjcNihbLTwZGid0JzHQzTgH?= =?us-ascii?Q?fAzQ3PEZgBRpLwxWGSfBE4l/1IcuWoEFEIMgkLUTH/d/6Wrv1NbFSy7kMXL1?= =?us-ascii?Q?3hnn0ReqrHOYYWFsUHX6f8WB9p7wFyrvZBz88S5vSilDEqDqgdqnxHgVMfJi?= =?us-ascii?Q?hvoZ27M7naUdDtSUN48lNX54y1aYpnvoyz4mWpWGEg=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7458.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?Qn+obkVeWuZNnUYAuWorqAA/Zi9SErIQmidVfHnpC0D+N8+Ywsnc3Zqm9s9L?= =?us-ascii?Q?0gAXB+Tno1Bs5fpq4Dc9Zqlf32znz06JSP9fdhW4dk2sb+9lEeqAH4Rai2AN?= =?us-ascii?Q?BehGEC0ESLRUMy6/T1Y2AG0AbXANooe5VXwdtM0YiOaQD+YdKeiD8EUGVlYY?= =?us-ascii?Q?2fOU467n2QR51Dkl68D9CKDIg/1i0+ATYAIRsBaO72hqJDKdn8IyFVlY3W7T?= =?us-ascii?Q?SN+vIb1CaVaG+6NHB1/CIfu53HlP9fP3axmQpRsbcBIzatdB8v91tKhyTL/K?= =?us-ascii?Q?veEjS/Zi9Hb0oI6tAzBfA5gdKOEzIWsmUC2onOOW+Hk1GssmzDmM68kkVvPl?= =?us-ascii?Q?G0vAiT4PED62aUDTOp3V80c8wEEFD/PSJilTLyyBKaBM+H3BKdCvL3kjb+wz?= =?us-ascii?Q?WmlAzSTFdkh2qI3Yx8/fF3O6xXtDbnVnre7JlLKH+ABwXDZyImwglUjPBNHT?= =?us-ascii?Q?b+msOrI9CfoAYL1sbqB8qLXqrfUpg8FODxZnpcoZ0osRqAfNcgGHG6Byy8Ay?= =?us-ascii?Q?pNTrryzj/5WsNE4FKqe7bneLDCuvWGg1oJ0JwE2jQ4R7s37kKuIl9gDo+jmH?= =?us-ascii?Q?tBhgwISiTYAp4SDcGvQT5OXZbW2Dbmje/6deXh1IB2bhgE7K0PCfiGI2+q3Z?= =?us-ascii?Q?cYP7FJZ6Y91SxoKDjNz2UCOqGI6sd8eB02mCxQwMPmleotl55/2qWoBPrTOh?= =?us-ascii?Q?aVjeb8YcGo+rKHyHiZMTf9+MQt1RB6xgs+Ds7uEjfswqAKHI7EcT/8rPLZ9s?= =?us-ascii?Q?0ejUE9wSkHKYVrx2mEt+z8UQk4pmGb6yxKPXNKX17Qp4R+x6U7A+fv0Y7NBA?= =?us-ascii?Q?95IiyDALQ0ia3jD84FcH116Vl391aQ2yaMT37/h8KdKq2ph2zkzPPAzxi/HK?= =?us-ascii?Q?NKhmRpWBPob3D8o14Xv1mKOiuk2Xl8rdWttgPxmfB26JYgbwMzq7MBYE0bI3?= =?us-ascii?Q?2ZRzk/esRomkfge41zDzI3r101QHCYLEdmxNk1IutvFCu2vcFFcuURWHW4yR?= =?us-ascii?Q?dJi4HKkY29IoPMixWsy2eDd1xDgNbK3PDyQt7y+2OYkkEm/2TnJaN6S+dlIW?= =?us-ascii?Q?XzUSXKi05jFf2wr3AijJMFWLF1yYyC8JxSnUa2wDQmhi72SANoDrlDMOQlL6?= =?us-ascii?Q?Wko2TMgPde87LK4pK5Z8H47DV9uFqK6X56Kd+J4JTFpJCud0KPLwsQ3ZWlcz?= =?us-ascii?Q?uVzDOGE2Yq6CZqRIBBGROooXniujTOXWZnDblPGxeUhb90m5rmK54wRbiPA5?= =?us-ascii?Q?z27OmzJU4wxu0jOuSnMyUb548zCuYWHVZ2Pm+qstMgodG1So8PK3tHZaREWg?= =?us-ascii?Q?klcR3O7ZfytxiMOKC77TF5U6n09qapsVdaG2UO3zeeaeie8nBi78NH0B5P78?= =?us-ascii?Q?XGqKoE1NLU41++l9Q5HI2g2rgi0ity3bg4kAC0lZxOHhe2zbuhHV0k+rdvMO?= =?us-ascii?Q?abm7oRwdGzT0ENdruKuTAK+GLxWu0kDj3Ud+axLZntoIc1PjXn6DnRRJONKS?= =?us-ascii?Q?1CzHFgpyKKpFGWQsavvpvauPz4p4v3UkofKk/TIpQbUoFA5Lu33oGiX8/FSc?= =?us-ascii?Q?EtLe0LedOguw2Z821eE=3D?= Content-Type: multipart/alternative; boundary="_000_DS0PR11MB74582CB536D7AD0DA1168ADF817D2DS0PR11MB7458namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7458.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50364a5e-ba46-4805-0b57-08dce6b830a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2024 10:09:54.4083 (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: uG5QsRHtO9K41sm6dMKBIs4rrJw6LCpcECCnM0qdK0EXu2xQ7LR/1Dqo69N1oC0DQ1roZYTmbbrRPH+5i2zyaw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4514 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_DS0PR11MB74582CB536D7AD0DA1168ADF817D2DS0PR11MB7458namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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_DS0PR11MB74582CB536D7AD0DA1168ADF817D2DS0PR11MB7458namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Acked-by: Kai Ji <kai.ji@intel.com>

Any release doc needs to be updated ? 

From: Dooley, Brian <bri= an.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 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 <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_DS0PR11MB74582CB536D7AD0DA1168ADF817D2DS0PR11MB7458namp_--