Hi David, The following pull-request contains BPF updates for your *net-next* tree.
The main changes are: 1) bpf array map HW offload, from Jakub. 2) support for bpf_get_next_key() for LPM map, from Yonghong. 3) test_verifier now runs loaded programs, from Alexei. 4) xdp cpumap monitoring, from Jesper. 5) variety of tests, cleanups and small x64 JIT optimization, from Daniel. 6) user space can now retrieve HW JITed program, from Jiong. Please consider pulling these changes from: git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git Note there is a minor conflict between Russell's arm32 JIT fixes and removal of bpf_jit_enable variable by Daniel which should be resolved by keeping Russell's comment and removing that variable. Thanks a lot! ---------------------------------------------------------------- The following changes since commit 4f7d58517f461aa6e7b7509668f04021e089323d: Merge tag 'linux-can-next-for-4.16-20180116' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next (2018-01-17 16:08:25 -0500) 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 1391040b6570584c177a238eeac01930beabbaa4: Merge branch 'bpf-misc-improvements' (2018-01-19 18:37:02 -0800) ---------------------------------------------------------------- Alexei Starovoitov (3): bpf: allow socket_filter programs to use bpf_prog_test_run selftests/bpf: make test_verifier run most programs Merge branch 'bpf-misc-improvements' Dan Carpenter (1): tools/bpf_jit_disasm: silence a static checker warning Daniel Borkmann (13): Merge branch 'bpf-dump-and-disasm-nfp-jit' Merge branch 'bpf-improve-test-verifier-coverage' Merge branch 'bpf-array-map-offload-and-tests' Merge branch 'bpf-lpm-get-next-key' bpf, verifier: detect misconfigured mem, size argument pair bpf: add csum_diff helper to xdp as well bpf: add couple of test cases for signed extended imms bpf: add couple of test cases for div/mod by zero bpf: get rid of pure_initcall dependency to enable jits bpf: restrict access to core bpf sysctls bpf, x86: small optimization in alu ops with imm bpf: add upper complexity limit to verifier log bpf: move event_output to const_size_or_zero for xdp/skb as well Jakub Kicinski (8): bpf: arraymap: move checks out of alloc function bpf: arraymap: use bpf_map_init_from_attr() bpf: offload: allow array map offload bpf: offload: report device information about offloaded maps tools: bpftool: report device information for offloaded maps netdevsim: bpf: support fake map offload selftest/bpf: extend the offload test with map checks nfp: bpf: add short busy wait for FW replies Jesper Dangaard Brouer (4): samples/bpf: xdp2skb_meta comment explain why pkt-data pointers are invalidated bpf: add comments to BPF ld/ldx sizes bpf: Sync kernel ABI header with tooling header samples/bpf: xdp_monitor include cpumap tracepoints in monitoring Jiong Wang (3): bpf: add new jited info fields in bpf_dev_offload and bpf_prog_info nfp: bpf: set new jit info fields tools: bpftool: improve architecture detection by using ifindex Roman Gushchin (1): bpftool: recognize BPF_MAP_TYPE_CPUMAP maps Shuah Khan (1): selftests: bpf: update .gitignore with missing generated files Yonghong Song (3): bpf: change fake_ip for bpf_trace_printk helper bpf: implement MAP_GET_NEXT_KEY command for LPM_TRIE map tools/bpf: add a testcase for MAP_GET_NEXT_KEY command of LPM_TRIE map arch/arm/net/bpf_jit_32.c | 2 - arch/arm64/net/bpf_jit_comp.c | 2 - arch/mips/net/bpf_jit.c | 2 - arch/mips/net/ebpf_jit.c | 2 - arch/powerpc/net/bpf_jit_comp.c | 2 - arch/powerpc/net/bpf_jit_comp64.c | 2 - arch/s390/net/bpf_jit_comp.c | 2 - arch/sparc/net/bpf_jit_comp_32.c | 2 - arch/sparc/net/bpf_jit_comp_64.c | 2 - arch/x86/net/bpf_jit_comp.c | 37 +- drivers/net/ethernet/netronome/nfp/bpf/cmsg.c | 9 +- drivers/net/ethernet/netronome/nfp/bpf/offload.c | 12 +- drivers/net/netdevsim/bpf.c | 246 ++++++++++++++ drivers/net/netdevsim/netdevsim.h | 3 + include/linux/bpf.h | 4 + include/uapi/linux/bpf.h | 5 +- include/uapi/linux/bpf_common.h | 7 +- kernel/bpf/arraymap.c | 49 +-- kernel/bpf/core.c | 19 +- kernel/bpf/lpm_trie.c | 95 +++++- kernel/bpf/offload.c | 81 ++++- kernel/bpf/syscall.c | 39 ++- kernel/bpf/verifier.c | 82 +++-- kernel/trace/bpf_trace.c | 2 +- lib/test_bpf.c | 104 ++++++ net/core/filter.c | 7 +- net/core/sysctl_net_core.c | 60 +++- net/socket.c | 9 - samples/bpf/xdp2skb_meta_kern.c | 8 +- samples/bpf/xdp_monitor_kern.c | 94 ++++- samples/bpf/xdp_monitor_user.c | 416 +++++++++++++++++++---- tools/bpf/bpf_jit_disasm.c | 7 +- tools/bpf/bpftool/common.c | 72 ++++ tools/bpf/bpftool/jit_disasm.c | 16 +- tools/bpf/bpftool/main.h | 5 +- tools/bpf/bpftool/map.c | 8 +- tools/bpf/bpftool/prog.c | 12 +- tools/include/uapi/linux/bpf.h | 15 +- tools/testing/selftests/bpf/.gitignore | 7 + tools/testing/selftests/bpf/Makefile | 3 +- tools/testing/selftests/bpf/sample_map_ret0.c | 34 ++ tools/testing/selftests/bpf/test_lpm_map.c | 122 +++++++ tools/testing/selftests/bpf/test_offload.py | 206 +++++++++-- tools/testing/selftests/bpf/test_verifier.c | 137 +++++++- 44 files changed, 1828 insertions(+), 222 deletions(-) create mode 100644 tools/testing/selftests/bpf/sample_map_ret0.c