xsk: add user memory registration support sockopt
In this commit the base structure of the AF_XDP address family is set up. Further, we introduce the abilty register a window of user memory to the kernel via the XDP_UMEM_REG setsockopt syscall. The memory window is viewed by an AF_XDP socket as a set of equally large frames. After a user memory registration all frames are "owned" by the user application, and not the kernel. v2: More robust checks on umem creation and unaccount on error. Call set_page_dirty_lock on cleanup. Simplified xdp_umem_reg. Co-authored-by:Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by:
Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by:
Björn Töpel <bjorn.topel@intel.com> Signed-off-by:
Alexei Starovoitov <ast@kernel.org>
Showing
- include/net/xdp_sock.h 31 additions, 0 deletionsinclude/net/xdp_sock.h
- include/uapi/linux/if_xdp.h 34 additions, 0 deletionsinclude/uapi/linux/if_xdp.h
- net/Makefile 1 addition, 0 deletionsnet/Makefile
- net/xdp/Makefile 2 additions, 0 deletionsnet/xdp/Makefile
- net/xdp/xdp_umem.c 245 additions, 0 deletionsnet/xdp/xdp_umem.c
- net/xdp/xdp_umem.h 45 additions, 0 deletionsnet/xdp/xdp_umem.h
- net/xdp/xdp_umem_props.h 23 additions, 0 deletionsnet/xdp/xdp_umem_props.h
- net/xdp/xsk.c 215 additions, 0 deletionsnet/xdp/xsk.c
Loading
Please register or sign in to comment