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 8C347A0524; Mon, 19 Apr 2021 14:26:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5952541283; Mon, 19 Apr 2021 14:26:07 +0200 (CEST) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by mails.dpdk.org (Postfix) with ESMTP id 51C214123B for ; Mon, 19 Apr 2021 14:26:06 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id AA1D15C0107; Mon, 19 Apr 2021 08:26:05 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 19 Apr 2021 08:26:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=fm1; bh= fcdm8XPjdCsdf0AlRX1amPHK56Wgma/GLcDnIbigK5E=; b=xHG4UxUOseVrRKvs 9RJA8rrqrbcJ9ifB1rbkt0rpHsAOfe+tX8OSffdHBy+PvNO/feFLidaTY/eEHFvo 0m5DtuWNFnFHCSrHTrFGh3IyCgem1GQKJ8hwYnVopwud86+aZ1RittszPzNhvLBH iZOiIPcfcV11rc29SFdazqfDNC+cIrKKZwWbjgouA+c6LMoKXOUNMZRPF8PZEPPu ISJK7+EkEBdgZ2vYgsu22UvTrQj2/iu0RFMwG1FO+Re0WzgphlJqpR+5BD5PvVHA 2fCXc6+lb2DE3YlKbumCeCrkgzGU/GegrpIVT2xp2SG3LUc5NO4k23tZopl1AKc4 iE6Sbg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=fcdm8XPjdCsdf0AlRX1amPHK56Wgma/GLcDnIbigK 5E=; b=M5WErw1xM5jyGl57HdnLtUY9aAHh1begs442F24QBTFUwkzpZfRy2kxgU mtO8HvGVkPBUGS/Y8e4sxKwPmnSdUUU8Vb85x5j9r0/0bMJ2ycwKDF+ptF96SGZ6 1vr7Jv79KrCtV2ZdutrjbYGs7OYRnuXJWKig1vqfhuDJJebFYDTwFrfNkOTDCBie 6lw/yLsyYe8gKuF+Mh0U1pa3Ax34dD9OD2WJPzTXQshtyzM79zrnZ/Sn2D5YUi1g bL/WjVAJylfdzYp8yAuUDOambRweS48BZRLvSMdTfMF/V6fG5j+i0S6P7woZU6ZK cOuNrjQdDkkz/xwWqQr8NlzvqdPyg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrvddtgedgheefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnhepudeggfdvfeduffdtfeeglefghfeukefgfffhueejtdetuedtjeeu ieeivdffgeehnecukfhppeejjedrudefgedrvddtfedrudekgeenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghl ohhnrdhnvght X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id E7E891080063; Mon, 19 Apr 2021 08:26:03 -0400 (EDT) From: Thomas Monjalon To: orika@nvidia.com, Bing Zhao Cc: ferruh.yigit@intel.com, andrew.rybchenko@oktetlabs.ru, matan@nvidia.com, viacheslavo@nvidia.com, dev@dpdk.org, ajit.khaparde@broadcom.com, getelson@nvidia.com, andreyv@nvidia.com Date: Mon, 19 Apr 2021 14:26:02 +0200 Message-ID: <2169832.Y0NilaVnWT@thomas> In-Reply-To: <1618594406-155741-2-git-send-email-bingz@nvidia.com> References: <1617940481-125528-1-git-send-email-bingz@nvidia.com> <1618594406-155741-1-git-send-email-bingz@nvidia.com> <1618594406-155741-2-git-send-email-bingz@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v4 1/1] ethdev: introduce indirect action APIs 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" 16/04/2021 19:33, Bing Zhao: > --- a/doc/guides/rel_notes/release_21_05.rst > +++ b/doc/guides/rel_notes/release_21_05.rst > @@ -234,6 +234,9 @@ API Changes > * pci: The value ``PCI_ANY_ID`` is marked as deprecated > and can be replaced with ``RTE_PCI_ANY_ID``. > > +* ethdev: The experimental shared action APIs in ``rte_flow.h`` has been s/APIs/API/ An API may cover more than a function, it is an interface globally. > + replaced from ``rte_flow_shared_action_*`` to indirect action APIs named s/APIs/API/ > + ``rte_flow_action_handle_*``. A blank line is missing here. I propose a reword: * ethdev: The experimental flow API for shared action has been generalized as a flow action handle used in rules through an indirect action. The functions ``rte_flow_shared_action_*`` manipulating the action object are replaced with ``rte_flow_action_handle_*``. The action ``RTE_FLOW_ACTION_TYPE_SHARED`` is deprecated and can be replaced with ``RTE_FLOW_ACTION_TYPE_INDIRECT``. > --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > +Creating indirect actions > +~~~~~~~~~~~~~~~~~~~~~~~~~ empty line missing after title > +``flow indirect_action {port_id} create`` creates indirect action with optional > +indirect action ID. It is bound to ``rte_flow_action_handle_create()``:: [...] > +Updating indirect actions > +~~~~~~~~~~~~~~~~~~~~~~~~~ empty line > +``flow indirect_action {port_id} update`` updates configuration of the indirect > +action from its indirect action ID (as returned by > +``flow indirect_action {port_id} create``). It is bound to > +``rte_flow_action_handle_update()``:: [...] > +Destroying indirect actions > +~~~~~~~~~~~~~~~~~~~~~~~~~~~ same here and other places > +``flow indirect_action {port_id} destroy`` destroys one or more indirect actions > +from their indirect action IDs (as returned by > +``flow indirect_action {port_id} create``). It is bound to > +``rte_flow_action_handle_destroy()``:: [...] > --- a/lib/librte_ethdev/rte_flow.h > +++ b/lib/librte_ethdev/rte_flow.h We should add a comment to RTE_FLOW_ACTION_TYPE_SHARED, that it is deprecated. > + /** > + * Describe indirect action that could be used by a single flow rule > + * or multiple flow rules. > + * > + * Allow flow rule(s) reference the same action by the indirect action > + * handle (see struct rte_flow_action_handle), rules could be on the > + * same port or across different ports. > + */ Proposed reword: An action handle is referenced in a rule through an indirect action. The same action handle may be used in multiple rules for the same or different ethdev ports. @see rte_flow_action_handle > + RTE_FLOW_ACTION_TYPE_INDIRECT, > }; [...] > - * Opaque type returned after successfully creating a shared action. > + * Opaque type returned after successfully creating an indirect action object. > + * The definition of the object handle will be different per driver or s/will be/is/ > + * per immediate action type. > * > - * This handle can be used to manage and query the related action: > - * - share it across multiple flow rules > - * - update action configuration > - * - query action data > - * - destroy action > + * This handle can be used to manage and query the related immediate action: > + * - referenced in single flow rule or across multiple flow rules > + * over multiple ports > + * - update action object configuration > + * - query action object data > + * - destroy action object > */ > -struct rte_flow_shared_action; > +struct rte_flow_action_handle; [...] > + * Create an indirect action object that can be used by flow create, and > + * could also be shared by different flows. Can be simpler: Create an indirect action object that can be used in flow rules via its handle.