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: > > > > - 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
Attachment:
signature.asc
Description: PGP signature