Re: [PATCH net-next 7/8] net/mlx5e: XDP TX forwarding support
flat view
From: Jesper Dangaard Brouer <hidden>
Date: 2016-09-20 11:33:05
Resending, email didn't reach the list (used wrong sender email) On Tue, 20 Sep 2016 10:29:43 +0200 Jesper Dangaard Brouer [off-list ref] wrote:
On Mon, 19 Sep 2016 16:58:58 +0300 Tariq Toukan [off-list ref] wrote:quoted
+ act = bpf_prog_run_xdp(prog, &xdp); + switch (act) { + case XDP_PASS: + return false; + case XDP_TX: + consumed = mlx5e_xmit_xdp_frame(&rq->channel->xdp_sq, di, + MLX5_RX_HEADROOM, + len); + rq->stats.xdp_tx += consumed; + return consumed; + default: + bpf_warn_invalid_xdp_action(act); + return false;This looks wrong. According to the specification[1] and comment in the code /include/uapi/linux/bpf.h: "Unknown return codes will result in packet drop"quoted
+ 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)).quoted
+ case XDP_DROP: + rq->stats.xdp_drop++; + mlx5e_page_release(rq, di, true); + return true; + }I've started documenting XDP[2], as this patch clearly shows there is a need to have a specification, given already the second driver supporting XDP gets these details wrong. [1] https://prototype-kernel.readthedocs.io/en/latest/networking/XDP/implementation/xdp_actions.html#xdp-aborted [2] https://prototype-kernel.readthedocs.io/en/latest/networking/XDP/index.html
-- 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