From: Alexei Starovoitov Date: Fri, 22 Mar 2019 01:59:11 +0000 (-0700) Subject: Merge branch 'bpf_tcp_check_syncookie' X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2569473816a9ade34c2ba051118337b2d69007df;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'bpf_tcp_check_syncookie' Lorenz Bauer says: ==================== This series adds the necessary helpers to determine wheter a given (encapsulated) TCP packet belongs to a connection known to the network stack. * bpf_skc_lookup_tcp gives access to request and timewait sockets * bpf_tcp_check_syncookie identifies the final 3WHS ACK when syncookies are enabled The goal is to be able to implement load-balancing approaches like glb-director [1] or Beamer [2] in pure eBPF. Specifically, we'd like to replace the functionality of the glb-redirect kernel module [3] by an XDP program or tc classifier. Changes in v3: * Fix missing check for ip4->ihl * Only cast to unsigned long in BPF_CALLs Changes in v2: * Rename bpf_sk_check_syncookie to bpf_tcp_check_syncookie. * Add bpf_skc_lookup_tcp. Without it bpf_tcp_check_syncookie doesn't make sense. * Check tcp_synq_no_recent_overflow() in bpf_tcp_check_syncookie. * Check th->syn in bpf_tcp_check_syncookie. * Require CONFIG_IPV6 to be a built in. 1: https://github.com/github/glb-director 2: https://www.usenix.org/conference/nsdi18/presentation/olteanu 3: https://github.com/github/glb-director/tree/master/src/glb-redirect ==================== Signed-off-by: Alexei Starovoitov --- 2569473816a9ade34c2ba051118337b2d69007df