udp: Run SK_LOOKUP BPF program on socket lookup
authorJakub Sitnicki <jakub@cloudflare.com>
Fri, 17 Jul 2020 10:35:29 +0000 (12:35 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 18 Jul 2020 03:18:17 +0000 (20:18 -0700)
commit72f7e9440e9bd06f855b21eba09c1017395f430a
treea2ab9be2f9bd1d0ca8e1f495e6a558f7fd5b21ec
parent7629c73a1466ec2348e9f64c874c19bf13f35f4c
udp: Run SK_LOOKUP BPF program on socket lookup

Following INET/TCP socket lookup changes, modify UDP socket lookup to let
BPF program select a receiving socket before searching for a socket by
destination address and port as usual.

Lookup of connected sockets that match packet 4-tuple is unaffected by this
change. BPF program runs, and potentially overrides the lookup result, only
if a 4-tuple match was not found.

Suggested-by: Marek Majkowski <marek@cloudflare.com>
Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200717103536.397595-9-jakub@cloudflare.com
net/ipv4/udp.c