bpf: add helper to check for a valid SYN cookie
authorLorenz Bauer <lmb@cloudflare.com>
Fri, 22 Mar 2019 01:54:02 +0000 (09:54 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 22 Mar 2019 01:59:10 +0000 (18:59 -0700)
commit399040847084a69f345e0a52fd62f04654e0fce3
tree6196d57566bf6831d40a83ca95f935b8c11ad167
parentedbf8c01de5a104a71ed6df2bf6421ceb2836a8e
bpf: add helper to check for a valid SYN cookie

Using bpf_skc_lookup_tcp it's possible to ascertain whether a packet
belongs to a known connection. However, there is one corner case: no
sockets are created if SYN cookies are active. This means that the final
ACK in the 3WHS is misclassified.

Using the helper, we can look up the listening socket via
bpf_skc_lookup_tcp and then check whether a packet is a valid SYN
cookie ACK.

Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
include/uapi/linux/bpf.h
net/core/filter.c