netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Lorenz Bauer <lmb@cloudflare.com>,
	john.fastabend@gmail.com, Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>
Cc: kernel-team@cloudflare.com, Lorenz Bauer <lmb@cloudflare.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org
Subject: RE: [PATCH bpf-next v3 00/12] bpf: sockmap, sockhash: support storing UDP sockets
Date: Fri, 06 Mar 2020 07:45:44 -0800	[thread overview]
Message-ID: <5e627028b606b_17502acca07205b440@john-XPS-13-9370.notmuch> (raw)
In-Reply-To: <20200304101318.5225-1-lmb@cloudflare.com>

Lorenz Bauer wrote:
> Thanks to Jakub's suggestion I was able to eliminate sk_psock_hooks!
> Now TCP and UDP only need to export a single function get_proto,
> which is called from the sockmap code. This reduced the amount of
> boilerplate a bit. The downside is that the IPv6 proto rebuild is
> copied and pasted from TCP, but I think I can live with that.
> 
> Changes since v2:
> - Remove sk_psock_hooks based on Jakub's idea
> - Fix reference to tcp_bpf_clone in commit message
> - Add inet_csk_has_ulp helper
> 
> Changes since v1:
> - Check newsk->sk_prot in tcp_bpf_clone
> - Fix compilation with BPF_STREAM_PARSER disabled
> - Use spin_lock_init instead of static initializer
> - Elaborate on TCPF_SYN_RECV
> - Cosmetic changes to TEST macros, and more tests
> - Add Jakub and me as maintainers
> 
> Jakub Sitnicki (2):
>   bpf: add sockmap hooks for UDP sockets
>   bpf: sockmap: add UDP support
> 
> Lorenz Bauer (10):
>   bpf: sockmap: only check ULP for TCP sockets
>   skmsg: update saved hooks only once
>   bpf: tcp: move assertions into tcp_bpf_get_proto
>   bpf: tcp: guard declarations with CONFIG_NET_SOCK_MSG
>   bpf: sockmap: move generic sockmap hooks from BPF TCP
>   bpf: sockmap: simplify sock_map_init_proto
>   selftests: bpf: don't listen() on UDP sockets
>   selftests: bpf: add tests for UDP sockets in sockmap
>   selftests: bpf: enable UDP sockmap reuseport tests
>   bpf, doc: update maintainers for L7 BPF
> 
>  MAINTAINERS                                   |   3 +
>  include/linux/bpf.h                           |   4 +-
>  include/linux/skmsg.h                         |  56 ++---
>  include/net/tcp.h                             |  20 +-
>  include/net/udp.h                             |   5 +
>  net/core/sock_map.c                           | 158 +++++++++++---
>  net/ipv4/Makefile                             |   1 +
>  net/ipv4/tcp_bpf.c                            | 114 ++--------
>  net/ipv4/udp_bpf.c                            |  53 +++++
>  .../bpf/prog_tests/select_reuseport.c         |   6 -
>  .../selftests/bpf/prog_tests/sockmap_listen.c | 204 +++++++++++++-----
>  11 files changed, 399 insertions(+), 225 deletions(-)
>  create mode 100644 net/ipv4/udp_bpf.c
> 
> -- 
> 2.20.1
> 

Nice series thanks for doing this. I'll drop it into some Cilium CI just
to be sure everything on the sockmap/ktls side is still working but
looks good to me.

I'll try to add send bpf hooks here shortly as well so we get the sendmsg
bpf progs running here as well.

Thanks,
John

      parent reply	other threads:[~2020-03-06 15:45 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-04 10:13 [PATCH bpf-next v3 00/12] bpf: sockmap, sockhash: support storing UDP sockets Lorenz Bauer
2020-03-04 10:13 ` [PATCH bpf-next v3 01/12] bpf: sockmap: only check ULP for TCP sockets Lorenz Bauer
2020-03-05 12:00   ` Jakub Sitnicki
2020-03-06 14:56   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 02/12] skmsg: update saved hooks only once Lorenz Bauer
2020-03-05 12:03   ` Jakub Sitnicki
2020-03-06 15:00   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 03/12] bpf: tcp: move assertions into tcp_bpf_get_proto Lorenz Bauer
2020-03-05 12:10   ` Jakub Sitnicki
2020-03-06 15:25   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 04/12] bpf: tcp: guard declarations with CONFIG_NET_SOCK_MSG Lorenz Bauer
2020-03-05 12:14   ` Jakub Sitnicki
2020-03-04 10:13 ` [PATCH bpf-next v3 05/12] bpf: sockmap: move generic sockmap hooks from BPF TCP Lorenz Bauer
2020-03-05 12:32   ` Jakub Sitnicki
2020-03-06 15:28   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 06/12] bpf: sockmap: simplify sock_map_init_proto Lorenz Bauer
2020-03-05 12:39   ` Jakub Sitnicki
2020-03-06 15:29   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 07/12] bpf: add sockmap hooks for UDP sockets Lorenz Bauer
2020-03-06 15:44   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 08/12] bpf: sockmap: add UDP support Lorenz Bauer
2020-03-06 15:31   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 09/12] selftests: bpf: don't listen() on UDP sockets Lorenz Bauer
2020-03-05 12:53   ` Jakub Sitnicki
2020-03-06 15:36   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 10/12] selftests: bpf: add tests for UDP sockets in sockmap Lorenz Bauer
2020-03-06 15:38   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 11/12] selftests: bpf: enable UDP sockmap reuseport tests Lorenz Bauer
2020-03-05 12:56   ` Jakub Sitnicki
2020-03-06 15:39   ` John Fastabend
2020-03-04 10:13 ` [PATCH bpf-next v3 12/12] bpf, doc: update maintainers for L7 BPF Lorenz Bauer
2020-03-05 12:58   ` Jakub Sitnicki
2020-03-05 12:59 ` [PATCH bpf-next v3 00/12] bpf: sockmap, sockhash: support storing UDP sockets Jakub Sitnicki
2020-03-06 15:45 ` John Fastabend [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e627028b606b_17502acca07205b440@john-XPS-13-9370.notmuch \
    --to=john.fastabend@gmail.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=kernel-team@cloudflare.com \
    --cc=lmb@cloudflare.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).