diff options
author | Magnus Karlsson <magnus.karlsson@intel.com> | 2018-05-02 13:01:31 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2018-05-03 15:55:24 -0700 |
commit | fe2308328cd2f26ebc986f543796e7d13ae00bc4 (patch) | |
tree | f455bf4955aec597ac177eb89dc60e21b55c9191 /net/xdp/xdp_umem.h | |
parent | 02671e23e7b383763fe1ae4f20b56d8029f9dfc6 (diff) | |
download | linux-stable-fe2308328cd2f26ebc986f543796e7d13ae00bc4.tar.gz linux-stable-fe2308328cd2f26ebc986f543796e7d13ae00bc4.tar.bz2 linux-stable-fe2308328cd2f26ebc986f543796e7d13ae00bc4.zip |
xsk: add umem completion queue support and mmap
Here, we add another setsockopt for registered user memory (umem)
called XDP_UMEM_COMPLETION_QUEUE. Using this socket option, the
process can ask the kernel to allocate a queue (ring buffer) and also
mmap it (XDP_UMEM_PGOFF_COMPLETION_QUEUE) into the process.
The queue is used to explicitly pass ownership of umem frames from the
kernel to user process. This will be used by the TX path to tell user
space that a certain frame has been transmitted and user space can use
it for something else, if it wishes.
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 | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/xdp/xdp_umem.h b/net/xdp/xdp_umem.h index c7378a11721f..7e0b2fab8522 100644 --- a/net/xdp/xdp_umem.h +++ b/net/xdp/xdp_umem.h @@ -24,6 +24,7 @@ struct xdp_umem { struct xsk_queue *fq; + struct xsk_queue *cq; struct page **pgs; struct xdp_umem_props props; u32 npgs; |