summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/bpf.h
diff options
context:
space:
mode:
authorDaniel Borkmann2016-03-30 00:02:00 +0200
committerDavid S. Miller2016-03-31 01:01:33 +0200
commitc0e760c9c66ebd8a5a1ede81868677f4df993dfb (patch)
treedb1be8dd13abe309bf54325b307bd1658ed19d7e /include/uapi/linux/bpf.h
parentipv6: udp: fix UDP_MIB_IGNOREDMULTI updates (diff)
downloadkernel-qcow2-linux-c0e760c9c66ebd8a5a1ede81868677f4df993dfb.tar.gz
kernel-qcow2-linux-c0e760c9c66ebd8a5a1ede81868677f4df993dfb.tar.xz
kernel-qcow2-linux-c0e760c9c66ebd8a5a1ede81868677f4df993dfb.zip
bpf: make padding in bpf_tunnel_key explicit
Make the 2 byte padding in struct bpf_tunnel_key between tunnel_ttl and tunnel_label members explicit. No issue has been observed, and gcc/llvm does padding for the old struct already, where tunnel_label was not yet present, so the current code works, but since it's part of uapi, make sure we don't introduce holes in structs. Therefore, add tunnel_ext that we can use generically in future (f.e. to flag OAM messages for backends, etc). Also add the offset to the compat tests to be sure should some compilers not padd the tail of the old version of bpf_tunnel_key. Fixes: 4018ab1875e0 ("bpf: support flow label for bpf_skb_{set, get}_tunnel_key") Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/bpf.h')
-rw-r--r--include/uapi/linux/bpf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 924f537183fd..23917bb47bf3 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -375,6 +375,7 @@ struct bpf_tunnel_key {
};
__u8 tunnel_tos;
__u8 tunnel_ttl;
+ __u16 tunnel_ext;
__u32 tunnel_label;
};