OSDN Git Service

libbpf: Add names for auxiliary maps
authorHangbin Liu <liuhangbin@gmail.com>
Thu, 11 Aug 2022 03:40:20 +0000 (11:40 +0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 11 Aug 2022 22:12:38 +0000 (15:12 -0700)
commit10b62d6a38f7c92e9f41983bb7d7669c9fa6e287
treee5de5dd59246a3b1d516fc94b79b316bc2043e4c
parent73cf09a36bf7bfb3e5a3ff23755c36d49137c44d
libbpf: Add names for auxiliary maps

The bpftool self-created maps can appear in final map show output due to
deferred removal in kernel. These maps don't have a name, which would make
users confused about where it comes from.

With a libbpf_ prefix name, users could know who created these maps.
It also could make some tests (like test_offload.py, which skip base maps
without names as a workaround) filter them out.

Kernel adds bpf prog/map name support in the same merge
commit fadad670a8ab ("Merge branch 'bpf-extend-info'"). So we can also use
kernel_supports(NULL, FEAT_PROG_NAME) to check if kernel supports map name.

As discussed [1], Let's make bpf_map_create accept non-null
name string, and silently ignore the name if kernel doesn't support.

  [1] https://lore.kernel.org/bpf/CAEf4BzYL1TQwo1231s83pjTdFPk9XWWhfZC5=KzkU-VO0k=0Ug@mail.gmail.com/

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220811034020.529685-1-liuhangbin@gmail.com
tools/lib/bpf/bpf.c
tools/lib/bpf/libbpf.c