"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.
Changelogs:
v2 -> v3:
. remove extra '\t' when fdinfo prints map_id to make parsing
consistent. (Andrii)
v1 -> v2:
. fix checkpatch.pl warnings. (Jakub)
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