diff options
author | Jesper Dangaard Brouer <brouer@redhat.com> | 2018-05-24 16:46:07 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-05-25 03:36:15 +0200 |
commit | 389ab7f01af988c2a1ec5617eb0c7e220df1ef1c (patch) | |
tree | 3d21a2d33a7587b4db4841332117916f0f238246 /include/net/xdp.h | |
parent | samples/bpf: xdp_monitor use tracepoint xdp:xdp_devmap_xmit (diff) | |
download | linux-389ab7f01af988c2a1ec5617eb0c7e220df1ef1c.tar.xz linux-389ab7f01af988c2a1ec5617eb0c7e220df1ef1c.zip |
xdp: introduce xdp_return_frame_rx_napi
When sending an xdp_frame through xdp_do_redirect call, then error
cases can happen where the xdp_frame needs to be dropped, and
returning an -errno code isn't sufficient/possible any-longer
(e.g. for cpumap case). This is already fully supported, by simply
calling xdp_return_frame.
This patch is an optimization, which provides xdp_return_frame_rx_napi,
which is a faster variant for these error cases. It take advantage of
the protection provided by XDP RX running under NAPI protection.
This change is mostly relevant for drivers using the page_pool
allocator as it can take advantage of this. (Tested with mlx5).
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/net/xdp.h')
-rw-r--r-- | include/net/xdp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/xdp.h b/include/net/xdp.h index 0b689cf561c7..7ad779237ae8 100644 --- a/include/net/xdp.h +++ b/include/net/xdp.h @@ -104,6 +104,7 @@ struct xdp_frame *convert_to_xdp_frame(struct xdp_buff *xdp) } void xdp_return_frame(struct xdp_frame *xdpf); +void xdp_return_frame_rx_napi(struct xdp_frame *xdpf); void xdp_return_buff(struct xdp_buff *xdp); int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq, |