All of lore.kernel.org
 help / color / mirror / Atom feed
From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: Alexander Kozyrev <akozyrev@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: Raslan Darawsheh <rasland@nvidia.com>, Matan Azrad <matan@nvidia.com>
Subject: Re: [dpdk-dev] [PATCH] net/mlx5: do not allow copy to mark via modify field
Date: Wed, 14 Jul 2021 06:30:23 +0000	[thread overview]
Message-ID: <DM6PR12MB3753A146AEFB979205D38178DF139@DM6PR12MB3753.namprd12.prod.outlook.com> (raw)
In-Reply-To: <20210616183444.2815030-1-akozyrev@nvidia.com>

Hi, Alexander

> -----Original Message-----
> From: Alexander Kozyrev <akozyrev@nvidia.com>
> Sent: Wednesday, June 16, 2021 21:35
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasland@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>
> Subject: [PATCH] net/mlx5: do not allow copy to mark via modify field
> 
> Mark requires a tag resource to be registered as part of the value assigning. It
> is not possible during a copy operation from a packet field. Forbid this in
> MODIFY_FIELD.

Sorry, commit message seems not to be clear even for one who is in context.
"tag resource" - is this hardware resource?
"not possible" - due to hardware limitation?

And I would add few words about the final table "match-set flow tag resource" -
not too many details, just explain - if we copy packet field to MARK substitution register -
we can't handle actual value copying in the "match-set" table.

With best regards,
Slava

> 
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> ---
>  drivers/net/mlx5/mlx5_flow_dv.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> b/drivers/net/mlx5/mlx5_flow_dv.c index dafd37ab93..26b901e32e 100644
> --- a/drivers/net/mlx5/mlx5_flow_dv.c
> +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> @@ -4797,10 +4797,11 @@ flow_dv_validate_action_modify_field(struct
> rte_eth_dev *dev,
>  				"source and destination fields"
>  				" cannot be the same");
>  	if (action_modify_field->dst.field == RTE_FLOW_FIELD_VALUE ||
> -	    action_modify_field->dst.field == RTE_FLOW_FIELD_POINTER)
> +	    action_modify_field->dst.field == RTE_FLOW_FIELD_POINTER ||
> +	    action_modify_field->dst.field == RTE_FLOW_FIELD_MARK)
>  		return rte_flow_error_set(error, EINVAL,
>  				RTE_FLOW_ERROR_TYPE_ACTION, action,
> -				"immediate value or a pointer to it"
> +				"mark, immediate value or a pointer to it"
>  				" cannot be used as a destination");
>  	if (action_modify_field->dst.field == RTE_FLOW_FIELD_START ||
>  	    action_modify_field->src.field == RTE_FLOW_FIELD_START)
> --
> 2.18.2


  reply	other threads:[~2021-07-14  6:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16 18:34 Alexander Kozyrev
2021-07-14  6:30 ` Slava Ovsiienko [this message]
2021-07-16  8:43 ` [dpdk-dev] [PATCH v2] " Alexander Kozyrev
2021-07-16 10:47   ` Slava Ovsiienko
2021-07-22 14:28     ` 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=DM6PR12MB3753A146AEFB979205D38178DF139@DM6PR12MB3753.namprd12.prod.outlook.com \
    --to=viacheslavo@nvidia.com \
    --cc=akozyrev@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=matan@nvidia.com \
    --cc=rasland@nvidia.com \
    --subject='Re: [dpdk-dev] [PATCH] net/mlx5: do not allow copy to mark via modify field' \
    /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

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.