On Sat, Jul 09, 2016 at 05:07:36PM +0300, Or Gerlitz wrote:
> On Fri, Jul 8, 2016 at 5:15 AM, Brenden Blanco <[email protected]> wrote:
> > Add support for the BPF_PROG_TYPE_XDP hook in mlx4 driver.
> >
> > In tc/socket bpf programs, helpers linearize skb fragments as needed
> > when the program touchs the packet data. However, in the pursuit of
>
> nit, for the next version touchs --> touches
Will fix.
>
[...]
> > + switch (act) {
> > + case XDP_PASS:
> > + break;
> > + default:
> > + bpf_warn_invalid_xdp_action(act);
> > + case XDP_DROP:
> > + goto next;
> > + }
> > + }
>
>
> (probably a nit too, but wanted to make sure we don't miss something
> here) is the default case preceding the DROP one in purpose? any
> special reason to do that?
This is intentional, and legal though unconventional C. Without this
order, the later patches end up with a bit too much copy/paste for my
liking, as in:
case XDP_DROP:
if (mlx4_en_rx_recycle(ring, frags))
goto consumed;
goto next;
default:
bpf_warn_invalid_xdp_action(act);
if (mlx4_en_rx_recycle(ring, frags))
goto consumed;
goto next;