aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'tools/include/uapi/linux')
-rw-r--r--tools/include/uapi/linux/bpf.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h
index e1c1fed63396..f2120c5c0578 100644
--- a/tools/include/uapi/linux/bpf.h
+++ b/tools/include/uapi/linux/bpf.h
@@ -136,6 +136,7 @@ enum bpf_prog_type {
136 BPF_PROG_TYPE_CGROUP_DEVICE, 136 BPF_PROG_TYPE_CGROUP_DEVICE,
137 BPF_PROG_TYPE_SK_MSG, 137 BPF_PROG_TYPE_SK_MSG,
138 BPF_PROG_TYPE_RAW_TRACEPOINT, 138 BPF_PROG_TYPE_RAW_TRACEPOINT,
139 BPF_PROG_TYPE_CGROUP_SOCK_ADDR,
139}; 140};
140 141
141enum bpf_attach_type { 142enum bpf_attach_type {
@@ -147,6 +148,8 @@ enum bpf_attach_type {
147 BPF_SK_SKB_STREAM_VERDICT, 148 BPF_SK_SKB_STREAM_VERDICT,
148 BPF_CGROUP_DEVICE, 149 BPF_CGROUP_DEVICE,
149 BPF_SK_MSG_VERDICT, 150 BPF_SK_MSG_VERDICT,
151 BPF_CGROUP_INET4_BIND,
152 BPF_CGROUP_INET6_BIND,
150 __MAX_BPF_ATTACH_TYPE 153 __MAX_BPF_ATTACH_TYPE
151}; 154};
152 155
@@ -1009,6 +1012,26 @@ struct bpf_map_info {
1009 __u64 netns_ino; 1012 __u64 netns_ino;
1010} __attribute__((aligned(8))); 1013} __attribute__((aligned(8)));
1011 1014
1015/* User bpf_sock_addr struct to access socket fields and sockaddr struct passed
1016 * by user and intended to be used by socket (e.g. to bind to, depends on
1017 * attach attach type).
1018 */
1019struct bpf_sock_addr {
1020 __u32 user_family; /* Allows 4-byte read, but no write. */
1021 __u32 user_ip4; /* Allows 1,2,4-byte read and 4-byte write.
1022 * Stored in network byte order.
1023 */
1024 __u32 user_ip6[4]; /* Allows 1,2,4-byte read an 4-byte write.
1025 * Stored in network byte order.
1026 */
1027 __u32 user_port; /* Allows 4-byte read and write.
1028 * Stored in network byte order
1029 */
1030 __u32 family; /* Allows 4-byte read, but no write */
1031 __u32 type; /* Allows 4-byte read, but no write */
1032 __u32 protocol; /* Allows 4-byte read, but no write */
1033};
1034
1012/* User bpf_sock_ops struct to access socket values and specify request ops 1035/* User bpf_sock_ops struct to access socket values and specify request ops
1013 * and their replies. 1036 * and their replies.
1014 * Some of this fields are in network (bigendian) byte order and may need 1037 * Some of this fields are in network (bigendian) byte order and may need