On Tue, 20 Sep 2016 08:58:30 -0700
Eric Dumazet <eric.duma...@gmail.com> wrote:
> On Tue, 2016-09-20 at 08:51 -0700, Tom Herbert wrote:
> > On Tue, Sep 20, 2016 at 8:40 AM, Alexei Starovoitov
> > <alexei.starovoi...@gmail.com> wrote:
> > > On Tue, Sep 20, 2016 at 03:53:10PM +0300, Tariq Toukan wrote:
> > >> >>>+ case XDP_ABORTED:
> > >> >>It is not clearly defined, but I believe XDP_ABORTED should also result
> > >> >>in a warning (calling bpf_warn_invalid_xdp_action(act)).
> > >> I'll add this.
> > >
> > > Certainly NOT.
> > > XDP_ABORTED is an exception case when program does divide by zero.
> > > It should NOT do bpf_warn. It must drop the packet.
> > > We discussed it several months ago.
> > > See mlx4/en_rx.c for canonical implementation.
> > >
> > It should at least bump a counter so that the user knows that aborts
> > are happening.
> Same for XDP_TX if/when packet is dropped because output ring is full.
For the XDP_TX case a counter is already incremented but it is a
local ring counter (ring->tx_dropped++).
Do you think we should maintain separate counters for XDP? (to have a
more consistent interface across drivers...)
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
Author of http://www.iptv-analyzer.org