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 640AFA0C4C; Fri, 8 Oct 2021 20:13:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E578E40143; Fri, 8 Oct 2021 20:13:36 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2066.outbound.protection.outlook.com [40.107.95.66]) by mails.dpdk.org (Postfix) with ESMTP id 68A3540140 for ; Fri, 8 Oct 2021 20:13:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gFOtckKyZM1N+PcQkV5NkS8wn1SnHDKdGdE4ge3ziAV92mKRtH49hP7ZMb++lr7akBMYJ6H7uCfdbMjSs8SCanHKV/kDppR+FArbTINaSVHbOz3Cu578+CGysIJOu3dWiSUlX/MfRevHEu4DQSXHVwnJuuB/841cd4sKWSztW7sYlaUEv/2tBIEsCfVJSmKtRi77hJlIx/QagSa0U7gekzjcFeY3jm0unpXrgQ1ohL/Ktwy//2puWgkdtDVi4oWptEWYHi+iY12yBn80JtEYF3mzw6NsPybf4DzE0eSTFk41NPYlb7UQCvYhRL54XV3A7VVCWZUTsa7U/d3WGUX72A== 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=vV09bXiDPYEdDkAam8uiHqg17gG2cb3OoenD6cqZ5n8=; b=DiIDUl6qRzdE/G7x2Gr7cWdA2XGp/+KelR8InM8syTWntlrtOlfutcbzbUl7qcAJt6r1wAaI4pS/SRVPD0wDAzElxODwY2K0nkyedtJYxhH87CiCAH8UVq2wE8rUCpJi/6Dl46egJJc7uY9/K1OHeKTq0pSssqh8YxlmzPtLtUqbvHrEL5ATdT3ZWbYUR/1qLGX4yVpnr5O4E5vcxaB74LZdx5DoYMrLEjEi7iprzFUOgRdfx+QrQL77hsIM3IPGKM6xRVGk4MnNj5XPj7teFs3ItEWIpe01uJuVx+Th0GG7GTXuAVZ16Qa7xVAnUeGkybU1siE6Gj9E1JTYCA4vcA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vV09bXiDPYEdDkAam8uiHqg17gG2cb3OoenD6cqZ5n8=; b=OQCRJZgWQR4R5CCeAsiOGWMGiwHV2vsqQ2PZozs3sZoBfQGwz3yPduMWcMgJFYmkAwMk5vZ6v+S1XAiBN5PZfk9aqw7WNsoCdQvQhCutPnfTGgDHlH+7kjQlSBZWn0g8cghzl5GuUHM7rEMXw/vKQ2/SBg1J0C/JdKlCKrFdEVCt1pZch6W0+IJdi3rlKwhdalKatZ/32hzb6zungzeHuwYsgUX4381YNOEcFz6yAf4HkHR0bB/2VFG1N4kUC9sEYgNXZeogKgTYVAdAq+2LyR4w8x2HaCO+sWtyFr3oK5YRyXUG6WSRlfMmHMumtDVk4rHS5LVGc+t/VydK/R3yPw== Received: from MN2PR12MB3759.namprd12.prod.outlook.com (2603:10b6:208:163::24) by MN2PR12MB4029.namprd12.prod.outlook.com (2603:10b6:208:167::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Fri, 8 Oct 2021 18:13:29 +0000 Received: from MN2PR12MB3759.namprd12.prod.outlook.com ([fe80::28f5:927e:16c1:d2a0]) by MN2PR12MB3759.namprd12.prod.outlook.com ([fe80::28f5:927e:16c1:d2a0%7]) with mapi id 15.20.4587.020; Fri, 8 Oct 2021 18:13:29 +0000 From: Slava Ovsiienko To: Konstantin Ananyev , "dev@dpdk.org" CC: "xiaoyun.li@intel.com" , "anoobj@marvell.com" , "jerinj@marvell.com" , "ndabilpuram@marvell.com" , "adwivedi@marvell.com" , "shepard.siegel@atomicrules.com" , "ed.czeck@atomicrules.com" , "john.miller@atomicrules.com" , "irusskikh@marvell.com" , "ajit.khaparde@broadcom.com" , "somnath.kotur@broadcom.com" , "rahul.lakkireddy@chelsio.com" , "hemant.agrawal@nxp.com" , "sachin.saxena@oss.nxp.com" , "haiyue.wang@intel.com" , "johndale@cisco.com" , "hyonkim@cisco.com" , "qi.z.zhang@intel.com" , "xiao.w.wang@intel.com" , "humin29@huawei.com" , "yisen.zhuang@huawei.com" , "oulijun@huawei.com" , "beilei.xing@intel.com" , "jingjing.wu@intel.com" , "qiming.yang@intel.com" , Matan Azrad , "sthemmin@microsoft.com" , NBU-Contact-longli , "heinrich.kuhn@corigine.com" , "kirankumark@marvell.com" , "andrew.rybchenko@oktetlabs.ru" , "mczekaj@marvell.com" , "jiawenwu@trustnetic.com" , "jianwang@trustnetic.com" , "maxime.coquelin@redhat.com" , "chenbo.xia@intel.com" , NBU-Contact-Thomas Monjalon , "ferruh.yigit@intel.com" , "mdr@ashroe.eu" , "jay.jayatheerthan@intel.com" Thread-Topic: [PATCH v5 0/7] hide eth dev related structures Thread-Index: AQHXu26B7BKktzS32EuNGtTUqX2eKqvJWoIg Date: Fri, 8 Oct 2021 18:13:29 +0000 Message-ID: References: <20211004135603.20593-1-konstantin.ananyev@intel.com> <20211007112750.25526-1-konstantin.ananyev@intel.com> In-Reply-To: <20211007112750.25526-1-konstantin.ananyev@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0ecb56b9-84c2-442f-dc9c-08d98a8754e2 x-ms-traffictypediagnostic: MN2PR12MB4029: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9YIUcYspPC28Y9HnLSgsqarnLFva9EBamYnKWaomK7uCHOGrlZc1kRkxE35PKH8ovkD+2epE3manf35dFdznoOJyd2pQuMppE9oKbAbjvGIcxRLWfK/6d/h2ZHiV4bnloGI+E5TfxQYuCCTaqtOD7JVu4EFLyFTdChZalUTy76/3VtgzXNRTb6owzmNwmcnNFYFCkX7cQ2nWTY9sYC14aUMOVMQfRzO+AEdvNF5Teak+OpZj4EEkImqhf7yzyMfhQgtyE9dA9DWJeGFU0y+mkGedaxz8JYJ74qFk0J+rj9kmsDGN/HUgqANhyyWXTXC9JaGVVlyhouI6X6yQWMg5GXZKqVBTS8/7NX9LCVflin/1AN67Tx9iri1OnY9k9oHRXqjNjs+b/KFdcGKvw99gB8j59vrhqc980dmxChvaDEKIXGGip476WYYGuUpdwHLcMRobKw4fZQyNBqWsD4SAp04chgsUfC58OaSQwAY1zOklAZhznzZ1yoGSdCEVaP/pLSPHbQntXG6df2W2ie5KYFUJHi+zNuj7k0bp0SBRjxMDvUeELIXhbcWtottQIhUnJMnoviCKKUWmqsr8Aap82HhVljmPZVS4Tkdrd9ZqhF9itynftrPYPNBggnRzFjb5vtl35OJNnWoxq3O1+vEPXuvPQsKxZR9+SdsIHz9Y75oelidWCd6IKX8irIIFhO/2JVwlEGFV686pvl5RkNtjvML31+Xo2PQp5wGXLgsHavUMqfZxO7am+KMtge/pl1YHt9q7O4ZCuvmJFHjBBXr2pwARM5ZqqLGzMntzEuApIyI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3759.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(966005)(83380400001)(38100700002)(122000001)(86362001)(38070700005)(33656002)(7406005)(4326008)(54906003)(8676002)(71200400001)(7416002)(110136005)(316002)(55016002)(9686003)(66946007)(66446008)(66476007)(64756008)(66556008)(5660300002)(45080400002)(52536014)(26005)(7696005)(8936002)(53546011)(6506007)(76116006)(2906002)(508600001)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?QxWJ54YWF+rh4GHMgJwfSUZKJ639f68nnQp5bM/p50qYGXlgW1Wgweni7baV?= =?us-ascii?Q?l9j74f4bZD+bzXwrbctCh6FXmdpM8Mb/G4BthmNtncdDLY8P1/e0CThfaasI?= =?us-ascii?Q?O4nEVpZkabNxbZRu+Bf2vsS/oV9JgRe2wTyAEN2C53Lp7wnIN2ZdZCNDL7/v?= =?us-ascii?Q?srWsFEYWntXDrfGPx6UeYMv0opYFzGwU3fOAJDLr5kKXAIjcVmyEX199er7r?= =?us-ascii?Q?AVp9RRlxvi2aF8DqaH2NhixrkRV00aDyrO7uYxua/M2xDAlEPNQQQbwOkPNw?= =?us-ascii?Q?9sbISV+dm7t0awKbiCwiL9zQM+TmtEwtdxKDO5HRMu+xKuDsllldKBnYMpn1?= =?us-ascii?Q?6cZIegmMgSWOlrRJHla+b9sBy3A6Qlew+OBlKOpyurZ/4w9kww6RKTFBGfg8?= =?us-ascii?Q?hEZD8yUjNRfDv/yqnKXP4UijrG9BE9esZRlc+cFCRm5heLkRQQUiLv+tPEFz?= =?us-ascii?Q?AzDOrLRB0rlSZkBdwV+aYg3EWqQJ8epgVuelESMRYuomb32/M6HZKqdUq4Jv?= =?us-ascii?Q?/MK2mmVqojdlip08yJqRPJrCtFHHS5EbwJi5FEd1ywYMtfs2KcQR/ZgWVYWb?= =?us-ascii?Q?P76cC5TsuuueXl5hHi8ZI7I7f3s9HLgQbYTydj+iNHjjtNkwS8f1QXxhj/NV?= =?us-ascii?Q?6f4/u+5unt3tkcnT/ki1tvH57FVF2d4zI9r+wHzmmXOSrM7eA/o0MjLPVQ0D?= =?us-ascii?Q?D+QlimhewFlRUM6wu4QQyYRm/pn+D3qY99qlJ9Kz/sCab+0eEoLKzgudIvca?= =?us-ascii?Q?yuPksZZuBglg2OHQFhwBcGRr7QWCc65AFjQxOqjetvchJqUteEAJdgHtsS0t?= =?us-ascii?Q?9klisVbvxG5ah1xqKjZc9Ee6Zq3ByIo2uFYwuy1C8vH6P3bIpVhSkOBb2Z74?= =?us-ascii?Q?RszhQVdo7g6KpvUpRnleLpubRvwvJvYRnNFu9ZTp/K/dhtR6ZfoWY3/bi89X?= =?us-ascii?Q?4AcAZXxirZeHzePWf9LOiTcVUmA02HkIRqa/y9qonLp37bntSiTVv/qXxA5H?= =?us-ascii?Q?UlpoQN+fpaWKbHJqx8vomc0fLrtgrU2DOTUIQjiQRWbhC4lsurdO8ArcAcoV?= =?us-ascii?Q?YxWRPxiik1/W3ffppGP2jkH7BQegahOCwIokeXtnRoGV0BkPSCIC3EETid/i?= =?us-ascii?Q?uSB+zFua92HikFBbqhsHfGaVVdwNH9XxVE69eG7twY583MWf95hoV2RsdaVx?= =?us-ascii?Q?cgRgPqeWGRFUEpo6vrdxcxx6qLb3kGoTPtRkHudF/9ws+DbJYeyedOjfyTA2?= =?us-ascii?Q?UgfjccgG6l+iIs/F+KkPqSgXhoTE1JDKW1jSSwr9Av20SRYb/s+4KvPa5xce?= =?us-ascii?Q?Tp0=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3759.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ecb56b9-84c2-442f-dc9c-08d98a8754e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2021 18:13:29.6918 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZgqibGdVFCceyj5JJRloNg4F2f8CKHy61HGWS9LKIkXdc4wNYSgActJKJiNvNoiZPi6YB+3V9dHhynhjKhK5YA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4029 Subject: Re: [dpdk-dev] [PATCH v5 0/7] hide eth dev related structures 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 Sender: "dev" Hi, I've reviewed the series, and it looks good to me. I see we did not introduce new indirect referencing on the datapath (just replaced rte_eth_devices[] being hidden with the new rte_eth_fp_ops[]= .) My only concern - we'll get two places where pointers to the PMDs routines = are stored, and it means potential unsynchro between them, but I do not see the actual = scenario for that. For example, mlx5 PMD proposes multiple tx/rx_burst routines, and actual ro= utine selection happens on dev_start(), but then it is not supposed to be changed= till dev_stop(). The internal PMD checks like this: "if (dev->rx_pkt_burst =3D=3D mlx5_rx_burst)" supposed to continue working OK as well. Hence, for series: Acked-by: Viacheslav Ovsiienko With best regards, Slava > -----Original Message----- > From: Konstantin Ananyev > Sent: Thursday, October 7, 2021 14:28 > To: dev@dpdk.org > Cc: xiaoyun.li@intel.com; anoobj@marvell.com; jerinj@marvell.com; > ndabilpuram@marvell.com; adwivedi@marvell.com; > shepard.siegel@atomicrules.com; ed.czeck@atomicrules.com; > john.miller@atomicrules.com; irusskikh@marvell.com; > ajit.khaparde@broadcom.com; somnath.kotur@broadcom.com; > rahul.lakkireddy@chelsio.com; hemant.agrawal@nxp.com; > sachin.saxena@oss.nxp.com; haiyue.wang@intel.com; johndale@cisco.com; > hyonkim@cisco.com; qi.z.zhang@intel.com; xiao.w.wang@intel.com; > humin29@huawei.com; yisen.zhuang@huawei.com; oulijun@huawei.com; > beilei.xing@intel.com; jingjing.wu@intel.com; qiming.yang@intel.com; Mata= n > Azrad ; Slava Ovsiienko ; > sthemmin@microsoft.com; NBU-Contact-longli ; > heinrich.kuhn@corigine.com; kirankumark@marvell.com; > andrew.rybchenko@oktetlabs.ru; mczekaj@marvell.com; > jiawenwu@trustnetic.com; jianwang@trustnetic.com; > maxime.coquelin@redhat.com; chenbo.xia@intel.com; NBU-Contact-Thomas > Monjalon ; ferruh.yigit@intel.com; mdr@ashroe.eu; > jay.jayatheerthan@intel.com; Konstantin Ananyev > > Subject: [PATCH v5 0/7] hide eth dev related structures >=20 > v5 changes: > - Fix spelling (Thomas/David) > - Rename internal helper functions (David) > - Reorder patches and update commit messages (Thomas) > - Update comments (Thomas) > - Changed layout in rte_eth_fp_ops, to group functions and > related data based on their functionality: > first 64B line for Rx, second one for Tx. > Didn't observe any real performance difference comparing to > original layout. Though decided to keep a new one, as it seems > a bit more plausible. >=20 > v4 changes: > - Fix secondary process attach (Pavan) > - Fix build failure (Ferruh) > - Update lib/ethdev/verion.map (Ferruh) > Note that moving newly added symbols from EXPERIMENTAL to DPDK_22 > section makes checkpatch.sh to complain. >=20 > v3 changes: > - Changes in public struct naming (Jerin/Haiyue) > - Split patches > - Update docs > - Shamelessly included Andrew's patch: > https://patches.dpdk.org/project/dpdk/patch/20210928154856.1015020- > 1-andrew.rybchenko@oktetlabs.ru/ > into these series. > I have to do similar thing here, so decided to avoid duplicated effort= . >=20 > The aim of these patch series is to make rte_ethdev core data structures > (rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback, etc.) internal to = DPDK > and not visible to the user. > That should allow future possible changes to core ethdev related structur= es to > be transparent to the user and help to improve ABI/API stability. > Note that current ethdev API is preserved, but it is a formal ABI break. >=20 > The work is based on previous discussions at: > https://www.mail-archive.com/dev@dpdk.org/msg211405.html > https://www.mail-archive.com/dev@dpdk.org/msg216685.html > and consists of the following main points: > 1. Copy public 'fast' function pointers (rx_pkt_burst(), etc.) and > related data pointer from rte_eth_dev into a separate flat array. > We keep it public to still be able to use inline functions for these > 'fast' calls (like rte_eth_rx_burst(), etc.) to avoid/minimize slowdow= n. > Note that apart from function pointers itself, each element of this > flat array also contains two opaque pointers for each ethdev: > 1) a pointer to an array of internal queue data pointers > 2) points to array of queue callback data pointers. > Note that exposing this extra information allows us to avoid extra > changes inside PMD level, plus should help to avoid possible > performance degradation. > 2. Change implementation of 'fast' inline ethdev functions > (rte_eth_rx_burst(), etc.) to use new public flat array. > While it is an ABI breakage, this change is intended to be transparent > for both users (no changes in user app is required) and PMD developers > (no changes in PMD is required). > One extra note - with new implementation RX/TX callback invocation > will cost one extra function call with this changes. That might cause > some slowdown for code-path with RX/TX callbacks heavily involved. > Hope such trade-off is acceptable for the community. > 3. Move rte_eth_dev, rte_eth_dev_data, rte_eth_rxtx_callback and related > things into internal header: . >=20 > That approach was selected to: > - Avoid(/minimize) possible performance losses. > - Minimize required changes inside PMDs. >=20 > Performance testing results (ICX 2.0GHz, E810 (ice)): > - testpmd macswap fwd mode, plus > a) no RX/TX callbacks: > no actual slowdown observed > b) bpf-load rx 0 0 JM ./dpdk.org/examples/bpf/t3.o: > ~2% slowdown > - l3fwd: no actual slowdown observed >=20 > Would like to thank everyone who already reviewed and tested previous > versions of these series. All other interested parties please don't be sh= y and > provide your feedback. >=20 > Andrew Rybchenko (1): > ethdev: remove legacy Rx descriptor done API >=20 > Konstantin Ananyev (6): > ethdev: allocate max space for internal queue array > ethdev: change input parameters for rx_queue_count > ethdev: copy fast-path API into separate structure > ethdev: make fast-path functions to use new flat array > ethdev: add API to retrieve multiple ethernet addresses > ethdev: hide eth dev related structures >=20 > app/test-pmd/config.c | 23 +- > doc/guides/nics/features.rst | 6 +- > doc/guides/rel_notes/deprecation.rst | 5 - > doc/guides/rel_notes/release_21_11.rst | 21 ++ > drivers/common/octeontx2/otx2_sec_idev.c | 2 +- > drivers/crypto/octeontx2/otx2_cryptodev_ops.c | 2 +- > drivers/net/ark/ark_ethdev_rx.c | 4 +- > drivers/net/ark/ark_ethdev_rx.h | 3 +- > drivers/net/atlantic/atl_ethdev.h | 2 +- > drivers/net/atlantic/atl_rxtx.c | 9 +- > drivers/net/bnxt/bnxt_ethdev.c | 8 +- > drivers/net/cxgbe/base/adapter.h | 2 +- > drivers/net/dpaa/dpaa_ethdev.c | 9 +- > drivers/net/dpaa2/dpaa2_ethdev.c | 9 +- > drivers/net/dpaa2/dpaa2_ptp.c | 2 +- > drivers/net/e1000/e1000_ethdev.h | 10 +- > drivers/net/e1000/em_ethdev.c | 1 - > drivers/net/e1000/em_rxtx.c | 21 +- > drivers/net/e1000/igb_ethdev.c | 2 - > drivers/net/e1000/igb_rxtx.c | 21 +- > drivers/net/enic/enic_ethdev.c | 12 +- > drivers/net/fm10k/fm10k.h | 5 +- > drivers/net/fm10k/fm10k_ethdev.c | 1 - > drivers/net/fm10k/fm10k_rxtx.c | 29 +- > drivers/net/hns3/hns3_rxtx.c | 7 +- > drivers/net/hns3/hns3_rxtx.h | 2 +- > drivers/net/i40e/i40e_ethdev.c | 1 - > drivers/net/i40e/i40e_rxtx.c | 30 +- > drivers/net/i40e/i40e_rxtx.h | 4 +- > drivers/net/iavf/iavf_rxtx.c | 4 +- > drivers/net/iavf/iavf_rxtx.h | 2 +- > drivers/net/ice/ice_rxtx.c | 4 +- > drivers/net/ice/ice_rxtx.h | 2 +- > drivers/net/igc/igc_ethdev.c | 1 - > drivers/net/igc/igc_txrx.c | 23 +- > drivers/net/igc/igc_txrx.h | 5 +- > drivers/net/ixgbe/ixgbe_ethdev.c | 2 - > drivers/net/ixgbe/ixgbe_ethdev.h | 5 +- > drivers/net/ixgbe/ixgbe_rxtx.c | 22 +- > drivers/net/mlx5/mlx5_rx.c | 26 +- > drivers/net/mlx5/mlx5_rx.h | 2 +- > drivers/net/netvsc/hn_rxtx.c | 4 +- > drivers/net/netvsc/hn_var.h | 3 +- > drivers/net/nfp/nfp_rxtx.c | 4 +- > drivers/net/nfp/nfp_rxtx.h | 3 +- > drivers/net/octeontx2/otx2_ethdev.c | 1 - > drivers/net/octeontx2/otx2_ethdev.h | 3 +- > drivers/net/octeontx2/otx2_ethdev_ops.c | 20 +- > drivers/net/sfc/sfc_ethdev.c | 29 +- > drivers/net/thunderx/nicvf_ethdev.c | 3 +- > drivers/net/thunderx/nicvf_rxtx.c | 4 +- > drivers/net/thunderx/nicvf_rxtx.h | 2 +- > drivers/net/txgbe/txgbe_ethdev.h | 3 +- > drivers/net/txgbe/txgbe_rxtx.c | 4 +- > drivers/net/vhost/rte_eth_vhost.c | 4 +- > drivers/net/virtio/virtio_ethdev.c | 1 - > lib/ethdev/ethdev_driver.h | 148 +++++++++ > lib/ethdev/ethdev_private.c | 83 +++++ > lib/ethdev/ethdev_private.h | 7 + > lib/ethdev/rte_ethdev.c | 89 ++++-- > lib/ethdev/rte_ethdev.h | 288 ++++++++++++------ > lib/ethdev/rte_ethdev_core.h | 171 +++-------- > lib/ethdev/version.map | 8 +- > lib/eventdev/rte_event_eth_rx_adapter.c | 2 +- > lib/eventdev/rte_event_eth_tx_adapter.c | 2 +- > lib/eventdev/rte_eventdev.c | 2 +- > lib/metrics/rte_metrics_telemetry.c | 2 +- > 67 files changed, 677 insertions(+), 564 deletions(-) >=20 > -- > 2.26.3