commit | 90941cde5ff2a8818ddd8a55faf778d6c3c29008 | [log] [tgz] |
---|---|---|
author | Andrii Nakryiko <andriin@fb.com> | Tue May 19 16:06:54 2020 -0700 |
committer | Andrii Nakryiko <andrii.nakryiko@gmail.com> | Wed May 20 01:00:06 2020 -0700 |
tree | acd75c9bc0e246e1dd70f22c062d4641374e7ffa | |
parent | 97a0d1e7b50e1e43690e778747a13a257df62282 [diff] |
sync: latest libbpf changes from kernel Syncing latest libbpf commits from kernel repository. Baseline bpf-next commit: c321022244708aec4675de4f032ef1ba9ff0c640 Checkpoint bpf-next commit: dda18a5c0b75461d1ed228f80b59c67434b8d601 Baseline bpf commit: 7f645462ca01d01abb94d75e6768c8b3ed3a188b Checkpoint bpf commit: f85c1598ddfe83f61d0656bd1d2025fa3b148b99 Alexei Starovoitov (1): tools/bpf: sync bpf.h Andrey Ignatov (2): bpf: Support narrow loads from bpf_sock_addr.user_port bpf: Introduce bpf_sk_{, ancestor_}cgroup_id helpers Daniel Borkmann (2): bpf: Add get{peer, sock}name attach types for sock_addr bpf, libbpf: Enable get{peer, sock}name attach types Eelco Chaudron (1): libbpf: Fix probe code to return EPERM if encountered Gustavo A. R. Silva (1): bpf, libbpf: Replace zero-length array with flexible-array Horatiu Vultur (1): net: bridge: Add port attribute IFLA_BRPORT_MRP_RING_OPEN Ian Rogers (2): libbpf, hashmap: Remove unused #include libbpf, hashmap: Fix signedness warnings Quentin Monnet (1): tools, bpf: Synchronise BPF UAPI header with tools Song Liu (2): bpf: Sharing bpf runtime stats with BPF_ENABLE_STATS libbpf: Add support for command BPF_ENABLE_STATS Stanislav Fomichev (2): bpf: Bpf_{g,s}etsockopt for struct bpf_sock_addr bpf: Allow any port in bpf_bind helper Sumanth Korikkar (1): libbpf: Fix register naming in PT_REGS s390 macros Yonghong Song (7): bpf: Allow loading of a bpf_iter program bpf: Support bpf tracing/iter programs for BPF_LINK_CREATE bpf: Create anonymous bpf iterator bpf: Add bpf_seq_printf and bpf_seq_write helpers tools/libbpf: Add bpf_iter support tools/libpf: Add offsetof/container_of macro in bpf_helpers.h bpf: Change btf_iter func proto prefix to "bpf_iter_" include/uapi/linux/bpf.h | 208 +++++++++++++++++++++++++++-------- include/uapi/linux/if_link.h | 1 + src/bpf.c | 20 ++++ src/bpf.h | 3 + src/bpf_helpers.h | 14 +++ src/bpf_tracing.h | 20 +++- src/hashmap.c | 5 +- src/hashmap.h | 1 - src/libbpf.c | 98 +++++++++++++++-- src/libbpf.h | 9 ++ src/libbpf.map | 3 + src/libbpf_internal.h | 2 +- 12 files changed, 322 insertions(+), 62 deletions(-) -- 2.24.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
Distributions packaging libbpf from this mirror:
Benefits of packaging from the mirror over packaging from kernel sources:
Package dependencies of libbpf, package names may vary across distros:
This work is dual-licensed under BSD 2-clause license and GNU LGPL v2.1 license. You can choose between one of them if you use this work.
SPDX-License-Identifier: BSD-2-Clause OR LGPL-2.1