On 2017/1/19 7:57, Joe Stringer wrote:
Patch 1 fixes an issue when using drastically different BPF map definitions inside ELFs from a client using libbpf, vs the map definition libbpf uses. Patch 2 is a trivial typo fix. Patches 3-5 add some simple, useful helper functions for setting prog type and retrieving libbpf errors without depending on kernel headers from userspace programs. Patch 6 adds a new pinning functionality for an entire object. Calling bpf_object__pin(obj, subpath) will mount all programs from the BPF object to $bpf_fs_path/$subpath/progs/$progname, and all maps from the BPF object to $bpf_fs_path/$subpath/maps/$mapname. The first program with a particular name will be mounted with its progname and the suffix "_0"; subsequent programs with the same will have "_1", and so on; duplicate maps with the same name are disallowed. Joe Stringer (6): tools lib bpf: Fix map offsets in relocation tools lib bpf: Fix grammar in map_idx warning tools lib bpf: Define prog_type fns with macro tools lib bpf: Add set/is helpers for all prog types tools lib bpf: Add libbpf_get_error() tools lib bpf: Add bpf_object__pin() tools/lib/bpf/libbpf.c | 197 +++++++++++++++++++++++++++++++++++++++++------- tools/lib/bpf/libbpf.h | 15 +++- tools/perf/tests/llvm.c | 2 +- 3 files changed, 185 insertions(+), 29 deletions(-)
For patch 3,4 and 5: Acked-by: Wang Nan <wangn...@huawei.com> See my comment to commits 1, 2 and 6. Thank you.