Hi David, The following pull-request contains BPF updates for your *net-next* tree.
The main changes are: 1) Add a riscv64 JIT for BPF, from Björn. 2) Implement BTF deduplication algorithm for libbpf which takes BTF type information containing duplicate per-compilation unit information and reduces it to an equivalent set of BTF types with no duplication and without loss of information, from Andrii. 3) Offloaded and native BPF XDP programs can coexist today, enable also offloaded and generic ones as well, from Jakub. 4) Expose various BTF related helper functions in libbpf as API which are in particular helpful for JITed programs, from Yonghong. 5) Fix the recently added JMP32 code emission in s390x JIT, from Heiko. 6) Fix BPF kselftests' tcp_{server,client}.py to be able to run inside a network namespace, also add a fix for libbpf to get libbpf_print() working, from Stanislav. 7) Fixes for bpftool documentation, from Prashant. 8) Type cleanup in BPF kselftests' test_maps.c to silence a gcc8 warning, from Breno. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git Thanks a lot! ---------------------------------------------------------------- The following changes since commit cc7335786f7278d66bdcf96d3d411edfcb01be51: socket: fix for Add SO_TIMESTAMP[NS]_NEW (2019-02-03 20:36:11 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git for you to fetch changes up to dd9cef43c222df7c0d76d34451808e789952379d: bpf: test_maps: fix possible out of bound access warning (2019-02-06 15:48:43 +0100) ---------------------------------------------------------------- Alexei Starovoitov (2): Merge branch 'change-libbpf-print-api' Merge branch 'libbpf-btf_ext' Andrii Nakryiko (3): btf: extract BTF type size calculation btf: add BTF types deduplication algorithm selftests/btf: add initial BTF dedup tests Björn Töpel (4): bpf, riscv: add BPF JIT for RV64G MAINTAINERS: add RISC-V BPF JIT maintainer bpf, doc: add RISC-V JIT to BPF documentation selftests/bpf: add "any alignment" annotation for some tests Breno Leitao (1): bpf: test_maps: fix possible out of bound access warning Daniel Borkmann (3): Merge branch 'bpf-btf-dedup' Merge branch 'bpf-riscv-jit' Merge branch 'bpf-xdp-hw-plus-generic' Heiko Carstens (1): s390: bpf: fix JMP32 code-gen Jakub Kicinski (5): selftests/bpf: fix the expected messages net: xdp: allow generic and driver XDP on one interface selftests/bpf: print traceback when test fails selftests/bpf: add test for mixing generic and offload XDP selftests/bpf: test reading the offloaded program Prashant Bhole (1): tools: bpftool: doc, fix incorrect text Stanislav Fomichev (2): selftests/bpf: use localhost in tcp_{server,client}.py libbpf: fix libbpf_print Yonghong Song (8): tools/bpf: move libbpf pr_* debug print functions to headers tools/bpf: print out btf log at LIBBPF_WARN level tools/bpf: simplify libbpf API function libbpf_set_print() tools/bpf: expose functions btf_ext__* as API functions tools/bpf: implement libbpf btf__get_map_kv_tids() API function tools/bpf: fix a selftest test_btf failure tools/bpf: add const qualifier to btf__get_map_kv_tids() map_name parameter tools/bpf: silence a libbpf unnecessary warning Documentation/networking/filter.txt | 16 +- Documentation/sysctl/net.txt | 1 + MAINTAINERS | 6 + arch/riscv/Kconfig | 1 + arch/riscv/Makefile | 2 +- arch/riscv/net/Makefile | 1 + arch/riscv/net/bpf_jit_comp.c | 1602 +++++++++++++++ arch/s390/net/bpf_jit_comp.c | 6 +- net/core/dev.c | 10 +- tools/bpf/bpftool/Documentation/bpftool-cgroup.rst | 4 +- .../bpf/bpftool/Documentation/bpftool-feature.rst | 4 +- tools/bpf/bpftool/Documentation/bpftool-prog.rst | 2 +- tools/lib/bpf/btf.c | 2032 ++++++++++++++++++-- tools/lib/bpf/btf.h | 43 +- tools/lib/bpf/libbpf.c | 125 +- tools/lib/bpf/libbpf.h | 19 +- tools/lib/bpf/libbpf.map | 10 + tools/lib/bpf/libbpf_util.h | 30 + tools/lib/bpf/test_libbpf.cpp | 4 +- tools/perf/util/bpf-loader.c | 26 +- tools/testing/selftests/bpf/tcp_client.py | 3 +- tools/testing/selftests/bpf/tcp_server.py | 5 +- tools/testing/selftests/bpf/test_btf.c | 553 +++++- tools/testing/selftests/bpf/test_libbpf_open.c | 30 +- tools/testing/selftests/bpf/test_maps.c | 27 +- tools/testing/selftests/bpf/test_offload.py | 135 +- tools/testing/selftests/bpf/test_progs.c | 14 +- tools/testing/selftests/bpf/verifier/ctx_sk_msg.c | 1 + tools/testing/selftests/bpf/verifier/ctx_skb.c | 1 + tools/testing/selftests/bpf/verifier/jmp32.c | 22 + tools/testing/selftests/bpf/verifier/jset.c | 2 + tools/testing/selftests/bpf/verifier/spill_fill.c | 1 + tools/testing/selftests/bpf/verifier/spin_lock.c | 2 + .../selftests/bpf/verifier/value_ptr_arith.c | 4 + 34 files changed, 4353 insertions(+), 391 deletions(-) create mode 100644 arch/riscv/net/Makefile create mode 100644 arch/riscv/net/bpf_jit_comp.c create mode 100644 tools/lib/bpf/libbpf_util.h