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 5A20E4240F; Wed, 18 Jan 2023 17:21:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 386A240223; Wed, 18 Jan 2023 17:21:54 +0100 (CET) Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) by mails.dpdk.org (Postfix) with ESMTP id 99C71400D6 for ; Wed, 18 Jan 2023 17:21:52 +0100 (CET) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 28C193200900; Wed, 18 Jan 2023 11:21:51 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Wed, 18 Jan 2023 11:21:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1674058910; x= 1674145310; bh=ih5X9mApg/OUp2DkqzPT1Ah0qTngWDMNDMvv9a/GVxQ=; b=X rPPIKRPnDjCpqUk1JmEnwMdnLkNmkyQbTgNTq/xdSQlFDepGfbVUEyfQ1lrARDTH HsVROJ25omA/8lQgsBl1b/2PTVJZjm2LbPGhpXpbKgOpxv6jeQiKLy7JXXXmrKkB lO5rrvnZOULjah4fVCClBBvh5uUOir7SdT01xd/Jnj1YT4Im6AYu8gztgbV7mh7+ gyDel7k/xk6fTTFHh0fAu/QUeub/QQFgopsMAk9z8UETVHA55Jfu0xoj5Gx+tfC7 iBLijt9ZXVFu5IFiauFNWp2WOc/LsmRhva6HGxr6/8Uh2Kfvx+YjXy3e0kyTH/vk 8ti/IEcD/jjtroa+7IKUg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1674058910; x= 1674145310; bh=ih5X9mApg/OUp2DkqzPT1Ah0qTngWDMNDMvv9a/GVxQ=; b=Y ZtSvrPP5l875vacHD2Bg3JgWpuDlrmU/c7o4BROKlpCy8dH0FCxECl/swCJ93WPT fdYEcJIyZ61MQ1G3kUwmGopIl/caBZZN9VCp0z/ovk3MJM5IRlBMdQT3/wKqQXB7 hIuldIDDnwik29hdojU5MpfhPorhul0bwiXr8X6rYsP6sQUoit4zgF/c+QWCRDaV pwxm9KA343kvJezR8YAKgpckNxPdUCDR+B/UM08wqxie1U1Q++0AWzSlcv0ElFYE iWTY8z0tdx/fvPIj6Ze+7mIHYBTOEEXjfZVMrE73OxQTR3m9jFrnA7ItIx0kR1xm l8Ha3WFlXTWMtBbWLP2FQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddtkedgkeejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvvefufffkjghfggfgtgesthhqredttddtjeenucfhrhhomhepvfhhohhm rghsucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenuc ggtffrrghtthgvrhhnpeegtddtleejjeegffekkeektdejvedtheevtdekiedvueeuvdei uddvleevjeeujeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 18 Jan 2023 11:21:49 -0500 (EST) From: Thomas Monjalon To: Slava Ovsiienko , Ori Kam Cc: "dev@dpdk.org" , Matan Azrad , Raslan Darawsheh , "andrew.rybchenko@oktetlabs.ru" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@amd.com" Subject: Re: [RFC] ethdev: sharing indirect actions between ports Date: Wed, 18 Jan 2023 17:21:48 +0100 Message-ID: <5033552.JsnAkG3lO3@thomas> In-Reply-To: References: <20221228165433.18185-1-viacheslavo@nvidia.com> <12784039.iMDcRRXYNz@thomas> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" 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 18/01/2023 16:17, Ori Kam: > From: Thomas Monjalon > > 28/12/2022 17:54, Viacheslav Ovsiienko: > > > The RTE Flow API implements the concept of shared objects, > > > known as indirect actions (RTE_FLOW_ACTION_TYPE_INDIRECT). > > > An application can create the indirect action of desired > > > type and configuration with rte_flow_action_handle_create > > > call and then specify the obtained action handle in multiple > > > flows. > > > > > > The initial concept supposes the action handle has strict > > > attachment to the port it was created on and to be used > > > exclusively in the flows being installed on the port. > > > > > > Nowadays the multipath network topologies are quite common, > > > packets belonging to the same connection might arrive and > > > be sent over multiple ports, and there is the raising demand > > > to handle these "spread" connections. To fulfil this demand > > > it is proposed to extend indirect action sharing across the > > > multiple ports. This kind of sharing would be extremely useful > > > for the meters and counters, allowing to manage the single > > > connection over the multiple ports. > > > > > > This cross-port object sharing is hard to implement in > > > generic way merely with software on the upper layers, but > > > can be provided by the driver over the single hardware > > > instance, where multiple ports reside on the same physical > > > NIC and share the same hardware context. > > > > > > To allow this action sharing application should specify > > > the "host port" during flow configuring to claim the intention > > > to share the indirect actions. All indirect actions reside within > > > "host port" context and can be shared in flows being installed > >=20 > > I don't like the word "host" because it may refer to the host CPU. > > Also if I understand well, the application must choose one port > > between all ports of the NIC and keep using the same. > > I guess we don't want to create a NIC id. > > So I would suggest to rename to nic_ref_port or something like that. > >=20 >=20 > I think that host is the correct word since this port hosts all resources= for other > ports. (this is also why the host is used in case of CPU =F0=9F=98=8A) > I don't think it is correct to use bad wording due to the fact that some = one else > also uses this word. > in rte_flow we never talk about host CPU so I don't think this is confusi= ng. The confusion is that we can think of a port on the host.