On Wed, 12 Jun 2019 11:49:17 +0200, Toke Høiland-Jørgensen wrote:
> Jakub Kicinski <jakub.kicin...@netronome.com> writes:
> 
> > On Tue, 11 Jun 2019 17:44:00 +0200, Toke Høiland-Jørgensen wrote:  
> >> +#define XDP_REDIRECT_INVALID_MASK (XDP_ABORTED | XDP_DROP | XDP_PASS | 
> >> XDP_TX)  
> >
> > It feels a little strange to OR in values which are not bits, even if
> > it happens to work today (since those are values of 0, 1, 2, 3)...  
> 
> Yeah, I agree. But it also nicely expresses the extent in code.
> Otherwise that would need to be in a comment, like
> 
> // we allow return codes of ABORTED/DROP/PASS/TX
> #define XDP_REDIRECT_INVALID_MASK 3
> 
> 
> Or do you have a better idea?

flags > XDP_TX

In the future when we add more fields in flags:

if (flags & ~XDP_REDIRECT_FLAGS_MASK)
        return -EBLA;
if ((flags & XDP_REDIRECT_RETCODE_MASK) > XDP_TX))
        return -EFOO;

?

Reply via email to