aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/uapi
diff options
context:
space:
mode:
Diffstat (limited to 'tools/include/uapi')
-rw-r--r--tools/include/uapi/linux/bpf.h26
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
157enum bpf_attach_type { 158enum 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
2338struct bpf_tunnel_key { 2341struct 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
2784struct 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__ */