mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-22 19:03:28 +07:00
96408c4344
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>
144 lines
3.2 KiB
Plaintext
144 lines
3.2 KiB
Plaintext
LIBBPF_0.0.1 {
|
|
global:
|
|
bpf_btf_get_fd_by_id;
|
|
bpf_create_map;
|
|
bpf_create_map_in_map;
|
|
bpf_create_map_in_map_node;
|
|
bpf_create_map_name;
|
|
bpf_create_map_node;
|
|
bpf_create_map_xattr;
|
|
bpf_load_btf;
|
|
bpf_load_program;
|
|
bpf_load_program_xattr;
|
|
bpf_map__btf_key_type_id;
|
|
bpf_map__btf_value_type_id;
|
|
bpf_map__def;
|
|
bpf_map__fd;
|
|
bpf_map__is_offload_neutral;
|
|
bpf_map__name;
|
|
bpf_map__next;
|
|
bpf_map__pin;
|
|
bpf_map__prev;
|
|
bpf_map__priv;
|
|
bpf_map__reuse_fd;
|
|
bpf_map__set_ifindex;
|
|
bpf_map__set_inner_map_fd;
|
|
bpf_map__set_priv;
|
|
bpf_map__unpin;
|
|
bpf_map_delete_elem;
|
|
bpf_map_get_fd_by_id;
|
|
bpf_map_get_next_id;
|
|
bpf_map_get_next_key;
|
|
bpf_map_lookup_and_delete_elem;
|
|
bpf_map_lookup_elem;
|
|
bpf_map_update_elem;
|
|
bpf_obj_get;
|
|
bpf_obj_get_info_by_fd;
|
|
bpf_obj_pin;
|
|
bpf_object__btf_fd;
|
|
bpf_object__close;
|
|
bpf_object__find_map_by_name;
|
|
bpf_object__find_map_by_offset;
|
|
bpf_object__find_program_by_title;
|
|
bpf_object__kversion;
|
|
bpf_object__load;
|
|
bpf_object__name;
|
|
bpf_object__next;
|
|
bpf_object__open;
|
|
bpf_object__open_buffer;
|
|
bpf_object__open_xattr;
|
|
bpf_object__pin;
|
|
bpf_object__pin_maps;
|
|
bpf_object__pin_programs;
|
|
bpf_object__priv;
|
|
bpf_object__set_priv;
|
|
bpf_object__unload;
|
|
bpf_object__unpin_maps;
|
|
bpf_object__unpin_programs;
|
|
bpf_perf_event_read_simple;
|
|
bpf_prog_attach;
|
|
bpf_prog_detach;
|
|
bpf_prog_detach2;
|
|
bpf_prog_get_fd_by_id;
|
|
bpf_prog_get_next_id;
|
|
bpf_prog_load;
|
|
bpf_prog_load_xattr;
|
|
bpf_prog_query;
|
|
bpf_prog_test_run;
|
|
bpf_prog_test_run_xattr;
|
|
bpf_program__fd;
|
|
bpf_program__is_kprobe;
|
|
bpf_program__is_perf_event;
|
|
bpf_program__is_raw_tracepoint;
|
|
bpf_program__is_sched_act;
|
|
bpf_program__is_sched_cls;
|
|
bpf_program__is_socket_filter;
|
|
bpf_program__is_tracepoint;
|
|
bpf_program__is_xdp;
|
|
bpf_program__load;
|
|
bpf_program__next;
|
|
bpf_program__nth_fd;
|
|
bpf_program__pin;
|
|
bpf_program__pin_instance;
|
|
bpf_program__prev;
|
|
bpf_program__priv;
|
|
bpf_program__set_expected_attach_type;
|
|
bpf_program__set_ifindex;
|
|
bpf_program__set_kprobe;
|
|
bpf_program__set_perf_event;
|
|
bpf_program__set_prep;
|
|
bpf_program__set_priv;
|
|
bpf_program__set_raw_tracepoint;
|
|
bpf_program__set_sched_act;
|
|
bpf_program__set_sched_cls;
|
|
bpf_program__set_socket_filter;
|
|
bpf_program__set_tracepoint;
|
|
bpf_program__set_type;
|
|
bpf_program__set_xdp;
|
|
bpf_program__title;
|
|
bpf_program__unload;
|
|
bpf_program__unpin;
|
|
bpf_program__unpin_instance;
|
|
bpf_prog_linfo__free;
|
|
bpf_prog_linfo__new;
|
|
bpf_prog_linfo__lfind_addr_func;
|
|
bpf_prog_linfo__lfind;
|
|
bpf_raw_tracepoint_open;
|
|
bpf_set_link_xdp_fd;
|
|
bpf_task_fd_query;
|
|
bpf_verify_program;
|
|
btf__fd;
|
|
btf__find_by_name;
|
|
btf__free;
|
|
btf__get_from_id;
|
|
btf__name_by_offset;
|
|
btf__new;
|
|
btf__resolve_size;
|
|
btf__resolve_type;
|
|
btf__type_by_id;
|
|
libbpf_attach_type_by_name;
|
|
libbpf_get_error;
|
|
libbpf_prog_type_by_name;
|
|
libbpf_set_print;
|
|
libbpf_strerror;
|
|
local:
|
|
*;
|
|
};
|
|
|
|
LIBBPF_0.0.2 {
|
|
global:
|
|
bpf_probe_helper;
|
|
bpf_probe_map_type;
|
|
bpf_probe_prog_type;
|
|
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;
|
|
btf_ext__new;
|
|
btf_ext__reloc_func_info;
|
|
btf_ext__reloc_line_info;
|
|
} LIBBPF_0.0.1;
|