[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9b9f413c-fa55-2fd9-a6d8-12e434a2b603@iogearbox.net>
Date: Mon, 29 Jun 2020 16:56:55 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: Jakub Sitnicki <jakub@...udflare.com>, bpf@...r.kernel.org
Cc: netdev@...r.kernel.org, kernel-team@...udflare.com,
Andrii Nakryiko <andrii.nakryiko@...il.com>,
Stanislav Fomichev <sdf@...gle.com>
Subject: Re: [PATCH bpf-next v2 0/3] bpf, netns: Prepare for multi-prog
attachment
On 6/23/20 12:34 PM, Jakub Sitnicki wrote:
> This patch set prepares ground for link-based multi-prog attachment for
> future netns attach types, with BPF_SK_LOOKUP attach type in mind [0].
>
> Two changes are needed in order to attach and run a series of BPF programs:
>
> 1) an bpf_prog_array of programs to run (patch #2), and
> 2) a list of attached links to keep track of attachments (patch #3).
>
> I've been using these patches with the next iteration of BPF socket lookup
> hook patches, and saw that they are self-contained and can be split out to
> ease the review burden.
>
> Nothing changes for BPF flow_dissector. That is at most one prog can be
> attached.
>
> Thanks,
> -jkbs
>
> [0] https://lore.kernel.org/bpf/20200511185218.1422406-1-jakub@cloudflare.com/
>
> Cc: Andrii Nakryiko <andrii.nakryiko@...il.com>
> Cc: Stanislav Fomichev <sdf@...gle.com>
>
> v1 -> v2:
>
> - Show with a (void) cast that bpf_prog_array_replace_item() return value
> is ignored on purpose. (Andrii)
> - Explain why bpf-cgroup cannot replace programs in bpf_prog_array based
> on bpf_prog pointer comparison in patch #2 description. (Andrii)
>
> Jakub Sitnicki (3):
> flow_dissector: Pull BPF program assignment up to bpf-netns
> bpf, netns: Keep attached programs in bpf_prog_array
> bpf, netns: Keep a list of attached bpf_link's
>
> include/linux/bpf.h | 3 +
> include/net/flow_dissector.h | 3 +-
> include/net/netns/bpf.h | 7 +-
> kernel/bpf/core.c | 20 +++-
> kernel/bpf/net_namespace.c | 189 +++++++++++++++++++++++++----------
> net/core/flow_dissector.c | 34 +++----
> 6 files changed, 173 insertions(+), 83 deletions(-)
>
Applied, thanks!
Powered by blists - more mailing lists