bpf: sockmap redirect ingress support
Add support for the BPF_F_INGRESS flag in sk_msg redirect helper. To do this add a scatterlist ring for receiving socks to check before calling into regular recvmsg call path. Additionally, because the poll wakeup logic only checked the skb recv queue we need to add a hook in TCP stack (similar to write side) so that we have a way to wake up polling socks when a scatterlist is redirected to that sock. After this all that is needed is for the redirect helper to push the scatterlist into the psock receive queue. Signed-off-by:John Fastabend <john.fastabend@gmail.com> Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net>
Showing
- include/linux/filter.h 1 addition, 0 deletionsinclude/linux/filter.h
- include/net/sock.h 1 addition, 0 deletionsinclude/net/sock.h
- kernel/bpf/sockmap.c 195 additions, 3 deletionskernel/bpf/sockmap.c
- net/core/filter.c 1 addition, 1 deletionnet/core/filter.c
- net/ipv4/tcp.c 9 additions, 1 deletionnet/ipv4/tcp.c
Loading
Please register or sign in to comment