Re: [PATCH net-next 7/8] net/mlx5e: XDP TX forwarding support
flat view
From: Tariq Toukan <hidden>
Date: 2016-09-20 12:53:14
On 20/09/2016 2:33 PM, Jesper Dangaard Brouer wrote:
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:quoted
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"
I'll fix this.
quoted
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)).
I'll add this.
quoted
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.
Indeed. Thanks for doing this.
Regards, Tariq