summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/bpf.h
diff options
context:
space:
mode:
authorBjörn Töpel2018-05-02 13:01:28 +0200
committerAlexei Starovoitov2018-05-04 00:55:24 +0200
commitfbfc504a24f53f7ebe128ab55cb5dba634f4ece8 (patch)
treed88b2d04cf60d5b77a5d794a3e0b006738c47e77 /include/uapi/linux/bpf.h
parentxsk: add Rx receive functions and poll support (diff)
downloadkernel-qcow2-linux-fbfc504a24f53f7ebe128ab55cb5dba634f4ece8.tar.gz
kernel-qcow2-linux-fbfc504a24f53f7ebe128ab55cb5dba634f4ece8.tar.xz
kernel-qcow2-linux-fbfc504a24f53f7ebe128ab55cb5dba634f4ece8.zip
bpf: introduce new bpf AF_XDP map type BPF_MAP_TYPE_XSKMAP
The xskmap is yet another BPF map, very much inspired by dev/cpu/sockmap, and is a holder of AF_XDP sockets. A user application adds AF_XDP sockets into the map, and by using the bpf_redirect_map helper, an XDP program can redirect XDP frames to an AF_XDP socket. Note that a socket that is bound to certain ifindex/queue index will *only* accept XDP frames from that netdev/queue index. If an XDP program tries to redirect from a netdev/queue index other than what the socket is bound to, the frame will not be received on the socket. A socket can reside in multiple maps. v3: Fixed race and simplified code. v2: Removed one indirection in map lookup. Signed-off-by: Björn Töpel <bjorn.topel@intel.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/uapi/linux/bpf.h')
-rw-r--r--include/uapi/linux/bpf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 8daef7326bb7..a3a495052511 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -116,6 +116,7 @@ enum bpf_map_type {
BPF_MAP_TYPE_DEVMAP,
BPF_MAP_TYPE_SOCKMAP,
BPF_MAP_TYPE_CPUMAP,
+ BPF_MAP_TYPE_XSKMAP,
};
enum bpf_prog_type {