libbpf: Add runtime APIs to query libbpf version
authorAndrii Nakryiko <andrii@kernel.org>
Thu, 18 Nov 2021 17:40:54 +0000 (09:40 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 19 Nov 2021 15:25:57 +0000 (16:25 +0100)
commit7615209f42a1976894cd0df97a380a034911656a
tree2a5a95cc540a4112ea58b86157352160680d11c2
parent29ad850a5cae84757bcd4c60e0d74232ef8c5157
libbpf: Add runtime APIs to query libbpf version

Libbpf provided LIBBPF_MAJOR_VERSION and LIBBPF_MINOR_VERSION macros to
check libbpf version at compilation time. This doesn't cover all the
needs, though, because version of libbpf that application is compiled
against doesn't necessarily match the version of libbpf at runtime,
especially if libbpf is used as a shared library.

Add libbpf_major_version() and libbpf_minor_version() returning major
and minor versions, respectively, as integers. Also add a convenience
libbpf_version_string() for various tooling using libbpf to print out
libbpf version in a human-readable form. Currently it will return
"v0.6", but in the future it can contains some extra information, so the
format itself is not part of a stable API and shouldn't be relied upon.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Toke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20211118174054.2699477-1-andrii@kernel.org
tools/lib/bpf/libbpf.c
tools/lib/bpf/libbpf.h
tools/lib/bpf/libbpf.map