From: Bing Zhao <bingz@nvidia.com>
To: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
Ori Kam <orika@nvidia.com>
Cc: "ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
Matan Azrad <matan@nvidia.com>,
Slava Ovsiienko <viacheslavo@nvidia.com>,
"dev@dpdk.org" <dev@dpdk.org>,
"ajit.khaparde@broadcom.com" <ajit.khaparde@broadcom.com>,
Gregory Etelson <getelson@nvidia.com>,
Andrey Vesnovaty <andreyv@nvidia.com>
Subject: Re: [dpdk-dev] [PATCH v4 1/1] ethdev: introduce indirect action APIs
Date: Mon, 19 Apr 2021 15:05:34 +0000 [thread overview]
Message-ID: <MN2PR12MB29090770840304DC335AA9CCD0499@MN2PR12MB2909.namprd12.prod.outlook.com> (raw)
In-Reply-To: <2169832.Y0NilaVnWT@thomas>
Hi Thomas,
All the comments were addressed in the v5.
Many thanks.
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday, April 19, 2021 8:26 PM
> To: Ori Kam <orika@nvidia.com>; Bing Zhao <bingz@nvidia.com>
> Cc: ferruh.yigit@intel.com; andrew.rybchenko@oktetlabs.ru; Matan
> Azrad <matan@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>;
> dev@dpdk.org; ajit.khaparde@broadcom.com; Gregory Etelson
> <getelson@nvidia.com>; Andrey Vesnovaty <andreyv@nvidia.com>
> Subject: Re: [dpdk-dev] [PATCH v4 1/1] ethdev: introduce indirect
> action APIs
>
> External email: Use caution opening links or attachments
>
>
> 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.
>
BR. Bing
next prev parent reply other threads:[~2021-04-19 15:05 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1615967952-228321-1-git-send-email-bingz@nvidia.com>
2021-03-17 8:28 ` [dpdk-dev] [RFC] ethdev: introduce action context APIs Thomas Monjalon
2021-03-17 16:10 ` Bing Zhao
2021-03-22 14:59 ` Andrew Rybchenko
2021-04-06 9:05 ` Bing Zhao
2021-03-22 14:54 ` Andrew Rybchenko
2021-04-06 9:07 ` Bing Zhao
2021-04-06 9:48 ` Thomas Monjalon
2021-04-06 11:02 ` Bing Zhao
2021-04-06 12:18 ` Thomas Monjalon
2021-04-07 3:16 ` Ajit Khaparde
2021-04-07 6:11 ` Bing Zhao
2021-04-08 14:46 ` [dpdk-dev] [RFC PATCH v2] ethdev: introduce indirect action APIs Bing Zhao
2021-04-09 3:54 ` [dpdk-dev] [PATCH] " Bing Zhao
2021-04-10 14:03 ` [dpdk-dev] [PATCH v2 0/4] Change shared action API to action handle API Bing Zhao
2021-04-10 14:03 ` [dpdk-dev] [PATCH v2 1/4] ethdev: introduce indirect action APIs Bing Zhao
2021-04-12 19:42 ` Ferruh Yigit
2021-04-13 1:26 ` Bing Zhao
2021-04-13 14:00 ` Ori Kam
2021-04-13 12:36 ` Andrey Vesnovaty
2021-04-15 13:55 ` Andrew Rybchenko
2021-04-15 14:10 ` Thomas Monjalon
2021-04-15 16:02 ` Andrew Rybchenko
2021-04-10 14:03 ` [dpdk-dev] [PATCH v2 2/4] app/test-pmd: change to indirect action command Bing Zhao
2021-04-10 14:03 ` [dpdk-dev] [PATCH v2 3/4] doc: update user guide for indirect action Bing Zhao
2021-04-10 14:03 ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: adaption to indirect action API Bing Zhao
2021-04-12 19:40 ` [dpdk-dev] [PATCH v2 0/4] Change shared action API to action handle API Ferruh Yigit
2021-04-13 1:22 ` Bing Zhao
2021-04-13 7:23 ` Thomas Monjalon
2021-04-13 7:24 ` Bing Zhao
2021-04-15 15:51 ` [dpdk-dev] [PATCH v3 0/1] " Bing Zhao
2021-04-15 15:51 ` [dpdk-dev] [PATCH v3 1/1] ethdev: introduce indirect action APIs Bing Zhao
2021-04-15 15:56 ` Ori Kam
2021-04-15 17:59 ` Ajit Khaparde
2021-04-16 6:58 ` Bing Zhao
2021-04-16 7:03 ` Thomas Monjalon
2021-04-16 15:00 ` Ajit Khaparde
2021-04-16 17:33 ` [dpdk-dev] [PATCH v4 0/1] Change shared action API to action handle API Bing Zhao
2021-04-16 17:33 ` [dpdk-dev] [PATCH v4 1/1] ethdev: introduce indirect action APIs Bing Zhao
2021-04-19 12:26 ` Thomas Monjalon
2021-04-19 15:05 ` Bing Zhao [this message]
2021-04-19 14:28 ` [dpdk-dev] [PATCH v5] Change shared action API to action handle API Bing Zhao
2021-04-19 14:28 ` [dpdk-dev] [PATCH v5] ethdev: introduce indirect action APIs Bing Zhao
2021-04-19 14:38 ` [dpdk-dev] [PATCH v5 0/1] Change shared action API to action handle API Bing Zhao
2021-04-19 14:38 ` [dpdk-dev] [PATCH v5 1/1] ethdev: introduce indirect action APIs Bing Zhao
2021-04-19 14:50 ` Thomas Monjalon
2021-04-19 15:09 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=MN2PR12MB29090770840304DC335AA9CCD0499@MN2PR12MB2909.namprd12.prod.outlook.com \
--to=bingz@nvidia.com \
--cc=ajit.khaparde@broadcom.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=andreyv@nvidia.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=getelson@nvidia.com \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=thomas@monjalon.net \
--cc=viacheslavo@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).