xsk: add Rx receive functions and poll support
authorBjörn Töpel <bjorn.topel@intel.com>
Wed, 2 May 2018 11:01:27 +0000 (13:01 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 3 May 2018 22:55:24 +0000 (15:55 -0700)
commitc497176cb2e478f0a5713b0e05f242276e3194b5
treec23d28e7cfc7dbdd26498885cfe86da01436c797
parent965a990984432cd01a9eb3514c64d86f56704295
xsk: add Rx receive functions and poll support

Here the actual receive functions of AF_XDP are implemented, that in a
later commit, will be called from the XDP layers.

There's one set of functions for the XDP_DRV side and another for
XDP_SKB (generic).

A new XDP API, xdp_return_buff, is also introduced.

Adding xdp_return_buff, which is analogous to xdp_return_frame, but
acts upon an struct xdp_buff. The API will be used by AF_XDP in future
commits.

Support for the poll syscall is also implemented.

v2: xskq_validate_id did not update cons_tail.
    The entries variable was calculated twice in xskq_nb_avail.
    Squashed xdp_return_buff commit.

Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
include/net/xdp.h
include/net/xdp_sock.h
net/core/xdp.c
net/xdp/xdp_umem.h
net/xdp/xsk.c
net/xdp/xsk_queue.h