bpf: sync bpf.h to tools and update bpf_helpers.h
authorbrakmo <brakmo@fb.com>
Fri, 1 Mar 2019 20:38:47 +0000 (12:38 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 2 Mar 2019 18:48:27 +0000 (10:48 -0800)
This patch syncs the uapi bpf.h to tools/ and also updates
bpf_herlpers.h in tools/

Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/include/uapi/linux/bpf.h
tools/testing/selftests/bpf/bpf_helpers.h

index 2e308e9..3c38ac9 100644 (file)
@@ -2359,6 +2359,13 @@ union bpf_attr {
  *     Return
  *             A **struct bpf_tcp_sock** pointer on success, or NULL in
  *             case of failure.
+ *
+ * int bpf_skb_ecn_set_ce(struct sk_buf *skb)
+ *     Description
+ *             Sets ECN of IP header to ce (congestion encountered) if
+ *             current value is ect (ECN capable). Works with IPv6 and IPv4.
+ *     Return
+ *             1 if set, 0 if not set.
  */
 #define __BPF_FUNC_MAPPER(FN)          \
        FN(unspec),                     \
@@ -2457,7 +2464,8 @@ union bpf_attr {
        FN(spin_lock),                  \
        FN(spin_unlock),                \
        FN(sk_fullsock),                \
-       FN(tcp_sock),
+       FN(tcp_sock),                   \
+       FN(skb_ecn_set_ce),
 
 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
  * function eBPF program intends to call
index 026bea8..c9433a4 100644 (file)
@@ -180,6 +180,8 @@ static struct bpf_sock *(*bpf_sk_fullsock)(struct bpf_sock *sk) =
        (void *) BPF_FUNC_sk_fullsock;
 static struct bpf_tcp_sock *(*bpf_tcp_sock)(struct bpf_sock *sk) =
        (void *) BPF_FUNC_tcp_sock;
+static int (*bpf_skb_ecn_set_ce)(void *ctx) =
+       (void *) BPF_FUNC_skb_ecn_set_ce;
 
 /* llvm builtin functions that eBPF C program may use to
  * emit BPF_LD_ABS and BPF_LD_IND instructions