For a quick overview in 'bpftool map' display 'btf' if it's available for the dump for a specific map:
# bpftool map list 11: array flags 0x0 btf key 4B value 20B max_entries 40 memlock 4096B # bpftool --json --pretty map list [{ "id": 11, "type": "array", "flags": 0, "btf_available": true, "bytes_key": 4, "bytes_value": 20, "max_entries": 40, "bytes_memlock": 4096 } ] Signed-off-by: Daniel Borkmann <dan...@iogearbox.net> --- tools/bpf/bpftool/map.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c index 9c81918..2cc4741 100644 --- a/tools/bpf/bpftool/map.c +++ b/tools/bpf/bpftool/map.c @@ -490,6 +490,8 @@ static int show_map_close_json(int fd, struct bpf_map_info *info) jsonw_name(json_wtr, "flags"); jsonw_printf(json_wtr, "%d", info->map_flags); + jsonw_name(json_wtr, "btf_available"); + jsonw_bool(json_wtr, info->btf_key_type_id && info->btf_value_type_id); print_dev_json(info->ifindex, info->netns_dev, info->netns_ino); @@ -535,6 +537,8 @@ static int show_map_close_plain(int fd, struct bpf_map_info *info) printf("name %s ", info->name); printf("flags 0x%x", info->map_flags); + if (info->btf_key_type_id && info->btf_value_type_id) + printf(" btf"); print_dev_plain(info->ifindex, info->netns_dev, info->netns_ino); printf("\n"); printf("\tkey %uB value %uB max_entries %u", -- 2.9.5