All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ori Kam <orika@nvidia.com>
To: Matan Azrad <matan@nvidia.com>,
	NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	Slava Ovsiienko <viacheslavo@nvidia.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, Jack Min <jackmin@mellanox.com>,
	Ori Kam <orika@mellanox.com>, Suanming Mou <suanmingm@nvidia.com>,
	Asaf Penso <asafp@nvidia.com>
Subject: Re: [dpdk-dev] [PATCH 1/5] net/mlx5: fix protocol size for raw encap judgement
Date: Mon, 23 Nov 2020 07:54:27 +0000	[thread overview]
Message-ID: <DM6PR12MB4987956055655459B21809CAD6FC0@DM6PR12MB4987.namprd12.prod.outlook.com> (raw)
In-Reply-To: <MW2PR12MB2492C479B0E0D9B47FF86A2FDFFD0@MW2PR12MB2492.namprd12.prod.outlook.com>



> -----Original Message-----
> From: Matan Azrad <matan@nvidia.com>
> Sent: Sunday, November 22, 2020 6:05 PM
> Subject: RE: [dpdk-dev] [PATCH 1/5] net/mlx5: fix protocol size for raw encap
> judgement
> 
> 
> 
> From: Thomas Monjalon
> 
> > 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.
> 
> +1
> 

Why above the hairpin functions? This is correct for all encap decisions.

Best,
Ori


  reply	other threads:[~2020-11-23  7:54 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
2020-11-22 16:04     ` Matan Azrad
2020-11-23  7:54       ` Ori Kam [this message]
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=DM6PR12MB4987956055655459B21809CAD6FC0@DM6PR12MB4987.namprd12.prod.outlook.com \
    --to=orika@nvidia.com \
    --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=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 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.