diff options
Diffstat (limited to 'tools/include/uapi/linux/bpf.h')
| -rw-r--r-- | tools/include/uapi/linux/bpf.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index 66917a4eba27..aa5ccd2385ed 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h | |||
| @@ -152,6 +152,7 @@ enum bpf_prog_type { | |||
| 152 | BPF_PROG_TYPE_LWT_SEG6LOCAL, | 152 | BPF_PROG_TYPE_LWT_SEG6LOCAL, |
| 153 | BPF_PROG_TYPE_LIRC_MODE2, | 153 | BPF_PROG_TYPE_LIRC_MODE2, |
| 154 | BPF_PROG_TYPE_SK_REUSEPORT, | 154 | BPF_PROG_TYPE_SK_REUSEPORT, |
| 155 | BPF_PROG_TYPE_FLOW_DISSECTOR, | ||
| 155 | }; | 156 | }; |
| 156 | 157 | ||
| 157 | enum bpf_attach_type { | 158 | enum bpf_attach_type { |
| @@ -172,6 +173,7 @@ enum bpf_attach_type { | |||
| 172 | BPF_CGROUP_UDP4_SENDMSG, | 173 | BPF_CGROUP_UDP4_SENDMSG, |
| 173 | BPF_CGROUP_UDP6_SENDMSG, | 174 | BPF_CGROUP_UDP6_SENDMSG, |
| 174 | BPF_LIRC_MODE2, | 175 | BPF_LIRC_MODE2, |
| 176 | BPF_FLOW_DISSECTOR, | ||
| 175 | __MAX_BPF_ATTACH_TYPE | 177 | __MAX_BPF_ATTACH_TYPE |
| 176 | }; | 178 | }; |
| 177 | 179 | ||
| @@ -2333,6 +2335,7 @@ struct __sk_buff { | |||
| 2333 | /* ... here. */ | 2335 | /* ... here. */ |
| 2334 | 2336 | ||
| 2335 | __u32 data_meta; | 2337 | __u32 data_meta; |
| 2338 | struct bpf_flow_keys *flow_keys; | ||
| 2336 | }; | 2339 | }; |
| 2337 | 2340 | ||
| 2338 | struct bpf_tunnel_key { | 2341 | struct bpf_tunnel_key { |
| @@ -2778,4 +2781,27 @@ enum bpf_task_fd_type { | |||
| 2778 | BPF_FD_TYPE_URETPROBE, /* filename + offset */ | 2781 | BPF_FD_TYPE_URETPROBE, /* filename + offset */ |
| 2779 | }; | 2782 | }; |
| 2780 | 2783 | ||
| 2784 | struct bpf_flow_keys { | ||
| 2785 | __u16 nhoff; | ||
| 2786 | __u16 thoff; | ||
| 2787 | __u16 addr_proto; /* ETH_P_* of valid addrs */ | ||
| 2788 | __u8 is_frag; | ||
| 2789 | __u8 is_first_frag; | ||
| 2790 | __u8 is_encap; | ||
| 2791 | __u8 ip_proto; | ||
| 2792 | __be16 n_proto; | ||
| 2793 | __be16 sport; | ||
| 2794 | __be16 dport; | ||
| 2795 | union { | ||
| 2796 | struct { | ||
| 2797 | __be32 ipv4_src; | ||
| 2798 | __be32 ipv4_dst; | ||
| 2799 | }; | ||
| 2800 | struct { | ||
| 2801 | __u32 ipv6_src[4]; /* in6_addr; network order */ | ||
| 2802 | __u32 ipv6_dst[4]; /* in6_addr; network order */ | ||
| 2803 | }; | ||
| 2804 | }; | ||
| 2805 | }; | ||
| 2806 | |||
| 2781 | #endif /* _UAPI__LINUX_BPF_H__ */ | 2807 | #endif /* _UAPI__LINUX_BPF_H__ */ |
