"link" has been an important concept for bpf ecosystem to connect bpf program with other properties. Currently, the information related information can be queried from userspace through bpf command BPF_LINK_GET_NEXT_ID, BPF_LINK_GET_FD_BY_ID and BPF_OBJ_GET_INFO_BY_FD. The information is also available by "cating" /proc/<pid>/fdinfo/<link_fd>. Raw_tracepoint, tracing, cgroup, netns and xdp links are already supported in the kernel and bpftool. This patch added support for bpf iterator. Patch #1 added generic support for link querying interface. Patch #2 implemented callback functions for map element bpf iterators. Patch #3 added bpftool support. Yonghong Song (3): bpf: implement link_query for bpf iterators bpf: implement link_query callbacks in map element iterators bpftool: implement link_query for bpf iterators include/linux/bpf.h | 10 ++++++ include/uapi/linux/bpf.h | 7 ++++ kernel/bpf/bpf_iter.c | 58 ++++++++++++++++++++++++++++++++++ kernel/bpf/map_iter.c | 15 +++++++++ net/core/bpf_sk_storage.c | 2 ++ tools/bpf/bpftool/link.c | 44 ++++++++++++++++++++++++-- tools/include/uapi/linux/bpf.h | 7 ++++ 7 files changed, 140 insertions(+), 3 deletions(-) -- 2.24.1