aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/bpf/libbpf.map
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2019-02-04 11:00:58 -0800
committerAlexei Starovoitov <ast@kernel.org>2019-02-04 12:48:36 -0800
commit96408c43447aff5091a6938f29d8b6f2d0aa2064 (patch)
treee59397b34c18fbca196e149502381e4efa1ad31c /tools/lib/bpf/libbpf.map
parenttools/bpf: expose functions btf_ext__* as API functions (diff)
downloadlinux-dev-96408c43447aff5091a6938f29d8b6f2d0aa2064.tar.xz
linux-dev-96408c43447aff5091a6938f29d8b6f2d0aa2064.zip
tools/bpf: implement libbpf btf__get_map_kv_tids() API function
Currently, to get map key/value type id's, the macro BPF_ANNOTATE_KV_PAIR(<map_name>, <key_type>, <value_type>) needs to be defined in the bpf program for the corresponding map. During program/map loading time, the local static function bpf_map_find_btf_info() in libbpf.c is implemented to retrieve the key/value type ids given the map name. The patch refactored function bpf_map_find_btf_info() to create an API btf__get_map_kv_tids() which includes the bulk of implementation for the original function. The API btf__get_map_kv_tids() can be used by bcc, a JIT based bpf compilation system, which uses the same BPF_ANNOTATE_KV_PAIR to record map key/value types. Acked-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to '')
-rw-r--r--tools/lib/bpf/libbpf.map1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map
index 46441c5f030b..7990e857e003 100644
--- a/tools/lib/bpf/libbpf.map
+++ b/tools/lib/bpf/libbpf.map
@@ -133,6 +133,7 @@ LIBBPF_0.0.2 {
bpf_map_lookup_elem_flags;
bpf_object__find_map_fd_by_name;
bpf_get_link_xdp_id;
+ btf__get_map_kv_tids;
btf_ext__free;
btf_ext__func_info_rec_size;
btf_ext__line_info_rec_size;