All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Matan Azrad <matan@nvidia.com>,
	Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Cc: dev@dpdk.org, Xiaoyu Min <jackmin@mellanox.com>,
	orika@mellanox.com, suanmingm@nvidia.com, asafp@nvidia.com
Subject: Re: [dpdk-dev] [PATCH 1/5] net/mlx5: fix protocol size for raw encap judgement
Date: Sun, 22 Nov 2020 16:32:51 +0100	[thread overview]
Message-ID: <2669658.zoTC9YsCJE@thomas> (raw)
In-Reply-To: <493405ea9f0f86ef8e0cfa08cab0d5ae764ae8be.1605493464.git.jackmin@nvidia.com>

16/11/2020 08:55, Xiaoyu Min:
> From: Xiaoyu Min <jackmin@nvidia.com>
> 
> The rte_flow_item_eth and rte_flow_item_vlan items are refined.
> The structs do not exactly represent the packet bits captured on the
> wire anymore.
> Should use real header instead of the whole struct.
> 
> Replace the rte_flow_item_* with the existing corresponding rte_*_hdr.
> 
> Fixes: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN items")
> 
> Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
> ---
>  drivers/net/mlx5/mlx5_flow.c | 12 ++++++------
>  drivers/net/mlx5/mlx5_flow.h |  4 ++--
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 324349ed19..34b7a2f137 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -3655,8 +3655,8 @@ flow_check_hairpin_split(struct rte_eth_dev *dev,
>  		case RTE_FLOW_ACTION_TYPE_RAW_ENCAP:
>  			raw_encap = actions->conf;
>  			if (raw_encap->size >
> -			    (sizeof(struct rte_flow_item_eth) +
> -			     sizeof(struct rte_flow_item_ipv4)))
> +			    (sizeof(struct rte_ether_hdr) +
> +			     sizeof(struct rte_ipv4_hdr)))
>  				split++;
>  			action_n++;
>  			break;
> @@ -4092,8 +4092,8 @@ flow_hairpin_split(struct rte_eth_dev *dev,
>  		case RTE_FLOW_ACTION_TYPE_RAW_ENCAP:
>  			raw_encap = actions->conf;
>  			if (raw_encap->size >
> -			    (sizeof(struct rte_flow_item_eth) +
> -			     sizeof(struct rte_flow_item_ipv4))) {
> +			    (sizeof(struct rte_ether_hdr) +
> +			     sizeof(struct rte_ipv4_hdr))) {
>  				memcpy(actions_tx, actions,
>  				       sizeof(struct rte_flow_action));
>  				actions_tx++;
> @@ -4107,8 +4107,8 @@ flow_hairpin_split(struct rte_eth_dev *dev,
>  		case RTE_FLOW_ACTION_TYPE_RAW_DECAP:
>  			raw_decap = actions->conf;
>  			if (raw_decap->size <
> -			    (sizeof(struct rte_flow_item_eth) +
> -			     sizeof(struct rte_flow_item_ipv4))) {
> +			    (sizeof(struct rte_ether_hdr) +
> +			     sizeof(struct rte_ipv4_hdr))) {
>  				memcpy(actions_tx, actions,
>  				       sizeof(struct rte_flow_action));
>  				actions_tx++;
> diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
> index 5fac8672fc..3b28c48a1d 100644
> --- a/drivers/net/mlx5/mlx5_flow.h
> +++ b/drivers/net/mlx5/mlx5_flow.h
> @@ -345,8 +345,8 @@ enum mlx5_feature_name {
>  #define MLX5_GENEVE_OPT_LEN_0 14
>  #define MLX5_GENEVE_OPT_LEN_1 63
>  
> -#define MLX5_ENCAPSULATION_DECISION_SIZE (sizeof(struct rte_flow_item_eth) + \
> -					  sizeof(struct rte_flow_item_ipv4))
> +#define MLX5_ENCAPSULATION_DECISION_SIZE (sizeof(struct rte_ether_hdr) + \
> +					  sizeof(struct rte_ipv4_hdr))

This constant should be used above in hairpin functions.
Will change while merging.





  parent reply	other threads:[~2020-11-22 15:33 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-16  7:55 [dpdk-dev] [PATCH 0/5] fix protocol size calculation Xiaoyu Min
2020-11-16  7:55 ` [dpdk-dev] [PATCH 1/5] net/mlx5: fix protocol size for raw encap judgement Xiaoyu Min
2020-11-17 13:25   ` Matan Azrad
2020-11-22 14:21     ` Thomas Monjalon
2020-11-22 15:32   ` Thomas Monjalon [this message]
2020-11-22 16:04     ` Matan Azrad
2020-11-23  7:54       ` Ori Kam
2020-11-23  8:12         ` Thomas Monjalon
2020-11-16  7:55 ` [dpdk-dev] [PATCH 2/5] app/flow-perf: fix protocol size for raw encap Xiaoyu Min
2020-11-16  7:55 ` [dpdk-dev] [PATCH 3/5] net/bnxt: fix protocol size for VXLAN encap copy Xiaoyu Min
2020-11-16 16:12   ` Ferruh Yigit
2020-11-18  0:34     ` Ajit Khaparde
2020-11-18  6:37       ` Andrew Rybchenko
2020-11-18 17:44         ` Ajit Khaparde
2020-11-16  7:55 ` [dpdk-dev] [PATCH 4/5] net/iavf: fix protocol size for virtchnl copy Xiaoyu Min
2020-11-16 16:23   ` Ferruh Yigit
2020-11-22 13:28     ` Jack Min
2020-11-22 14:15       ` Thomas Monjalon
2020-11-23 10:02         ` Ferruh Yigit
2020-11-23 10:49   ` Ferruh Yigit
2020-11-24 21:58     ` Thomas Monjalon
2020-11-27  1:17   ` Xing, Beilei
2020-11-16  7:55 ` [dpdk-dev] [PATCH 5/5] net/softnic: update headers size calculation Xiaoyu Min
2020-11-16 16:27   ` Ferruh Yigit
2020-11-16 19:09     ` Dekel Peled
2020-11-17 10:30       ` Ferruh Yigit
2020-11-17 12:41         ` Dekel Peled
2020-11-17 15:43           ` Singh, Jasvinder
2020-11-18  2:23   ` Zhou, JunX W
2020-11-22 16:11 ` [dpdk-dev] [PATCH 0/5] fix protocol " 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=2669658.zoTC9YsCJE@thomas \
    --to=thomas@monjalon.net \
    --cc=asafp@nvidia.com \
    --cc=dev@dpdk.org \
    --cc=jackmin@mellanox.com \
    --cc=matan@nvidia.com \
    --cc=orika@mellanox.com \
    --cc=suanmingm@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 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.