All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Cc: dev@dpdk.org, ferruh.yigit@intel.com,
	andrew.rybchenko@oktetlabs.ru, ajit.khaparde@broadcom.com,
	jerinj@marvell.com, hemant.agrawal@nxp.com
Subject: Re: [PATCH v2] ethdev: deprecate header fields and metadata flow actions
Date: Wed, 24 Nov 2021 15:56:27 +0100	[thread overview]
Message-ID: <4654746.vG6ePZFYC7@thomas> (raw)
In-Reply-To: <20211124080610.2430-1-viacheslavo@nvidia.com>

+Cc some maintainers

24/11/2021 09:06, Viacheslav Ovsiienko:
> There generic RTE_FLOW_ACTION_TYPE_MODIFY_FIELD action was

s/There/The/

> introduced by [1]. This action provides the unified way

s/the/an/

> to perform various arithmetic and transfer operations over
> packet network header fields and packet metadata.
> 
> [1] commit 641dbe4fb053 ("net/mlx5: support modify field flow action")
> 
> On other side there are a bunch of multiple legacy actions,
> that can be superseded by the generic modify field action:
> 
> RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL    bnxt*
> RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL    bnxt*
> RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL      bnxt*
> RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL      bnxt*, sfc
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT    bnxt*
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN     bnxt*
> RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC       bnxt,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DST       bnxt,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC       bnxt*, cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DST       bnxt*, cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_TP_SRC         bnxt,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_TP_DST         bnxt,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_DEC_TTL            bnxt,  mlx5, sfc
> RTE_FLOW_ACTION_TYPE_SET_TTL            bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_SET_MAC_SRC        bnxt*,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_SET_MAC_DST        bnxt*,  cxgbe, mlx5
> RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ        bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ        bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_INC_TCP_ACK        bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK        bnxt*, mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP      mlx5
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP      mlx5
> RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID    bnxt, cnxk, cxgbe, enic,
>                                         mlx5, octeontx2, sfc
> RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP    bnxt, cnxk, cxgbe, enic,
>                                         mlx5, octeontx2, sfc
> RTE_FLOW_ACTION_TYPE_SET_TAG            mlx5
> RTE_FLOW_ACTION_TYPE_SET_META           mlx5
> 
> [bnxt*] means the PMD source code references the action, but there
>         is no support implemented (actions rejected with ENOTSUP error)

You can drop these "bnxt*", it is not relevant.

> This note deprecates the following RTE Flow actions:
> 1. As not supported by any of PMDs:
> 
> RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL
> RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL
> RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT
> RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN
> 
> 2. As supposed to be replaced by generig field modify action:
> RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL
> RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DST
> RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DST
> RTE_FLOW_ACTION_TYPE_SET_TP_SRC
> RTE_FLOW_ACTION_TYPE_SET_TP_DST
> RTE_FLOW_ACTION_TYPE_DEC_TTL
> RTE_FLOW_ACTION_TYPE_SET_TTL
> RTE_FLOW_ACTION_TYPE_SET_MAC_SRC
> RTE_FLOW_ACTION_TYPE_SET_MAC_DST
> RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ
> RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ
> RTE_FLOW_ACTION_TYPE_INC_TCP_ACK
> RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK
> RTE_FLOW_ACTION_TYPE_SET_IPV4_DSCP
> RTE_FLOW_ACTION_TYPE_SET_IPV6_DSCP
> RTE_FLOW_ACTION_TYPE_SET_TAG
> RTE_FLOW_ACTION_TYPE_SET_META
> 
> The VLAN set actions are interrelated to VLAN header insertion/removal

What means "interrelated" here?

> and supported by multiple PMDs and supposed not to be deprecated.

I think it should be deprecated but not removed,
so users can be aware of the possible (better) replacement.

> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
[...]
>  Action: ``OF_SET_MPLS_TTL``
>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> +This action is deprecated as there are no PMDs supporting this.

The true reason is that it is replaced.
I think you should mention the replacement for each action.

[...]
>  Action: ``OF_DEC_NW_TTL``
>  ^^^^^^^^^^^^^^^^^^^^^^^^^
> +This action is deprecated. Consider:
> + - `Action: MODIFY_FIELD`_

The syntax is surprising. Please make it a single line:
	This action is deprecated. Consider `Action: MODIFY_FIELD`_.

[...]
> +* ethdev: Actions ``OF_SET_MPLS_TTL``, ``OF_DEC_MPLS_TTL``, ``OF_SET_NW_TTL``,
> +  ``OF_COPY_TTL_OUT``, ``OF_COPY_TTL_IN`` are deprecated as not supported by
> +  PMDs, will be removed in DPDK 22.11.

+1

> +* ethdev: Actions ``OF_DEC_NW_TTL``, ``SET_IPV4_SRC``, ``SET_IPV4_DST``,
> +  ``SET_IPV6_SRC``, ``SET_IPV6_DST``, ``SET_TP_SRC``, ``SET_TP_DST``,
> +  ``DEC_TTL``, ``SET_TTL``, ``SET_MAC_SRC``, ``SET_MAC_DST``, ``INC_TCP_SEQ``,
> +  ``DEC_TCP_SEQ``, ``INC_TCP_ACK``, ``DEC_TCP_ACK``, ``SET_IPV4_DSCP``,
> +  ``SET_IPV6_DSCP``, ``SET_TAG``, ``SET_META`` are deprecated as superseded
> +  by generic MODIFY_FIELD action, will be removed in DPDK 22.11.

+1

[...]
>  	/**
> +	 * @deprecated
> +	 * @see RTE_FLOW_ACTION_TYPE_MODIFY_FIELD
> +	 *
>  	 * Implements OFPAT_SET_MPLS_TTL ("MPLS TTL") as defined by the
>  	 * OpenFlow Switch Specification.
>  	 *

+1 for this comment on each action.

I have minor comments, but overrall,
Acked-by: Thomas Monjalon <thomas@monjalon.net>



  reply	other threads:[~2021-11-24 14:56 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-23  7:59 [PATCH] ethdev: deprecate header fields and metadata flow actions Viacheslav Ovsiienko
2021-11-24  8:06 ` [PATCH v2] " Viacheslav Ovsiienko
2021-11-24 14:56   ` Thomas Monjalon [this message]
2021-11-24 15:37 ` [PATCH v3] " Viacheslav Ovsiienko
2021-11-24 15:59   ` Thomas Monjalon
2021-11-24 16:21   ` Ori Kam
2021-11-24 16:37     ` Slava Ovsiienko
2021-11-24 17:32       ` Thomas Monjalon
2021-11-24 18:09         ` Ori Kam
2021-11-25 11:53   ` Ferruh Yigit
2021-11-25 12:03     ` Somnath Kotur
2021-11-25 13:06     ` Thomas Monjalon
2021-11-25 14:13       ` Slava Ovsiienko
2021-11-25 14:40         ` Ferruh Yigit
2021-11-25 14:52           ` Slava Ovsiienko
2021-11-25 14:15       ` Ferruh Yigit
2021-11-25 13:56     ` Slava Ovsiienko
2021-11-25 15:14       ` Ferruh Yigit
2021-11-25 15:53         ` Thomas Monjalon
2021-11-25 12:18   ` Ferruh Yigit
2021-11-25 12:29     ` Ori Kam
2021-11-25 12:46       ` Ferruh Yigit
2021-11-25 13:56         ` Ori Kam
2021-11-25 14:28           ` Ferruh Yigit
2021-11-25 12:31   ` Ferruh Yigit
2021-11-25 12:50     ` Thomas Monjalon
2021-11-26  9:51 ` [PATCH v4] " Viacheslav Ovsiienko
2021-11-26 12:53   ` Ferruh Yigit
2021-11-26 13:06     ` Thomas Monjalon
2021-11-26 14:52       ` Olivier Matz
2021-11-26 17:07         ` Thomas Monjalon

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=4654746.vG6ePZFYC7@thomas \
    --to=thomas@monjalon.net \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jerinj@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.