diff options
Diffstat (limited to 'tools/include/uapi/linux/bpf.h')
| -rw-r--r-- | tools/include/uapi/linux/bpf.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index aa582cd5bfcf..91c43884f295 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h | |||
| @@ -133,6 +133,14 @@ enum bpf_map_type { | |||
| 133 | BPF_MAP_TYPE_STACK, | 133 | BPF_MAP_TYPE_STACK, |
| 134 | }; | 134 | }; |
| 135 | 135 | ||
| 136 | /* Note that tracing related programs such as | ||
| 137 | * BPF_PROG_TYPE_{KPROBE,TRACEPOINT,PERF_EVENT,RAW_TRACEPOINT} | ||
| 138 | * are not subject to a stable API since kernel internal data | ||
| 139 | * structures can change from release to release and may | ||
| 140 | * therefore break existing tracing BPF programs. Tracing BPF | ||
| 141 | * programs correspond to /a/ specific kernel which is to be | ||
| 142 | * analyzed, and not /a/ specific kernel /and/ all future ones. | ||
| 143 | */ | ||
| 136 | enum bpf_prog_type { | 144 | enum bpf_prog_type { |
| 137 | BPF_PROG_TYPE_UNSPEC, | 145 | BPF_PROG_TYPE_UNSPEC, |
| 138 | BPF_PROG_TYPE_SOCKET_FILTER, | 146 | BPF_PROG_TYPE_SOCKET_FILTER, |
| @@ -343,7 +351,7 @@ union bpf_attr { | |||
| 343 | __u32 log_level; /* verbosity level of verifier */ | 351 | __u32 log_level; /* verbosity level of verifier */ |
| 344 | __u32 log_size; /* size of user buffer */ | 352 | __u32 log_size; /* size of user buffer */ |
| 345 | __aligned_u64 log_buf; /* user supplied buffer */ | 353 | __aligned_u64 log_buf; /* user supplied buffer */ |
| 346 | __u32 kern_version; /* checked when prog_type=kprobe */ | 354 | __u32 kern_version; /* not used */ |
| 347 | __u32 prog_flags; | 355 | __u32 prog_flags; |
| 348 | char prog_name[BPF_OBJ_NAME_LEN]; | 356 | char prog_name[BPF_OBJ_NAME_LEN]; |
| 349 | __u32 prog_ifindex; /* ifindex of netdev to prep for */ | 357 | __u32 prog_ifindex; /* ifindex of netdev to prep for */ |
| @@ -2657,6 +2665,7 @@ struct sk_msg_md { | |||
| 2657 | __u32 local_ip6[4]; /* Stored in network byte order */ | 2665 | __u32 local_ip6[4]; /* Stored in network byte order */ |
| 2658 | __u32 remote_port; /* Stored in network byte order */ | 2666 | __u32 remote_port; /* Stored in network byte order */ |
| 2659 | __u32 local_port; /* stored in host byte order */ | 2667 | __u32 local_port; /* stored in host byte order */ |
| 2668 | __u32 size; /* Total size of sk_msg */ | ||
| 2660 | }; | 2669 | }; |
| 2661 | 2670 | ||
| 2662 | struct sk_reuseport_md { | 2671 | struct sk_reuseport_md { |
| @@ -2717,6 +2726,8 @@ struct bpf_prog_info { | |||
| 2717 | __u32 nr_jited_line_info; | 2726 | __u32 nr_jited_line_info; |
| 2718 | __u32 line_info_rec_size; | 2727 | __u32 line_info_rec_size; |
| 2719 | __u32 jited_line_info_rec_size; | 2728 | __u32 jited_line_info_rec_size; |
| 2729 | __u32 nr_prog_tags; | ||
| 2730 | __aligned_u64 prog_tags; | ||
| 2720 | } __attribute__((aligned(8))); | 2731 | } __attribute__((aligned(8))); |
| 2721 | 2732 | ||
| 2722 | struct bpf_map_info { | 2733 | struct bpf_map_info { |
