From: Leon Romanovsky <leon@kernel•org>
To: Jason Gunthorpe <jgg@ziepe•ca>
Cc: Doug Ledford <dledford@redhat•com>,
RDMA mailing list <linux-rdma@vger•kernel.org>,
Ariel Levkovich <lariel@mellanox•com>,
Mark Bloch <markb@mellanox•com>,
Or Gerlitz <ogerlitz@mellanox•com>,
Saeed Mahameed <saeedm@mellanox•com>,
linux-netdev <netdev@vger•kernel.org>
Subject: Re: [PATCH mlx5-next v1 05/15] net/mlx5: Break encap/decap into two separated flow table creation flags
Date: Wed, 5 Sep 2018 08:10:25 +0300 [thread overview]
Message-ID: <20180905051025.GC2977@mtr-leonro.mtl.com> (raw)
In-Reply-To: <20180904220242.GA3895@ziepe.ca>
[-- Attachment #1: Type: text/plain, Size: 2721 bytes --]
On Tue, Sep 04, 2018 at 04:02:42PM -0600, Jason Gunthorpe wrote:
> On Tue, Aug 28, 2018 at 02:18:44PM +0300, Leon Romanovsky wrote:
> > From: Mark Bloch <markb@mellanox•com>
> >
> > Today we are able to attach encap and decap actions only to the FDB. In
> > preparation to enable those actions on the NIC flow tables, break the
> > single flag into two. Those flags control whatever a decap or encap
> > operations can be attached to the flow table created. For FDB, if
> > encapsulation is required, we set both of them.
> >
> > Signed-off-by: Mark Bloch <markb@mellanox•com>
> > Reviewed-by: Saeed Mahameed <saeedm@mellanox•com>
> > Reviewed-by: Or Gerlitz <ogerlitz@mellanox•com>
> > Signed-off-by: Leon Romanovsky <leonro@mellanox•com>
> > drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 3 ++-
> > drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 7 ++++---
> > include/linux/mlx5/fs.h | 3 ++-
> > 3 files changed, 8 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> > index f72b5c9dcfe9..ff21807a0c4b 100644
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
> > @@ -529,7 +529,8 @@ static int esw_create_offloads_fast_fdb_table(struct mlx5_eswitch *esw)
> > esw_size >>= 1;
> >
> > if (esw->offloads.encap != DEVLINK_ESWITCH_ENCAP_MODE_NONE)
> > - flags |= MLX5_FLOW_TABLE_TUNNEL_EN;
> > + flags |= (MLX5_FLOW_TABLE_TUNNEL_EN_ENCAP |
> > + MLX5_FLOW_TABLE_TUNNEL_EN_DECAP);
> >
> > fdb = mlx5_create_auto_grouped_flow_table(root_ns, FDB_FAST_PATH,
> > esw_size,
> > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
> > index 9ae777e56529..1698f325a21e 100644
> > +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c
> > @@ -152,7 +152,8 @@ static int mlx5_cmd_create_flow_table(struct mlx5_core_dev *dev,
> > struct mlx5_flow_table *next_ft,
> > unsigned int *table_id, u32 flags)
> > {
> > - int en_encap_decap = !!(flags & MLX5_FLOW_TABLE_TUNNEL_EN);
> > + int en_encap = !!(flags & MLX5_FLOW_TABLE_TUNNEL_EN_ENCAP);
> > + int en_decap = !!(flags & MLX5_FLOW_TABLE_TUNNEL_EN_DECAP);
>
> Yuk, please don't use !!.
>
> bool en_decap = flags & MLX5_FLOW_TABLE_TUNNEL_EN_DECAP;
We need to provide en_encap and en_decap as an input to MLX5_SET(...)
which is passed to FW as 0 or 1. Boolean type is declared in C as int
and treated as zero for false and any other value for true, so we
can't pass "bool en_decap" without ensuring before that it is 1.
I'm applying this patch as is.
Thanks
>
> Jason
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
next prev parent reply other threads:[~2018-09-05 9:38 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-28 11:18 [PATCH rdma-next v1 00/15] Flow actions to mutate packets Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 01/15] net/mlx5: Cleanup flow namespace getter switch logic Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 02/15] net/mlx5: Add proper NIC TX steering flow tables support Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 03/15] net/mlx5: Export modify header alloc/dealloc functions Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 04/15] net/mlx5: Add support for more namespaces when allocating modify header Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 05/15] net/mlx5: Break encap/decap into two separated flow table creation flags Leon Romanovsky
2018-09-04 22:02 ` Jason Gunthorpe
2018-09-05 5:10 ` Leon Romanovsky [this message]
2018-09-05 16:38 ` Jason Gunthorpe
2018-09-05 18:11 ` Leon Romanovsky
2018-09-05 21:37 ` Or Gerlitz
2018-09-06 4:09 ` Leon Romanovsky
2018-09-06 16:13 ` Or Gerlitz
2018-08-28 11:18 ` [PATCH mlx5-next v1 06/15] net/mlx5: Move header encap type to IFC header file Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 07/15] {net, RDMA}/mlx5: Rename encap to reformat packet Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 08/15] net/mlx5: Expose new packet reformat capabilities Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 09/15] net/mlx5: Pass a namespace for packet reformat ID allocation Leon Romanovsky
2018-08-28 11:18 ` [PATCH mlx5-next v1 10/15] net/mlx5: Export packet reformat alloc/dealloc functions Leon Romanovsky
2018-08-28 11:18 ` [PATCH rdma-next v1 11/15] RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language Leon Romanovsky
2018-08-28 11:18 ` [PATCH rdma-next v1 12/15] RDMA/mlx5: Add a new flow action verb - modify header Leon Romanovsky
2018-09-04 21:58 ` Jason Gunthorpe
2018-09-05 5:20 ` Leon Romanovsky
2018-09-05 16:38 ` Jason Gunthorpe
2018-09-05 18:02 ` Leon Romanovsky
2018-08-28 11:18 ` [PATCH rdma-next v1 13/15] RDMA/uverbs: Add generic function to fill in flow action object Leon Romanovsky
2018-08-28 11:18 ` [PATCH rdma-next v1 14/15] RDMA/mlx5: Add new flow action verb - packet reformat Leon Romanovsky
2018-08-28 11:18 ` [PATCH rdma-next v1 15/15] RDMA/mlx5: Extend packet reformat verbs Leon Romanovsky
2018-09-04 22:12 ` [PATCH rdma-next v1 00/15] Flow actions to mutate packets Jason Gunthorpe
2018-09-05 5:14 ` Leon Romanovsky
2018-09-05 21:29 ` Jason Gunthorpe
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=20180905051025.GC2977@mtr-leonro.mtl.com \
--to=leon@kernel$(echo .)org \
--cc=dledford@redhat$(echo .)com \
--cc=jgg@ziepe$(echo .)ca \
--cc=lariel@mellanox$(echo .)com \
--cc=linux-rdma@vger$(echo .)kernel.org \
--cc=markb@mellanox$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=ogerlitz@mellanox$(echo .)com \
--cc=saeedm@mellanox$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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