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 3F56A43378; Mon, 20 Nov 2023 05:19:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA6614027C; Mon, 20 Nov 2023 05:19:24 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 4DBD640266 for ; Mon, 20 Nov 2023 05:19:23 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3AK19nw4001019; Sun, 19 Nov 2023 20:19:22 -0800 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2100.outbound.protection.outlook.com [104.47.58.100]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3uewnvu5kv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 19 Nov 2023 20:19:22 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jCxH82yhHrLKPOmBjWRT2uOhrap4G3eN/ycrocS30Y5I4XmGz/8K6S9BM+dR6wi7476ARvVJf68sYEew0xMMCi+JPuzQ4JqhZi5qYJT6HAClqSsxLYpLcON696HvgFDRmwZLNlHHWL/JPWX9S4hFtqj4sC3aGhJBlQBcSYEYLj1Xog4/scFyxk56nKZLQWkmSkMySL7RT9lpyq8bf1xWps9iNTYwMgbMyvM822N8urVH+2525GHVLKiVYFbfNJKhOCQqX/cQbjfQwXNofqpjOpaGdhz2WcqcCY0/vQ6kgDKqDyoGxBgpotrPjvfaAGWbvR9MznRSwr8vGxAz8irpuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=GZChXiT/CAu6n+oPTeIOzHLiblnjbqFY8Veln0111Vo=; b=JMNU2cPBjtGUGfx4xVI8PIeosEAIFUndNm87p3SrPqbEHYjh8/VZ7z8oMCOrCFUyxyHgs/EF4O5k2ktuH3Zr9Q0nMBKF+mTP1hJH8HIUfbdvhVWYNnWfbigkFecLSsXBafBg89qD56qsyVW+VcOxSfzqVnG4YQqM6t42GMy+WFlrL4EoQvto9FtoaSpDIiXzi800v/TNXigq8b9j/uIA5yaX1ytk3ApGCEmfbrEacvZ4uwj+AHRkRrKCNFrVUaeAzYfw5IA5VYOExsdEGsBUD28P6GzMmFQAXk2VtQT+a/arTityWEepZ1jKeIvv8oJM31ZIy5DU7JV3Te+fdIbcxQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GZChXiT/CAu6n+oPTeIOzHLiblnjbqFY8Veln0111Vo=; b=eYg7og7jmlouwSU7GsAj/EpJ2myVkhGrgXcyOOlcEARuHiCmTWuecUHYJXGEmllPMeyY2yw4nXpALG3bQfLJ+sWotAO6vsPY1Y2kTsV2Kt5KepYCfOSU/4rLdmhT6+99j29qiuMMJHhvMY+h/h9IM1IKtzRrz1iReZ0AaMluewo= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by PH0PR18MB5249.namprd18.prod.outlook.com (2603:10b6:510:1bb::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Mon, 20 Nov 2023 04:19:18 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::2cf3:c060:67f:20fd]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::2cf3:c060:67f:20fd%4]) with mapi id 15.20.7002.026; Mon, 20 Nov 2023 04:19:18 +0000 From: Anoob Joseph To: Stephen Hemminger , Akhil Goyal , Fan Zhang CC: "dev@dpdk.org" , Tejasree Kondoj Subject: RE: [EXT] The problem with priv_data in crypto and security API's Thread-Topic: [EXT] The problem with priv_data in crypto and security API's Thread-Index: AQHaGyLBPiGsInP7G0KJp0HublVkO7CCl8Qg Date: Mon, 20 Nov 2023 04:19:18 +0000 Message-ID: References: <20231119115809.6303bd89@hermes.local> In-Reply-To: <20231119115809.6303bd89@hermes.local> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?us-ascii?Q?PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNcYW5vb2JqXGFw?= =?us-ascii?Q?cGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEy?= =?us-ascii?Q?OWUzNWJcbXNnc1xtc2ctZjYzNTI1YmQtODc1Yi0xMWVlLTljNzAtNGMwMzRm?= =?us-ascii?Q?NWY5YjRjXGFtZS10ZXN0XGY2MzUyNWJmLTg3NWItMTFlZS05YzcwLTRjMDM0?= =?us-ascii?Q?ZjVmOWI0Y2JvZHkudHh0IiBzej0iMTQ0MDQiIHQ9IjEzMzQ0OTI3NTU0Nzcx?= =?us-ascii?Q?NDcwNyIgaD0iV3owZ3g3STJFM0pKa0p5Y1dzZEpzbXNlR1lBPSIgaWQ9IiIg?= =?us-ascii?Q?Ymw9IjAiIGJvPSIxIiBjaT0iY0FBQUFFUkhVMVJTUlVGTkNnVUFBQmdXQUFD?= =?us-ascii?Q?VEJJNjRhQnZhQVRrSUF5YWZSZXRaT1FnREpwOUY2MWtaQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUhBQUFBQnVEd0FBM2c4QUFEb0dBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUVBQVFFQkFBQUE5UmVuTHdDQUFRQUFBQUFBQUFBQUFKNEFBQUJoQUdRQVpB?= =?us-ascii?Q?QnlBR1VBY3dCekFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?RUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFHTUFkUUJ6QUhRQWJ3QnRBRjhBY0FC?= =?us-ascii?Q?bEFISUFjd0J2QUc0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFB?= =?us-ascii?Q?QUFBQ2VBQUFBWXdCMUFITUFkQUJ2QUcwQVh3QndBR2dBYndCdUFHVUFiZ0Ix?= =?us-ascii?Q?QUcwQVlnQmxBSElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmpBSFVB?= =?us-ascii?Q?Y3dCMEFHOEFiUUJmQUhNQWN3QnVBRjhBWkFCaEFITUFhQUJmQUhZQU1BQXlB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refone: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdN?= =?us-ascii?Q?QWRRQnpBSFFBYndCdEFGOEFjd0J6QUc0QVh3QnJBR1VBZVFCM0FHOEFjZ0Jr?= =?us-ascii?Q?QUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFZd0IxQUhNQWRBQnZBRzBB?= =?us-ascii?Q?WHdCekFITUFiZ0JmQUc0QWJ3QmtBR1VBYkFCcEFHMEFhUUIwQUdVQWNnQmZB?= =?us-ascii?Q?SFlBTUFBeUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFB?= =?us-ascii?Q?QUFJQUFBQUFBSjRBQUFCakFIVUFjd0IwQUc4QWJRQmZBSE1BY3dCdUFGOEFj?= =?us-ascii?Q?d0J3QUdFQVl3QmxBRjhBZGdBd0FESUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFB?= =?us-ascii?Q?R1FBYkFCd0FGOEFjd0JyQUhrQWNBQmxBRjhBWXdCb0FHRUFkQUJmQUcwQVpR?= =?us-ascii?Q?QnpBSE1BWVFCbkFHVUFYd0IyQURBQU1nQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQVpBQnNBSEFBWHdCekFH?= =?us-ascii?Q?d0FZUUJqQUdzQVh3QmpBR2dBWVFCMEFGOEFiUUJsQUhNQWN3QmhBR2NBWlFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reftwo: =?us-ascii?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUlBQUFBQUFKNEFBQUJrQUd3QWNBQmZB?= =?us-ascii?Q?SFFBWlFCaEFHMEFjd0JmQUc4QWJnQmxBR1FBY2dCcEFIWUFaUUJmQUdZQWFR?= =?us-ascii?Q?QnNBR1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFB?= =?us-ascii?Q?QUFBQUFBQUFnQUFBQUFBbmdBQUFHVUFiUUJoQUdrQWJBQmZBR0VBWkFCa0FI?= =?us-ascii?Q?SUFaUUJ6QUhNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFB?= =?us-ascii?Q?Q2VBQUFBYlFCaEFISUFkZ0JsQUd3QVh3QndBSElBYndCcUFHVUFZd0IwQUY4?= =?us-ascii?Q?QWJnQmhBRzBBWlFCekFGOEFZd0J2QUc0QVpnQnBBR1FBWlFCdUFIUUFhUUJo?= =?us-ascii?Q?QUd3QVh3QmhBR3dBYndCdUFHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQnRBR0VBY2dC?= =?us-ascii?Q?MkFHVUFiQUJmQUhBQWNnQnZBR29BWlFCakFIUUFYd0J1QUdFQWJRQmxBSE1B?= =?us-ascii?Q?WHdCeUFHVUFjd0IwQUhJQWFRQmpBSFFBWlFCa0FGOEFZUUJzQUc4QWJnQmxB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFF?= =?us-ascii?Q?QUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUcwQVlRQnlBSFlBWlFCc0FGOEFjQUJ5?= =?us-ascii?Q?QUc4QWFnQmxBR01BZEFCZkFHNEFZUUJ0QUdVQWN3QmZBSElBWlFCekFIUUFj?= =?us-ascii?Q?Z0JwQUdNQWRBQmxBR1FBWHdCb0FHVUFlQUJqQUc4QVpBQmxBSE1BQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFB?= =?us-ascii?Q?QUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFHRUFjZ0J0QUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-refthree: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJ?= =?us-ascii?Q?QUFBQUFBSjRBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBWndCdkFHOEFad0Jz?= =?us-ascii?Q?QUdVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQUFBQUFBZ0FBQUFBQW5nQUFBRzBB?= =?us-ascii?Q?WVFCeUFIWUFaUUJzQUd3QVh3QndBSElBYndCcUFHVUFZd0IwQUY4QVl3QnZB?= =?us-ascii?Q?R1FBWlFCekFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFRQUFBQUFBQUFBQ0FBQUFBQUNlQUFBQWJRQmhBSElBZGdCbEFHd0Fi?= =?us-ascii?Q?QUJmQUhBQWNnQnZBR29BWlFCakFIUUFYd0JqQUc4QVpBQmxBSE1BWHdCa0FH?= =?us-ascii?Q?a0FZd0IwQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFB?= =?us-ascii?Q?QUlBQUFBQUFKNEFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFjQUJ5QUc4QWFn?= =?us-ascii?Q?QmxBR01BZEFCZkFHNEFZUUJ0QUdVQWN3QmZBR01BYndCdUFHWUFhUUJrQUdV?= =?us-ascii?Q?QWJnQjBBR2tBWVFCc0FGOEFiUUJoQUhJQWRnQmxBR3dBYkFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFnQUFBQUFBbmdBQUFH?= =?us-ascii?Q?MEFZUUJ5QUhZQVpRQnNBR3dBWHdCd0FISUFid0JxQUdVQVl3QjBBRjhBYmdC?= =?us-ascii?Q?aEFHMEFaUUJ6QUY4QVl3QnZBRzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhBR3dB?= =?us-ascii?Q?WHdCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBYndCeUFGOEFZUUJ5QUcwQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= x-dg-reffour: =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFDQUFBQUFBQ2VB?= =?us-ascii?Q?QUFBYlFCaEFISUFkZ0JsQUd3QWJBQmZBSEFBY2dCdkFHb0FaUUJqQUhRQVh3?= =?us-ascii?Q?QnVBR0VBYlFCbEFITUFYd0JqQUc4QWJnQm1BR2tBWkFCbEFHNEFkQUJwQUdF?= =?us-ascii?Q?QWJBQmZBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QnZBSElBWHdCbkFHOEFid0Ju?= =?us-ascii?Q?QUd3QVpRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQnRBR0VBY2dCMkFH?= =?us-ascii?Q?VUFiQUJzQUY4QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dC?= =?us-ascii?Q?ZkFISUFaUUJ6QUhRQWNnQnBBR01BZEFCbEFHUUFYd0J0QUdFQWNnQjJBR1VB?= =?us-ascii?Q?YkFCc0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFB?= =?us-ascii?Q?QUFBQUFBQWdBQUFBQUFuZ0FBQUcwQVlRQnlBSFlBWlFCc0FHd0FYd0J3QUhJ?= =?us-ascii?Q?QWJ3QnFBR1VBWXdCMEFGOEFiZ0JoQUcwQVpRQnpBRjhBY2dCbEFITUFkQUJ5?= =?us-ascii?Q?QUdrQVl3QjBBR1VBWkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFY?= =?us-ascii?Q?d0JoQUhJQWJRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFD?= =?us-ascii?Q?ZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVB?= =?us-ascii?Q?Y3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBSjRBQUFCdEFHRUFjZ0Iy?= =?us-ascii?Q?QUdVQWJBQnNBRjhBZHdCdkFISUFaQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB?= =?us-ascii?Q?QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVB?= =?us-ascii?Q?QUFBQUFBQUFBZ0FBQUFBQU9nWUFBQUFBQUFBSUFBQUFBQUFBQUFnQUFBQUFB?= =?us-ascii?Q?QUFBQ0FBQUFBQUFBQUFhQmdBQUdRQUFBQmdB?= x-dg-reffive: =?us-ascii?Q?QUFBQUFBQUFZUUJrQUdRQWNnQmxBSE1BY3dBQUFDUUFBQUFCQUFBQVl3QjFB?= =?us-ascii?Q?SE1BZEFCdkFHMEFYd0J3QUdVQWNnQnpBRzhBYmdBQUFDNEFBQUFBQUFBQVl3?= =?us-ascii?Q?QjFBSE1BZEFCdkFHMEFYd0J3QUdnQWJ3QnVBR1VBYmdCMUFHMEFZZ0JsQUhJ?= =?us-ascii?Q?QUFBQXdBQUFBQUFBQUFHTUFkUUJ6QUhRQWJ3QnRBRjhBY3dCekFHNEFYd0Jr?= =?us-ascii?Q?QUdFQWN3Qm9BRjhBZGdBd0FESUFBQUF3QUFBQUFBQUFBR01BZFFCekFIUUFi?= =?us-ascii?Q?d0J0QUY4QWN3QnpBRzRBWHdCckFHVUFlUUIzQUc4QWNnQmtBSE1BQUFBK0FB?= =?us-ascii?Q?QUFBQUFBQUdNQWRRQnpBSFFBYndCdEFGOEFjd0J6QUc0QVh3QnVBRzhBWkFC?= =?us-ascii?Q?bEFHd0FhUUJ0QUdrQWRBQmxBSElBWHdCMkFEQUFNZ0FBQURJQUFBQUFBQUFB?= =?us-ascii?Q?WXdCMUFITUFkQUJ2QUcwQVh3QnpBSE1BYmdCZkFITUFjQUJoQUdNQVpRQmZB?= =?us-ascii?Q?SFlBTUFBeUFBQUFQZ0FBQUFBQUFBQmtBR3dBY0FCZkFITUFhd0I1QUhBQVpR?= =?us-ascii?Q?QmZBR01BYUFCaEFIUUFYd0J0QUdVQWN3QnpBR0VBWndCbEFGOEFkZ0F3QURJ?= =?us-ascii?Q?QUFBQTJBQUFBQUFBQUFHUUFiQUJ3QUY4QWN3QnNBR0VBWXdCckFGOEFZd0Jv?= =?us-ascii?Q?QUdFQWRBQmZBRzBBWlFCekFITUFZUUJuQUdVQUFBQTRBQUFBQUFBQUFHUUFi?= =?us-ascii?Q?QUJ3QUY4QWRBQmxBR0VBYlFCekFGOEFid0J1QUdVQVpBQnlBR2tBZGdCbEFG?= =?us-ascii?Q?OEFaZ0JwQUd3QVpRQUFBQ1FBQUFBRUFBQUFaUUJ0QUdFQWFRQnNBRjhBWVFC?= =?us-ascii?Q?a0FHUUFjZ0JsQUhNQWN3QUFBRmdBQUFBQUFBQUFiUUJoQUhJQWRnQmxBR3dB?= =?us-ascii?Q?WHdCd0FISUFid0JxQUdVQVl3QjBBRjhBYmdCaEFHMEFaUUJ6QUY4QVl3QnZB?= =?us-ascii?Q?RzRBWmdCcEFHUUFaUUJ1QUhRQWFRQmhBR3dBWHdCaEFHd0Fid0J1QUdVQUFB?= =?us-ascii?Q?QlVBQUFBQUFBQUFHMEFZUUJ5QUhZQVpRQnNBRjhBY0FCeUFHOEFhZ0JsQUdN?= =?us-ascii?Q?QWRBQmZBRzRBWVFCdEFHVUFjd0JmQUhJQVpRQnpBSFFBY2dCcEFHTUFkQUJs?= =?us-ascii?Q?QUdRQVh3QmhBR3dBYndCdUFHVUFBQUJhQUFBQUFBQUFBRzBBWVFCeUFIWUFa?= =?us-ascii?Q?UUJzQUY4QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUc0QVlRQnRBR1VBY3dCZkFI?= =?us-ascii?Q?SUFaUUJ6QUhRQWNnQnBBR01BZEFCbEFHUUFYd0JvQUdVQWVBQmpBRzhBWkFC?= =?us-ascii?Q?bEFITUFBQUFnQUFBQUFBQUFBRzBBWVFCeUFIWUFaUUJzQUd3QVh3QmhBSElB?= =?us-ascii?Q?YlFBQUFDWUFBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUdjQWJ3QnZB?= =?us-ascii?Q?R2NBYkFCbEFBQUFOQUFBQUFBQUFBQnRBR0VB?= x-dg-refsix: =?us-ascii?Q?Y2dCMkFHVUFiQUJzQUY4QWNBQnlBRzhBYWdCbEFHTUFkQUJmQUdNQWJ3QmtB?= =?us-ascii?Q?R1VBY3dBQUFENEFBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNn?= =?us-ascii?Q?QnZBR29BWlFCakFIUUFYd0JqQUc4QVpBQmxBSE1BWHdCa0FHa0FZd0IwQUFB?= =?us-ascii?Q?QVhnQUFBQUFBQUFCdEFHRUFjZ0IyQUdVQWJBQnNBRjhBY0FCeUFHOEFhZ0Js?= =?us-ascii?Q?QUdNQWRBQmZBRzRBWVFCdEFHVUFjd0JmQUdNQWJ3QnVBR1lBYVFCa0FHVUFi?= =?us-ascii?Q?Z0IwQUdrQVlRQnNBRjhBYlFCaEFISUFkZ0JsQUd3QWJBQUFBR3dBQUFBQUFB?= =?us-ascii?Q?QUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpRQmpBSFFBWHdC?= =?us-ascii?Q?dUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0QWRBQnBBR0VB?= =?us-ascii?Q?YkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0JoQUhJQWJRQUFB?= =?us-ascii?Q?SElBQUFBQUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIQUFjZ0J2QUdvQVpR?= =?us-ascii?Q?QmpBSFFBWHdCdUFHRUFiUUJsQUhNQVh3QmpBRzhBYmdCbUFHa0FaQUJsQUc0?= =?us-ascii?Q?QWRBQnBBR0VBYkFCZkFHMEFZUUJ5QUhZQVpRQnNBR3dBWHdCdkFISUFYd0Ju?= =?us-ascii?Q?QUc4QWJ3Qm5BR3dBWlFBQUFGb0FBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0Fi?= =?us-ascii?Q?QUJmQUhBQWNnQnZBR29BWlFCakFIUUFYd0J1QUdFQWJRQmxBSE1BWHdCeUFH?= =?us-ascii?Q?VUFjd0IwQUhJQWFRQmpBSFFBWlFCa0FGOEFiUUJoQUhJQWRnQmxBR3dBYkFB?= =?us-ascii?Q?QUFHZ0FBQUFBQUFBQWJRQmhBSElBZGdCbEFHd0FiQUJmQUhBQWNnQnZBR29B?= =?us-ascii?Q?WlFCakFIUUFYd0J1QUdFQWJRQmxBSE1BWHdCeUFHVUFjd0IwQUhJQWFRQmpB?= =?us-ascii?Q?SFFBWlFCa0FGOEFiUUJoQUhJQWRnQmxBR3dBYkFCZkFHOEFjZ0JmQUdFQWNn?= =?us-ascii?Q?QnRBQUFBS2dBQUFBQUFBQUJ0QUdFQWNnQjJBR1VBYkFCc0FGOEFkQUJsQUhJ?= =?us-ascii?Q?QWJRQnBBRzRBZFFCekFBQUFJZ0FBQUFBQUFBQnRBR0VBY2dCMkFHVUFiQUJz?= =?us-ascii?Q?QUY4QWR3QnZBSElBWkFBQUFBPT0iLz48L21ldGE+?= x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4672:EE_|PH0PR18MB5249:EE_ x-ms-office365-filtering-correlation-id: f128ff51-cd90-4d30-672a-08dbe97fdd08 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BxUgucWI2Qxi0nHYFDBPKabz78bY8QuBl+/knM2iudVN9iEWs/PNmIWmBraN0XCi8Amekny72DXEjzukV8OI0tZbm0xpIgoVTm4lnrTrSm381pv/uTPcnKIIDzrDnIAHpvTXwXR7WMlhLo77U6Wsdr5TokGIranesoJ5cyhGmj+fj8Ry5xJytT1IINao/BWkr+0KKGIzruPtsxNmgyr+WjwPXhEoizRsNRA3BClfNqbdW1Rxzs77AczFslHu5JvuRSwjGf/Duajl9OdHyy9xLUzO1wDOsQ+F5AokRS+0PHgEqPUEjxGwmnctRILr+yC3YBHf7Q92ftLYPhMkXFtcGxU1G1oUucIMzptmi3M61W5RCKYkyC8K1K+gMQvkfjaIfvG5FKW7gjASphWiaXufPUJwqO7YJb0/CUYlsQAvmh9K9jbiPUSPf8Cph/CF3i8bA4N3rfdVf9sbQbXsFwvFlJn/Wo8Xy0I+sbZJ+uTkA0t7Z4MNDtKq5Qyf9ML8XMxmuA937kxLrdlcLZjvZ5oViRq945QXZKKmhKcvv0ash9hF2C1RjWs8GgnxJXiAAO58tThhK8lE6VsXSgFkY4+bhxYZMvwk2UC0ET/STlXlm61KAVmwegDdUk1uPSMhUKRzbJM/4ee9NsWvOOzT9kjNCAUyrPEfrtCzjVW5y7kpTLM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(39850400004)(376002)(136003)(346002)(230173577357003)(230273577357003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(15650500001)(5660300002)(2906002)(71200400001)(478600001)(38100700002)(8936002)(4326008)(8676002)(52536014)(86362001)(110136005)(66946007)(76116006)(66556008)(66446008)(54906003)(64756008)(316002)(107886003)(33656002)(26005)(83380400001)(66476007)(6506007)(7696005)(53546011)(122000001)(41300700001)(38070700009)(9686003)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?hBfDUvmbtsl7u63MYfSL1SrOsvBRNB5+Yzwd0G9ngG1YWgkKMPZFv2IGXaWq?= =?us-ascii?Q?sB2TTfbIPisf/YHKXjLGrd1nIy14887TDQOGu9S4JnZoXhUeaijM9NVWPT0K?= =?us-ascii?Q?fFU9N6L8xpT81QgsrIFr68VEWVd3PWPZyXvwFYE59kGKKgnOCHIaZVFy5HLj?= =?us-ascii?Q?zJsN2tuI5NKSTpXfC2Qbrzy4+rIEON5GoiL5Oph+cZxu/NAsX2svmr+u27NV?= =?us-ascii?Q?loXeSCuAtXLesZy9UU8KCtgINtm8xAUtffFTunMf1EIO/aolX9qX5ip9sqUV?= =?us-ascii?Q?uITD6+x9eYAnNHYKdW2+zY1WWFQeHmOFWMqvR3fuKifVX8aNxTDLMgjm/fJ5?= =?us-ascii?Q?3JkQuG7kt/foC2M47uVXL7yXB2ynm0zRz+yVLcIgtuOmd5GOOEFp+FJZq6Qv?= =?us-ascii?Q?sOZ+bBZZd1xWtSa5zJrLohpYOfPETMbYMJClGQ0Nd5QCFUpcv/bk4xYu2/+Q?= =?us-ascii?Q?6Pr/0o6PC/ON96G5bu3Jv6Kj95ks9rDYFcEKV8Sk+KoJvAEAdfLaT+KjY8Ya?= =?us-ascii?Q?PW8Oe3dXE+WblQXAPcCtK0jy00qocBqz7KoXCbfFkUyF6KzyRdXHFuZor4C2?= =?us-ascii?Q?/E1r12m6+R+ylMIexgY6bXjdDcVjDYYcXAur4ONo1z8LEW4gCZh6fFUcA82S?= =?us-ascii?Q?oW2z85Z5H4lFvT9DH3pg27y3CcxzTgL8ipGFqOlBYJQK5I7wIDapG1kYuOR+?= =?us-ascii?Q?UbndKS5p1CTVPqy7OJZoEdDv3wodTxOSmAjlfqbHJcKiW0eR2zdLI0ulIK3u?= =?us-ascii?Q?aAfaP3687R3k9Oyox8Nl+kPKgKGxAsjmq07iAlVlgpg6FzSH0iXeMYXQHFip?= =?us-ascii?Q?N0x8ckww/U8aivbdcbhCwdTMUMTps4KfYIkXyQ10WOHKlXzAt6HSjDZYXFwR?= =?us-ascii?Q?vglQyg3V/Y0Pj63l03gbKAJNo+knUvRGa4wEGcJL96HR5uOi748FVE38NiEn?= =?us-ascii?Q?fAzYCs5F872l2ALmcwdHoyF83O4ZQe92+5SZG+cGu6jDK5bH4vFNDljApVrb?= =?us-ascii?Q?e9J+DEEFQX53AJlRTfGcLRmovs3paPmqlqNgdXdmcmZ1bfdSlqxM06Umly3/?= =?us-ascii?Q?/hmeytEUqBswyrXxBAkrXGlHIcOMWrMuuo4gTfeUVgB7Fy1htkhro9c7SO9W?= =?us-ascii?Q?gTKvVvGHbfPxvD5NVuk2ehkCdog1DkV2Sf9tfu2kwsU0y9h69tu6Cv+YvNvC?= =?us-ascii?Q?G9U4Wp1SSiLDqiHgvQt+9TufYpGJ9jKP4nvqyRbRPOA17fmBk7iz9C4rOxvW?= =?us-ascii?Q?JkqrKwMelSb7kHM9A8GgdmXEjZstKXxgQ2QJb+0JTkX7/DZrSYptbqbsfvuu?= =?us-ascii?Q?6dA15eXlK2xrAcJlTv71uvzjulc1R+oi0fbWTTt1gCgvrn2d0nVT1f7wgAro?= =?us-ascii?Q?Foi/j0N0mVS7RDGTX4LYZzuEYIMRdeQxA4OFiB1hicQ5mH8ccJqwiHYmMcC2?= =?us-ascii?Q?B4rxmVVsjLGcO6whTUdgcZimrmM7aUdYvhsXWbF41kOJSBBoY5+XoPSY15Zx?= =?us-ascii?Q?LPcixBLVxrpZnY+8zG2tiysVJVvgkrM+7V+jS4mC144Dx6ngzD1IZvDM8hYB?= =?us-ascii?Q?XB/0mBK4XwyvT+PXNrY=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f128ff51-cd90-4d30-672a-08dbe97fdd08 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 04:19:18.0955 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: AzQ87r432Qm6GZp5gyQNwdIWtnghdieYSjFkezhnGueO26E7w5pM47RnnFa8apRZ6g+VbK1wlKV/kxuabjFhJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB5249 X-Proofpoint-GUID: XuhwsQnvtnP1FyOGsZDzHjKFc37J4Dju X-Proofpoint-ORIG-GUID: XuhwsQnvtnP1FyOGsZDzHjKFc37J4Dju X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-11-20_01,2023-11-17_01,2023-05-22_02 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 Hi Stephen, Since the issue is only with cnxk drivers, may I propose a change in driver= to mitigate this issue? Flex array that is proposed is already used by asymmetric sessions. We have= addressed the issue you highlighted with below scheme. #define ASYM_SESS_SIZE sizeof(struct rte_cryptodev_asym_session) struct cnxk_ae_sess { uint8_t rte_sess[ASYM_SESS_SIZE]; enum rte_crypto_asym_xform_type xfrm_type; union { struct rte_crypto_rsa_xform rsa_ctx; struct rte_crypto_modex_xform mod_ctx; struct roc_ae_ec_ctx ec_ctx; }; uint64_t *cnxk_fpm_iova; struct roc_ae_ec_group **ec_grp; uint64_t cpt_inst_w7; uint64_t cpt_inst_w2; struct cnxk_cpt_qp *qp; struct roc_cpt_lf *lf; struct hw_ctx_s { union { struct { uint64_t rsvd : 48; uint64_t ctx_push_size : 7; uint64_t rsvd1 : 1; uint64_t ctx_hdr_size : 2; uint64_t aop_valid : 1; uint64_t rsvd2 : 1; uint64_t ctx_size : 4; } s; uint64_t u64; } w0; uint8_t rsvd[256]; } hw_ctx __plt_aligned(ROC_ALIGN); }; The hw_ctx that is used in above struct needs alignment that is different f= rom cache line alignment. The above struct layout allow us to minimize the = size of the struct and cacheline accesses. Basically, the space after rte_s= ess portion would be the driver internal space and we align hw_ctx without = having to do any pointer manipulations. Also, having both DPDK specific fie= lds and driver internal fields in first cacheline minimizes the cache acces= ses in the datapath. I can push a patch if you think this approach is okay. Thanks, Anoob > -----Original Message----- > From: Stephen Hemminger > Sent: Monday, November 20, 2023 1:28 AM > To: Akhil Goyal ; Fan Zhang > > Cc: dev@dpdk.org > Subject: [EXT] The problem with priv_data in crypto and security API's >=20 > External Email >=20 > ---------------------------------------------------------------------- > In the patchset, that removes the GNU style zero length arrays, there is = a > problem caused by the use of these in the cryptodev header files. >=20 > For both rte_session and rte_cryptodev, the current convention is to do: >=20 > struct rte_security_session { > RTE_MARKER cacheline0; > uint64_t opaque_data; > /**< Opaque user defined data */ > uint64_t fast_mdata; > /**< Fast metadata to be used for inline path */ > rte_iova_t driver_priv_data_iova; > /**< session private data IOVA address */ >=20 > RTE_MARKER cacheline1 __rte_cache_min_aligned; > uint8_t driver_priv_data[0]; > /**< Private session material, variable size (depends on driver) */ }; >=20 > This can not just be replaced with a C90 flex array because then clang > correctly complains of using flex array not at the end of the structure. >=20 > struct cn9k_sec_session { > struct rte_security_session rte_sess; >=20 > /** PMD private space */ >=20 > /** ESN */ > union { > uint64_t esn; > struct { > uint32_t seq_lo; > uint32_t seq_hi; > }; > }; > /** IPsec SA direction */ > uint8_t is_outbound; > /* ESN enable flag */ > uint8_t esn_en; > /** Pre-populated CPT inst words */ > struct cnxk_cpt_inst_tmpl inst; > /** Response length calculation data */ > struct cnxk_ipsec_outb_rlens rlens; > /** Anti replay window size */ > uint32_t replay_win_sz; > /** Cipher IV offset in bytes */ > uint16_t cipher_iv_off; > /** Cipher IV length in bytes */ > uint8_t cipher_iv_len; > /** Outbound custom header length */ > uint8_t custom_hdr_len; > /** Anti replay */ > struct cnxk_on_ipsec_ar ar; > /** Queue pair */ > struct cnxk_cpt_qp *qp; >=20 > struct cn9k_ipsec_sa sa; > } __rte_cache_aligned; >=20 >=20 >=20 > There are a couple of ways to fix this, and both are non-trivial. > The first is to get rid of the priv_data element and modify the managemen= t > to do the cache alignment. >=20 > Something like: >=20 > diff --git a/lib/security/rte_security_driver.h > b/lib/security/rte_security_driver.h > index faa4074f1965..ffc5b5d7257b 100644 > --- a/lib/security/rte_security_driver.h > +++ b/lib/security/rte_security_driver.h > @@ -30,11 +30,6 @@ struct rte_security_session { > uint64_t fast_mdata; > /**< Fast metadata to be used for inline path */ > rte_iova_t driver_priv_data_iova; > - /**< session private data IOVA address */ > - > - RTE_MARKER cacheline1 __rte_cache_min_aligned; > - uint8_t driver_priv_data[]; > - /**< Private session material, variable size (depends on driver) = */ > }; >=20 > /** > @@ -61,13 +56,33 @@ struct rte_security_ctx { > /**< Number of MACsec SA attached to this context */ }; >=20 > +/** > + * Helper to acces rte_session private data > + * @param sess > + * Pointer to Security private session structure > + * > + * @return > + * Pointer to area reserved for private data > + */ > +static inline void * > +rte_security_priv(const struct rte_security_session *sess) { > + return (void *)((uintptr_t)sess + > +RTE_CACHE_LINE_ROUNDUP(sizeof(*sess))); > +} > + >=20 > diff --git a/lib/security/rte_security.c b/lib/security/rte_security.c in= dex > b082a290296b..f3202e3df6cd 100644 > --- a/lib/security/rte_security.c > +++ b/lib/security/rte_security.c > @@ -66,6 +66,7 @@ rte_security_session_create(void *ctx, { > struct rte_security_session *sess =3D NULL; > struct rte_security_ctx *instance =3D ctx; > + const size_t sess_size =3D RTE_CACHE_LINE_ROUNDUP(sizeof(*sess)); > uint32_t sess_priv_size; >=20 > RTE_PTR_CHAIN3_OR_ERR_RET(instance, ops, session_create, NULL, > NULL); @@ -73,17 +74,16 @@ rte_security_session_create(void *ctx, > RTE_PTR_OR_ERR_RET(mp, NULL); >=20 > sess_priv_size =3D instance->ops->session_get_size(instance->devi= ce); > - if (mp->elt_size < (sizeof(struct rte_security_session) + sess_pr= iv_size)) > + if (mp->elt_size < sess_size + sess_priv_size) > return NULL; >=20 > if (rte_mempool_get(mp, (void **)&sess)) > return NULL; >=20 > /* Clear session priv data */ > - memset(sess->driver_priv_data, 0, sess_priv_size); > + memset(rte_security_priv(sess), 0, sess_priv_size); >=20 > - sess->driver_priv_data_iova =3D rte_mempool_virt2iova(sess) + > - offsetof(struct rte_security_session, driver_priv= _data); > + sess->driver_priv_data_iova =3D rte_mempool_virt2iova(sess) + > + sess_size; > if (instance->ops->session_create(instance->device, conf, sess)) = { > rte_mempool_put(mp, (v >=20 > This is what Linux kernel does with netdev_priv() helper. >=20 > There is also a lot of open coded versions of same thing in Intel crypto > drivers. Anything with that many casts looks like a design mistake to me. >=20 > struct ixgbe_crypto_session *ic_session =3D (void *)(uintptr_t) > ((const struct rte_security_session *)sess)->drive= r_priv_data;