On Wed, Jun 12, 2019 at 11:06 AM Martynas Pumputis <m@xxxxxxxxx> wrote: > > Previously, the BPF_FIB_LOOKUP_{DIRECT,OUTPUT} flags were defined > with the help of BIT macro. This had the following issues: > > - In order to user any of the flags, a user was required to depend > on <linux/bits.h>. > - No other flag in bpf.h uses the macro, so it seems that an unwritten > convention is to use (1 << (nr)) to define BPF-related flags. > Makes sense! Acked-by: Andrii Nakryiko <andriin@xxxxxx> > Signed-off-by: Martynas Pumputis <m@xxxxxxxxx> > --- > include/uapi/linux/bpf.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h > index 63e0cf66f01a..a8f17bc86732 100644 > --- a/include/uapi/linux/bpf.h > +++ b/include/uapi/linux/bpf.h > @@ -3376,8 +3376,8 @@ struct bpf_raw_tracepoint_args { > /* DIRECT: Skip the FIB rules and go to FIB table associated with device > * OUTPUT: Do lookup from egress perspective; default is ingress > */ > -#define BPF_FIB_LOOKUP_DIRECT BIT(0) > -#define BPF_FIB_LOOKUP_OUTPUT BIT(1) > +#define BPF_FIB_LOOKUP_DIRECT (1U << 0) > +#define BPF_FIB_LOOKUP_OUTPUT (1U << 1) > > enum { > BPF_FIB_LKUP_RET_SUCCESS, /* lookup successful */ > -- > 2.21.0 >