OSDN Git Service

bpf: btf: Add BTF support to libbpf
authorMartin KaFai Lau <kafai@fb.com>
Wed, 18 Apr 2018 22:56:05 +0000 (15:56 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Thu, 19 Apr 2018 19:46:25 +0000 (21:46 +0200)
commit8a138aed4a807ceb143882fb23a423d524dcdb35
tree27dcccc69aefb72be5e5bb615847173c0eb290d7
parent3bd86a8409fc5a87ea415087b0c30ab42818e7c8
bpf: btf: Add BTF support to libbpf

If the ".BTF" elf section exists, libbpf will try to create
a btf_fd (through BPF_BTF_LOAD).  If that fails, it will still
continue loading the bpf prog/map without the BTF.

If the bpf_object has a BTF loaded, it will create a map with the btf_fd.
libbpf will try to figure out the btf_key_id and btf_value_id of a map by
finding the BTF type with name "<map_name>_key" and "<map_name>_value".
If they cannot be found, it will continue without using the BTF.

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: Alexei Starovoitov <ast@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/lib/bpf/Build
tools/lib/bpf/bpf.c
tools/lib/bpf/bpf.h
tools/lib/bpf/btf.c [new file with mode: 0644]
tools/lib/bpf/btf.h [new file with mode: 0644]
tools/lib/bpf/libbpf.c
tools/lib/bpf/libbpf.h