aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/bpf.txt
diff options
context:
space:
mode:
authorPaul Chaignon <paul.chaignon@orange.com>2019-09-17 22:17:29 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-09-18 06:50:02 +0200
commitc2dcd7009f76ef614ef3f5cc7c11a89d6d83d08c (patch)
treeb2e3d8929d5b3def35c2d010669a3d538ef80589 /sys/linux/bpf.txt
parent03e0d245596b0276ea0cdc8efe6120f51653a713 (diff)
sys/linux: update BPF's anonymous structures
Signed-off-by: Paul Chaignon <paul.chaignon@orange.com>
Diffstat (limited to 'sys/linux/bpf.txt')
-rw-r--r--sys/linux/bpf.txt48
1 files changed, 35 insertions, 13 deletions
diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt
index 26f011dbb..72dc2bb5d 100644
--- a/sys/linux/bpf.txt
+++ b/sys/linux/bpf.txt
@@ -38,9 +38,9 @@ bpf$OBJ_GET_PROG(cmd const[BPF_OBJ_GET], arg ptr[in, bpf_obj_get], size len[arg]
bpf$BPF_PROG_ATTACH(cmd const[BPF_PROG_ATTACH], arg ptr[in, bpf_attach_arg], size len[arg])
bpf$BPF_PROG_DETACH(cmd const[BPF_PROG_DETACH], arg ptr[in, bpf_detach_arg], size len[arg])
bpf$BPF_PROG_TEST_RUN(cmd const[BPF_PROG_TEST_RUN], arg ptr[in, bpf_test_prog_arg], size len[arg])
-bpf$BPF_PROG_GET_NEXT_ID(cmd const[BPF_PROG_GET_NEXT_ID], arg ptr[in, int32], size len[arg])
-bpf$BPF_MAP_GET_NEXT_ID(cmd const[BPF_MAP_GET_NEXT_ID], arg ptr[in, int32], size len[arg])
-bpf$BPF_PROG_GET_FD_BY_ID(cmd const[BPF_PROG_GET_FD_BY_ID], arg ptr[in, bpf_prog_id], size len[arg]) fd_bpf_prog
+bpf$BPF_PROG_GET_NEXT_ID(cmd const[BPF_PROG_GET_NEXT_ID], arg ptr[in, bpf_obj_get_next_id_arg], size len[arg])
+bpf$BPF_MAP_GET_NEXT_ID(cmd const[BPF_MAP_GET_NEXT_ID], arg ptr[in, bpf_obj_get_next_id_arg], size len[arg])
+bpf$BPF_PROG_GET_FD_BY_ID(cmd const[BPF_PROG_GET_FD_BY_ID], arg ptr[in, bpf_prog_get_fd_by_id_arg], size len[arg]) fd_bpf_prog
bpf$BPF_MAP_GET_FD_BY_ID(cmd const[BPF_MAP_GET_FD_BY_ID], arg ptr[in, bpf_map_get_fd_by_id_arg], size len[arg]) fd_bpf_map
bpf$BPF_GET_PROG_INFO(cmd const[BPF_OBJ_GET_INFO_BY_FD], arg ptr[in, bpf_get_prog_info_arg], size len[arg])
bpf$BPF_GET_MAP_INFO(cmd const[BPF_OBJ_GET_INFO_BY_FD], arg ptr[in, bpf_get_map_info_arg], size len[arg])
@@ -78,6 +78,7 @@ bpf_map_lookup_arg {
map fd_bpf_map
key ptr64[in, array[int8]]
val ptr64[out, array[int8]]
+ flags flags[bpf_lookup_flags, int64]
}
bpf_map_update_arg {
@@ -90,12 +91,15 @@ bpf_map_update_arg {
bpf_map_delete_arg {
map fd_bpf_map
key ptr64[in, array[int8]]
+ value const[0, int64]
+ flags const[0, int64]
}
bpf_map_get_next_arg {
map fd_bpf_map
key ptr64[in, array[int8]]
next ptr64[out, array[int8]]
+ flags const[0, int64]
}
define BPF_LINE_INFO_SIZE sizeof(struct bpf_line_info)
@@ -328,11 +332,13 @@ define MAX_BPF_REG __MAX_BPF_REG
bpf_obj_pin_map {
path ptr64[in, filename]
fd fd_bpf_map
+ flags const[0, int32]
}
bpf_obj_pin_prog {
path ptr64[in, filename]
fd fd_bpf_prog
+ flags const[0, int32]
}
bpf_obj_get {
@@ -352,19 +358,34 @@ bpf_detach_arg {
target const[0, int32]
prog fd_bpf_prog
type flags[bpf_attach_type, int32]
- flags flags[bpf_attach_flags, int32]
- prog2 const[0, int32]
+ flags const[0, int32]
}
bpf_test_prog_arg {
- prog fd_bpf_prog
- retval const[0, int32]
- insize len[indata, int32]
- outsize len[outdata, int32]
- indata ptr64[in, array[int8]]
- outdata ptr64[out, array[int8]]
- repeat int32
- dur const[0, int32]
+ prog fd_bpf_prog
+ retval const[0, int32]
+ insizedata len[indata, int32]
+ outsizedata len[outdata, int32]
+ indata ptr64[in, array[int8]]
+ outdata ptr64[out, array[int8]]
+ repeat int32
+ dur const[0, int32]
+ insizectx len[inctx, int32]
+ outsizectx len[outctx, int32]
+ inctx ptr64[in, array[int8]]
+ outctx ptr64[in, array[int8]]
+}
+
+bpf_obj_get_next_id_arg {
+ start int32
+ next int32
+ flags const[0, int32]
+}
+
+bpf_prog_get_fd_by_id_arg {
+ prog bpf_prog_id
+ next const[0, int32]
+ flags const[0, int32]
}
bpf_get_prog_info_arg {
@@ -641,6 +662,7 @@ bpf_task_fd_query {
bpf_map_type = BPF_MAP_TYPE_HASH, BPF_MAP_TYPE_ARRAY, BPF_MAP_TYPE_PROG_ARRAY, BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_STACK_TRACE, BPF_MAP_TYPE_CGROUP_ARRAY, BPF_MAP_TYPE_PERCPU_HASH, BPF_MAP_TYPE_PERCPU_ARRAY, BPF_MAP_TYPE_LRU_HASH, BPF_MAP_TYPE_LRU_PERCPU_HASH, BPF_MAP_TYPE_LPM_TRIE, BPF_MAP_TYPE_ARRAY_OF_MAPS, BPF_MAP_TYPE_HASH_OF_MAPS, BPF_MAP_TYPE_DEVMAP, BPF_MAP_TYPE_SOCKMAP, BPF_MAP_TYPE_CPUMAP, BPF_MAP_TYPE_XSKMAP, BPF_MAP_TYPE_SOCKHASH, BPF_MAP_TYPE_CGROUP_STORAGE, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE, BPF_MAP_TYPE_QUEUE, BPF_MAP_TYPE_STACK, BPF_MAP_TYPE_SK_STORAGE
bpf_map_flags = BPF_ANY, BPF_NOEXIST, BPF_EXIST, BPF_F_LOCK
+bpf_lookup_flags = BPF_F_LOCK
bpf_prog_type = BPF_PROG_TYPE_SOCKET_FILTER, BPF_PROG_TYPE_KPROBE, BPF_PROG_TYPE_SCHED_CLS, BPF_PROG_TYPE_SCHED_ACT, BPF_PROG_TYPE_TRACEPOINT, BPF_PROG_TYPE_XDP, BPF_PROG_TYPE_PERF_EVENT, BPF_PROG_TYPE_CGROUP_SKB, BPF_PROG_TYPE_CGROUP_SOCK, BPF_PROG_TYPE_LWT_IN, BPF_PROG_TYPE_LWT_OUT, BPF_PROG_TYPE_LWT_XMIT, BPF_PROG_TYPE_SOCK_OPS, BPF_PROG_TYPE_SK_SKB, BPF_PROG_TYPE_CGROUP_DEVICE, BPF_PROG_TYPE_SK_MSG, BPF_PROG_TYPE_RAW_TRACEPOINT, BPF_PROG_TYPE_CGROUP_SOCK_ADDR, BPF_PROG_TYPE_LWT_SEG6LOCAL, BPF_PROG_TYPE_LIRC_MODE2, BPF_PROG_TYPE_SK_REUSEPORT, BPF_PROG_TYPE_FLOW_DISSECTOR, BPF_PROG_TYPE_CGROUP_SYSCTL, BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE, BPF_PROG_TYPE_CGROUP_SOCKOPT
map_flags = BPF_F_NO_PREALLOC, BPF_F_NO_COMMON_LRU, BPF_F_NUMA_NODE, BPF_F_RDONLY, BPF_F_WRONLY, BPF_F_STACK_BUILD_ID, BPF_F_ZERO_SEED, BPF_F_RDONLY_PROG, BPF_F_WRONLY_PROG
bpf_attach_type = BPF_CGROUP_INET_INGRESS, BPF_CGROUP_INET_EGRESS, BPF_CGROUP_INET_SOCK_CREATE, BPF_CGROUP_SOCK_OPS, BPF_SK_SKB_STREAM_PARSER, BPF_SK_SKB_STREAM_VERDICT, BPF_CGROUP_DEVICE, BPF_SK_MSG_VERDICT, BPF_CGROUP_INET4_BIND, BPF_CGROUP_INET6_BIND, BPF_CGROUP_INET4_CONNECT, BPF_CGROUP_INET6_CONNECT, BPF_CGROUP_INET4_POST_BIND, BPF_CGROUP_INET6_POST_BIND, BPF_CGROUP_UDP4_SENDMSG, BPF_CGROUP_UDP6_SENDMSG, BPF_LIRC_MODE2, BPF_FLOW_DISSECTOR, BPF_CGROUP_SYSCTL, BPF_CGROUP_UDP4_RECVMSG, BPF_CGROUP_UDP6_RECVMSG, BPF_CGROUP_GETSOCKOPT, BPF_CGROUP_SETSOCKOPT