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. I agree. > Same for XDP_TX if/when packet is dropped because output ring is full. For the XDP_TX case a counter is already incremented[1] 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...) [1] https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/mellanox/mlx4/en_tx.c#L1181 -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer