Commit 253c8dde authored by Lorenz Bauer's avatar Lorenz Bauer Committed by Alexei Starovoitov
Browse files

tools: update include/uapi/linux/bpf.h



Pull definitions for bpf_skc_lookup_tcp and bpf_sk_check_syncookie.

Signed-off-by: default avatarLorenz Bauer <lmb@cloudflare.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 39904084
Loading
Loading
Loading
Loading
+35 −1
Original line number Diff line number Diff line
@@ -2431,6 +2431,38 @@ union bpf_attr {
 *	Return
 *		A **struct bpf_sock** pointer on success, or **NULL** in
 *		case of failure.
 *
 * struct bpf_sock *bpf_skc_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags)
 *	Description
 *		Look for TCP socket matching *tuple*, optionally in a child
 *		network namespace *netns*. The return value must be checked,
 *		and if non-**NULL**, released via **bpf_sk_release**\ ().
 *
 *		This function is identical to bpf_sk_lookup_tcp, except that it
 *		also returns timewait or request sockets. Use bpf_sk_fullsock
 *		or bpf_tcp_socket to access the full structure.
 *
 *		This helper is available only if the kernel was compiled with
 *		**CONFIG_NET** configuration option.
 *	Return
 *		Pointer to **struct bpf_sock**, or **NULL** in case of failure.
 *		For sockets with reuseport option, the **struct bpf_sock**
 *		result is from **reuse->socks**\ [] using the hash of the tuple.
 *
 * int bpf_tcp_check_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
 * 	Description
 * 		Check whether iph and th contain a valid SYN cookie ACK for
 * 		the listening socket in sk.
 *
 * 		iph points to the start of the IPv4 or IPv6 header, while
 * 		iph_len contains sizeof(struct iphdr) or sizeof(struct ip6hdr).
 *
 * 		th points to the start of the TCP header, while th_len contains
 * 		sizeof(struct tcphdr).
 *
 * 	Return
 * 		0 if iph and th are a valid SYN cookie ACK, or a negative error
 * 		otherwise.
 */
#define __BPF_FUNC_MAPPER(FN)		\
	FN(unspec),			\
@@ -2531,7 +2563,9 @@ union bpf_attr {
	FN(sk_fullsock),		\
	FN(tcp_sock),			\
	FN(skb_ecn_set_ce),		\
	FN(get_listener_sock),
	FN(get_listener_sock),		\
	FN(skc_lookup_tcp),		\
	FN(tcp_check_syncookie),

/* integer value in 'imm' field of BPF_CALL instruction selects which helper
 * function eBPF program intends to call