DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: orika@nvidia.com, Bing Zhao <bingz@nvidia.com>
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
Subject: Re: [dpdk-dev] [PATCH v4 1/1] ethdev: introduce indirect action APIs
Date: Mon, 19 Apr 2021 14:26:02 +0200	[thread overview]
Message-ID: <2169832.Y0NilaVnWT@thomas> (raw)
In-Reply-To: <1618594406-155741-2-git-send-email-bingz@nvidia.com>

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.



  reply	other threads:[~2021-04-19 12:26 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 [this message]
2021-04-19 15:05         ` Bing Zhao
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=2169832.Y0NilaVnWT@thomas \
    --to=thomas@monjalon.net \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=andreyv@nvidia.com \
    --cc=bingz@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=getelson@nvidia.com \
    --cc=matan@nvidia.com \
    --cc=orika@nvidia.com \
    --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).