[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200724051159.xyuunt2xbskgxpsg@ast-mbp.dhcp.thefacebook.com>
Date: Thu, 23 Jul 2020 22:11:59 -0700
From: Alexei Starovoitov <alexei.starovoitov@...il.com>
To: Yonghong Song <yhs@...com>
Cc: bpf@...r.kernel.org, netdev@...r.kernel.org,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, kernel-team@...com,
Martin KaFai Lau <kafai@...com>
Subject: Re: [PATCH bpf-next v4 00/13] bpf: implement bpf iterator for map
elements
On Thu, Jul 23, 2020 at 11:41:08AM -0700, Yonghong Song wrote:
> Bpf iterator has been implemented for task, task_file,
> bpf_map, ipv6_route, netlink, tcp and udp so far.
>
> For map elements, there are two ways to traverse all elements from
> user space:
> 1. using BPF_MAP_GET_NEXT_KEY bpf subcommand to get elements
> one by one.
> 2. using BPF_MAP_LOOKUP_BATCH bpf subcommand to get a batch of
> elements.
> Both these approaches need to copy data from kernel to user space
> in order to do inspection.
>
> This patch implements bpf iterator for map elements.
> User can have a bpf program in kernel to run with each map element,
> do checking, filtering, aggregation, modifying values etc.
> without copying data to user space.
>
> Patch #1 and #2 are refactoring. Patch #3 implements readonly/readwrite
> buffer support in verifier. Patches #4 - #7 implements map element
> support for hash, percpu hash, lru hash lru percpu hash, array,
> percpu array and sock local storage maps. Patches #8 - #9 are libbpf
> and bpftool support. Patches #10 - #13 are selftests for implemented
> map element iterators.
>
> Changelogs:
> v3 -> v4:
> . fix a kasan failure triggered by a failed bpf_iter link_create,
> not just free_link but need cleanup_link. (Alexei)
Applied, Thanks
Powered by blists - more mailing lists