DPDK patches and discussions
 help / color / mirror / Atom feed
From: Adrien Mazarguil <adrien.mazarguil@6wind.com>
To: "Xueming(Steven) Li" <xuemingl@mellanox.com>
Cc: "Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>,
	"Shahaf Shuler" <shahafs@mellanox.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Olivier Matz" <olivier.matz@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v3 04/14] net/mlx5: support Rx tunnel type identification
Date: Mon, 16 Apr 2018 11:28:25 +0200	[thread overview]
Message-ID: <20180416092825.GW4957@6wind.com> (raw)
In-Reply-To: <VI1PR05MB167874973C0A2BC3F0BF395CACB00@VI1PR05MB1678.eurprd05.prod.outlook.com>

On Mon, Apr 16, 2018 at 08:05:13AM +0000, Xueming(Steven) Li wrote:
> 
> 
> > -----Original Message-----
> > From: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>
> > Sent: Monday, April 16, 2018 3:29 PM
> > To: Xueming(Steven) Li <xuemingl@mellanox.com>
> > Cc: Shahaf Shuler <shahafs@mellanox.com>; dev@dpdk.org; Olivier Matz
> > <olivier.matz@6wind.com>; Adrien Mazarguil <adrien.mazarguil@6wind.com>
> > Subject: Re: [PATCH v3 04/14] net/mlx5: support Rx tunnel type
> > identification
> > 
> > On Sat, Apr 14, 2018 at 12:57:58PM +0000, Xueming(Steven) Li wrote:
> > > +Adrien
> > >
> > > > -----Original Message-----
> > > > From: Nélio Laranjeiro <nelio.laranjeiro@6wind.com>
> > > > Sent: Friday, April 13, 2018 9:03 PM
> > > > To: Xueming(Steven) Li <xuemingl@mellanox.com>
> > > > Cc: Shahaf Shuler <shahafs@mellanox.com>; dev@dpdk.org; Olivier Matz
> > > > <olivier.matz@6wind.com>
> > > > Subject: Re: [PATCH v3 04/14] net/mlx5: support Rx tunnel type
> > > > identification
> > > >
> > > > +Olivier,
> > > >
> > > > On Fri, Apr 13, 2018 at 07:20:13PM +0800, Xueming Li wrote:
> > > > > This patch introduced tunnel type identification based on flow rules.
> > > > > If flows of multiple tunnel types built on same queue,
> > > > > RTE_PTYPE_TUNNEL_MASK will be returned, user application could use
> > > > > bits in flow mark as tunnel type identifier.
> > > >
> > > > For an application it will mean the packet embed all tunnel types
> > > > defined in DPDK, to make such thing you need a
> > > > RTE_PTYPE_TUNNEL_UNKNOWN which does not exists currently.
> > >
> > > There was a RTE_PTYPE_TUNNEL_UNKNOWN definition, but removed due to
> > discussion.
> > > So I think it good to add it in the patchset of reviewed by Adrien.
> > 
> > Agreed,
> > 
> > >
> > > > Even with it, the application still needs to parse the packet to
> > > > discover which tunnel the packet embed, is there any benefit having
> > > > such bit?  Not so sure.
> > >
> > > With a tunnel flag, checksum status represent inner checksum.
> > 
> > Not sure this is generic enough, MLX5 behaves as this, but how behaves
> > other NICs?  It should have specific bits for inner checksum if all NIC
> > don't have the same behavior.
> 
> From my understanding, if outer checksum invalid, the packet can't be received 
> as a tunneled packet, but a normal packet, thus checksum flags always result 
> of inner for a valid tunneled packet.

Yes, since checksum validation information covers all layers at once
(outermost to the innermost recognized), the presence of an "unknown tunnel"
bit implicitly means outer headers are OK.

Now regarding the addition of RTE_PTYPE_TUNNEL_UNKNOWN, the main issue I see
is that it's implicit, as in getting 0 after and'ing packet types with
RTE_PTYPE_TUNNEL_MASK means either not present or unknown type.

How about not setting any tunnel bit and let applications rely on the
presence of RTE_PTYPE_INNER_* to determine that there is a tunnel of unknown
type? The rationale being that a tunneled packet without an inner payload is
kind of pointless anyway.

> > > Setting flow mark for different flow type could save time of parsing
> > tunnel.
> > 
> > Thanks,
> > 
> > --
> > Nélio Laranjeiro
> > 6WIND

-- 
Adrien Mazarguil
6WIND

  reply	other threads:[~2018-04-16  9:28 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20180410133415.189905-1-xuemingl%40mellanox.com>
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 00/14] mlx5 Rx tunnel offloading Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 00/11] " Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 " Xueming Li
2018-04-23 12:32       ` [dpdk-dev] [PATCH v6 " Xueming Li
2018-04-24  8:24         ` Nélio Laranjeiro
2018-04-24  8:25           ` Xueming(Steven) Li
2018-04-26  6:23           ` Shahaf Shuler
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 01/11] net/mlx5: support 16 hardware priorities Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 02/11] net/mlx5: support GRE tunnel flow Xueming Li
2018-04-23 12:55         ` Nélio Laranjeiro
2018-04-23 13:32           ` Xueming(Steven) Li
2018-04-23 13:46             ` Nélio Laranjeiro
2018-04-24  7:40               ` Xueming(Steven) Li
2018-04-24  8:21                 ` Nélio Laranjeiro
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 03/11] net/mlx5: support L3 VXLAN flow Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 04/11] net/mlx5: support Rx tunnel type identification Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 05/11] net/mlx5: cleanup tunnel checksum offloads Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 06/11] net/mlx5: split flow RSS handling logic Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 07/11] net/mlx5: support tunnel RSS level Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 08/11] net/mlx5: add hardware flow debug dump Xueming Li
2018-04-26 10:09         ` Ferruh Yigit
2018-04-26 10:48           ` Shahaf Shuler
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 09/11] net/mlx5: introduce VXLAN-GPE tunnel type Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 10/11] net/mlx5: allow flow tunnel ID 0 with outer pattern Xueming Li
2018-04-23 12:33       ` [dpdk-dev] [PATCH v6 11/11] doc: update mlx5 guide on tunnel offloading Xueming Li
2018-04-26 11:00         ` Ferruh Yigit
2018-04-26 14:03           ` Xueming(Steven) Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 01/11] net/mlx5: support 16 hardware priorities Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 02/11] net/mlx5: support GRE tunnel flow Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 03/11] net/mlx5: support L3 VXLAN flow Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 04/11] net/mlx5: support Rx tunnel type identification Xueming Li
2018-04-23  7:40       ` Nélio Laranjeiro
2018-04-23  7:56         ` Xueming(Steven) Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 05/11] net/mlx5: cleanup tunnel checksum offloads Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 06/11] net/mlx5: split flow RSS handling logic Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 07/11] net/mlx5: support tunnel RSS level Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 08/11] net/mlx5: add hardware flow debug dump Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 09/11] net/mlx5: introduce VXLAN-GPE tunnel type Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 10/11] net/mlx5: allow flow tunnel ID 0 with outer pattern Xueming Li
2018-04-20 12:23     ` [dpdk-dev] [PATCH v5 11/11] doc: update mlx5 guide on tunnel offloading Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 01/11] net/mlx5: support 16 hardware priorities Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 02/11] net/mlx5: support GRE tunnel flow Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 03/11] net/mlx5: support L3 VXLAN flow Xueming Li
2018-04-18  6:48     ` Nélio Laranjeiro
2018-04-18 14:43       ` Xueming(Steven) Li
2018-04-18 15:08         ` Nélio Laranjeiro
2018-04-19  6:20           ` Xueming(Steven) Li
2018-04-19  6:55             ` Nélio Laranjeiro
2018-04-19 10:21               ` Xueming(Steven) Li
2018-04-19 11:15                 ` Nélio Laranjeiro
2018-04-19 11:53                   ` Xueming(Steven) Li
2018-04-19 12:18                     ` Nélio Laranjeiro
2018-04-19 12:49                       ` Xueming(Steven) Li
2018-04-19 13:40                         ` Nélio Laranjeiro
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 04/11] net/mlx5: support Rx tunnel type identification Xueming Li
2018-04-18  6:50     ` Nélio Laranjeiro
2018-04-18 14:33       ` Xueming(Steven) Li
2018-04-18 15:06         ` Nélio Laranjeiro
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 05/11] net/mlx5: cleanup tunnel checksum offloads Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 06/11] net/mlx5: split flow RSS handling logic Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 07/11] net/mlx5: support tunnel RSS level Xueming Li
2018-04-18  6:55     ` Nélio Laranjeiro
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 08/11] net/mlx5: add hardware flow debug dump Xueming Li
2018-04-18  6:57     ` Nélio Laranjeiro
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 09/11] net/mlx5: introduce VXLAN-GPE tunnel type Xueming Li
2018-04-18  6:58     ` Nélio Laranjeiro
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 10/11] net/mlx5: allow flow tunnel ID 0 with outer pattern Xueming Li
2018-04-17 15:14   ` [dpdk-dev] [PATCH v4 11/11] doc: update mlx5 guide on tunnel offloading Xueming Li
2018-04-18  7:00     ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 01/14] net/mlx5: support 16 hardware priorities Xueming Li
2018-04-13 11:58   ` Nélio Laranjeiro
2018-04-13 13:10     ` Xueming(Steven) Li
2018-04-13 13:46       ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 02/14] net/mlx5: support GRE tunnel flow Xueming Li
2018-04-13 12:02   ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 03/14] net/mlx5: support L3 VXLAN flow Xueming Li
2018-04-13 12:13   ` Nélio Laranjeiro
2018-04-13 13:51     ` Xueming(Steven) Li
2018-04-13 14:04     ` Xueming(Steven) Li
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 04/14] net/mlx5: support Rx tunnel type identification Xueming Li
2018-04-13 13:02   ` Nélio Laranjeiro
2018-04-14 12:57     ` Xueming(Steven) Li
2018-04-16  7:28       ` Nélio Laranjeiro
2018-04-16  8:05         ` Xueming(Steven) Li
2018-04-16  9:28           ` Adrien Mazarguil [this message]
2018-04-16 13:32             ` Xueming(Steven) Li
2018-04-16 13:47               ` Adrien Mazarguil
2018-04-16 15:27                 ` Xueming(Steven) Li
2018-04-16 16:02                   ` Adrien Mazarguil
2018-04-17  4:53                     ` Xueming(Steven) Li
2018-04-17  7:20                       ` Nélio Laranjeiro
2018-04-17 11:50                         ` Xueming(Steven) Li
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 05/14] net/mlx5: cleanup tunnel checksum offloads Xueming Li
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 06/14] net/mlx5: split flow RSS handling logic Xueming Li
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 07/14] net/mlx5: support tunnel RSS level Xueming Li
2018-04-13 13:27   ` Nélio Laranjeiro
2018-04-14 10:12     ` Xueming(Steven) Li
2018-04-16 12:25       ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 08/14] net/mlx5: add hardware flow debug dump Xueming Li
2018-04-13 13:29   ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 09/14] net/mlx5: introduce VXLAN-GPE tunnel type Xueming Li
2018-04-13 13:32   ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 10/14] net/mlx5: allow flow tunnel ID 0 with outer pattern Xueming Li
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 11/14] net/mlx5: support MPLS-in-GRE and MPLS-in-UDP Xueming Li
2018-04-13 13:37   ` Nélio Laranjeiro
2018-04-13 14:48     ` Xueming(Steven) Li
2018-04-13 14:55       ` Nélio Laranjeiro
2018-04-13 15:22         ` Xueming(Steven) Li
2018-04-16  8:14           ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 12/14] doc: update mlx5 guide on tunnel offloading Xueming Li
2018-04-13 13:38   ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 13/14] net/mlx5: fix invalid flow item check Xueming Li
2018-04-13 13:40   ` Nélio Laranjeiro
2018-04-13 11:20 ` [dpdk-dev] [PATCH v3 14/14] net/mlx5: support RSS configuration in isolated mode Xueming Li
2018-04-13 13:43   ` Nélio Laranjeiro

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=20180416092825.GW4957@6wind.com \
    --to=adrien.mazarguil@6wind.com \
    --cc=dev@dpdk.org \
    --cc=nelio.laranjeiro@6wind.com \
    --cc=olivier.matz@6wind.com \
    --cc=shahafs@mellanox.com \
    --cc=xuemingl@mellanox.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).