commit | 476e158b07ea5f36f4475735330c1152ffe15acc | [log] [tgz] |
---|---|---|
author | Yonghong Song <yhs@fb.com> | Sat Aug 24 10:46:18 2019 -0700 |
committer | yonghong-song <ys114321@gmail.com> | Tue Aug 27 13:58:15 2019 -0700 |
tree | 9b52a1b651f85068b35560cf79304a9a3978c2f2 | |
parent | 13e1ee420e95de69486da56c0bfb4d281e63fad3 [diff] |
sync: latest libbpf changes from kernel Syncing latest libbpf commits from kernel repository. Baseline bpf-next commit: b753c5a7f99f390fc100de18647ce0dcacdceafc Checkpoint bpf-next commit: 0bb52b0dfc88a155688f492aba8e686147600278 Baseline bpf commit: 91b4db5313a2c793aabc2143efb8ed0cf0fdd097 Checkpoint bpf commit: 2c238177bd7f4b14bdf7447cc1cd9bb791f147e6 Andrii Nakryiko (1): libbpf: make libbpf.map source of truth for libbpf version Ivan Khoronzhuk (1): libbpf: use LFS (_FILE_OFFSET_BITS) instead of direct mmap2 syscall Magnus Karlsson (1): libbpf: add support for need_wakeup flag in AF_XDP part Peter Wu (1): bpf: sync bpf.h to tools/ Quentin Monnet (3): tools: bpf: synchronise BPF UAPI header with tools libbpf: refactor bpf_*_get_next_id() functions libbpf: add bpf_btf_get_next_id() to cycle through BTF objects Stanislav Fomichev (1): bpf: sync bpf.h to tools/ include/uapi/linux/bpf.h | 12 ++++++--- include/uapi/linux/if_xdp.h | 13 +++++++++ src/bpf.c | 24 ++++++++--------- src/bpf.h | 1 + src/libbpf.map | 5 ++++ src/xsk.c | 53 +++++++++++++------------------------ src/xsk.h | 6 +++++ 7 files changed, 64 insertions(+), 50 deletions(-) -- 2.17.1
This is a mirror of bpf-next linux tree's tools/lib/bpf
directory plus its supporting header files.
The following files will by sync'ed with bpf-next repo:
src/
<-> bpf-next/tools/lib/bpf/
include/uapi/linux/bpf_common.h
<-> bpf-next/tools/include/uapi/linux/bpf_common.h
include/uapi/linux/bpf.h
<-> bpf-next/tools/include/uapi/linux/bpf.h
include/uapi/linux/btf.h
<-> bpf-next/tools/include/uapi/linux/btf.h
include/uapi/linux/if_link.h
<-> bpf-next/tools/include/uapi/linux/if_link.h
include/uapi/linux/if_xdp.h
<-> bpf-next/tools/include/uapi/linux/if_xdp.h
include/uapi/linux/netlink.h
<-> bpf-next/tools/include/uapi/linux/netlink.h
include/tools/libc_compat.h
<-> bpf-next/tools/include/tools/libc_compat.h
Other header files at this repo (include/linux/*.h
) are reduced versions of their counterpart files at bpf-next's tools/include/linux/*.h
to make compilation successful.
libelf is an internal dependency of libbpf and thus it is required to link against and must be installed on the system for applications to work. pkg-config is used by default to find libelf, and the program called can be overridden with PKG_CONFIG
. If using pkg-config
at build time is not desired, it can be disabled by setting NO_PKG_CONFIG=1
when calling make.
To build both static libbpf.a and shared libbpf.so:
$ cd src
$ make
To build only static libbpf.a library in directory build/ and install them together with libbpf headers in a staging directory root/:
$ cd src $ mkdir build root $ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
To build both static libbpf.a and shared libbpf.so against a custom libelf dependency installed in /build/root/ and install them together with libbpf headers in a build directory /build/root/:
$ cd src $ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install
To integrate libbpf into a project which uses Meson building system define [wrap-git]
file in subprojects
folder. To add libbpf dependency to the parent parent project, e.g. for libbpf_static_dep:
libbpf_obj = subproject('libbpf', required : true) libbpf_static_dep = libbpf_proj.get_variable('libbpf_static_dep')
To validate changes to meson.build
$ python3 meson.py build $ ninja -C build/
To install headers, libs and pkgconfig
$ cd build
$ ninja install