bpf: sync bpf uapi header with tools
authorDaniel Borkmann <daniel@iogearbox.net>
Sat, 2 Jun 2018 21:06:40 +0000 (23:06 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 3 Jun 2018 14:46:56 +0000 (07:46 -0700)
Pull in recent changes from include/uapi/linux/bpf.h.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/include/uapi/linux/bpf.h

index 64ac0f7..f0b6608 100644 (file)
@@ -2054,6 +2054,22 @@ union bpf_attr {
  *
  *     Return
  *             0
+ *
+ * uint64_t bpf_skb_cgroup_id(struct sk_buff *skb)
+ *     Description
+ *             Return the cgroup v2 id of the socket associated with the *skb*.
+ *             This is roughly similar to the **bpf_get_cgroup_classid**\ ()
+ *             helper for cgroup v1 by providing a tag resp. identifier that
+ *             can be matched on or used for map lookups e.g. to implement
+ *             policy. The cgroup v2 id of a given path in the hierarchy is
+ *             exposed in user space through the f_handle API in order to get
+ *             to the same 64-bit id.
+ *
+ *             This helper can be used on TC egress path, but not on ingress,
+ *             and is available only if the kernel was compiled with the
+ *             **CONFIG_SOCK_CGROUP_DATA** configuration option.
+ *     Return
+ *             The id is returned or 0 in case the id could not be retrieved.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -2134,7 +2150,8 @@ union bpf_attr {
        FN(lwt_seg6_adjust_srh),        \
        FN(lwt_seg6_action),            \
        FN(rc_repeat),                  \
-       FN(rc_keydown),
+       FN(rc_keydown),                 \
+       FN(skb_cgroup_id),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
@@ -2251,7 +2268,7 @@ struct bpf_tunnel_key {
        };
        __u8 tunnel_tos;
        __u8 tunnel_ttl;
-       __u16 tunnel_ext;
+       __u16 tunnel_ext;       /* Padding, future use. */
        __u32 tunnel_label;
 };
 
@@ -2262,6 +2279,7 @@ struct bpf_xfrm_state {
        __u32 reqid;
        __u32 spi;      /* Stored in network byte order */
        __u16 family;
+       __u16 ext;      /* Padding, future use. */
        union {
                __u32 remote_ipv4;      /* Stored in network byte order */
                __u32 remote_ipv6[4];   /* Stored in network byte order */