diff options
author | Magnus Karlsson <magnus.karlsson@intel.com> | 2018-05-02 13:01:24 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-05-03 15:55:23 -0700 |
commit | 423f38329d267969130fb6f2c685f73d72687558 (patch) | |
tree | ab7c0df0819c420846ac47c18ddc0fd614eaf035 /net/xdp/xdp_umem.h | |
parent | c0c77d8fb787cfe0c3fca689c2a30d1dad4eaba7 (diff) | |
download | linux-423f38329d267969130fb6f2c685f73d72687558.tar.gz linux-423f38329d267969130fb6f2c685f73d72687558.tar.bz2 linux-423f38329d267969130fb6f2c685f73d72687558.zip |
xsk: add umem fill queue support and mmap
Here, we add another setsockopt for registered user memory (umem)
called XDP_UMEM_FILL_QUEUE. Using this socket option, the process can
ask the kernel to allocate a queue (ring buffer) and also mmap it
(XDP_UMEM_PGOFF_FILL_QUEUE) into the process.
The queue is used to explicitly pass ownership of umem frames from the
user process to the kernel. These frames will in a later patch be
filled in with Rx packet data by the kernel.
v2: Fixed potential crash in xsk_mmap.
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'net/xdp/xdp_umem.h')
-rw-r--r-- | net/xdp/xdp_umem.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/xdp/xdp_umem.h b/net/xdp/xdp_umem.h index 4597ae81a221..25634b8a5c6f 100644 --- a/net/xdp/xdp_umem.h +++ b/net/xdp/xdp_umem.h @@ -19,9 +19,11 @@ #include <linux/if_xdp.h> #include <linux/workqueue.h> +#include "xsk_queue.h" #include "xdp_umem_props.h" struct xdp_umem { + struct xsk_queue *fq; struct page **pgs; struct xdp_umem_props props; u32 npgs; |