aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorJohn Fastabend <john.fastabend@gmail.com>2018-05-17 17:16:58 -0400
committerDaniel Borkmann <daniel@iogearbox.net>2018-05-18 16:44:10 -0400
commit303def35f64e37bcd5401d202889f5fbc0241179 (patch)
tree2ec1213038df81591e3b99242116a3ae5239e4fe /include/uapi/linux
parent1cb61381e72ea2426511c0fb63176baf952bcd9f (diff)
bpf: allow sk_msg programs to read sock fields
Currently sk_msg programs only have access to the raw data. However, it is often useful when building policies to have the policies specific to the socket endpoint. This allows using the socket tuple as input into filters, etc. This patch adds ctx access to the sock fields. Signed-off-by: John Fastabend <john.fastabend@gmail.com> Acked-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/bpf.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index d94d333a8225..97446bbe2ca5 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -2176,6 +2176,14 @@ enum sk_action {
2176struct sk_msg_md { 2176struct sk_msg_md {
2177 void *data; 2177 void *data;
2178 void *data_end; 2178 void *data_end;
2179
2180 __u32 family;
2181 __u32 remote_ip4; /* Stored in network byte order */
2182 __u32 local_ip4; /* Stored in network byte order */
2183 __u32 remote_ip6[4]; /* Stored in network byte order */
2184 __u32 local_ip6[4]; /* Stored in network byte order */
2185 __u32 remote_port; /* Stored in network byte order */
2186 __u32 local_port; /* stored in host byte order */
2179}; 2187};
2180 2188
2181#define BPF_TAG_SIZE 8 2189#define BPF_TAG_SIZE 8