Thread (30 messages) 30 messages, 4 authors, 2018-09-06

Re: [PATCH mlx5-next v1 05/15] net/mlx5: Break encap/decap into two separated flow table creation flags

From: Leon Romanovsky <leon@kernel.org>
Date: 2018-09-05 22:43:01
Also in: linux-rdma

On Wed, Sep 05, 2018 at 10:38:00AM -0600, Jason Gunthorpe wrote:
On Wed, Sep 05, 2018 at 08:10:25AM +0300, Leon Romanovsky wrote:
quoted
quoted
quoted
-	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,
No, that isn't right, the kernel uses C99's _Bool intrinsic type, which
is guaranteed to only hold 0 or 1 by the compiler.

See types.h:

typedef _Bool                   bool;
Exciting, it took me a while to find C99 standard and relevant 6.3.1.2.
Anyway, this patch didn't change previous functionality, which used "!!"
convention.

Thanks
Jason

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help