Hi David, The following pull-request contains BPF updates for your *net-next* tree.
The main changes are: 1) Add AF_XDP zero-copy support for i40e driver (!), from Björn and Magnus. 2) BPF verifier improvements by giving each register its own liveness chain which allows to simplify and getting rid of skip_callee() logic, from Edward. 3) Add bpf fs pretty print support for percpu arraymap, percpu hashmap and percpu lru hashmap. Also add generic percpu formatted print on bpftool so the same can be dumped there, from Yonghong. 4) Add bpf_{set,get}sockopt() helper support for TCP_SAVE_SYN and TCP_SAVED_SYN options to allow reflection of tos/tclass from received SYN packet, from Nikita. 5) Misc improvements to the BPF sockmap test cases in terms of cgroup v2 interaction and removal of incorrect shutdown() calls, from John. 6) Few cleanups in xdp_umem_assign_dev() and xdpsock samples, from Prashant. 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 817e60a7a2bb1f22052f18562990d675cb3a3762: Merge branch 'nfp-add-NFP5000-support' (2018-08-28 16:01:48 -0700) 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 93ee30f3e8b412c5fc2d2f7d9d002529d9a209ad: xsk: i40e: get rid of useless struct xdp_umem_props (2018-09-01 01:38:16 +0200) ---------------------------------------------------------------- Alexei Starovoitov (2): Merge branch 'AF_XDP-zerocopy-for-i40e' Merge branch 'verifier-liveness-simplification' Björn Töpel (9): xdp: implement convert_to_xdp_frame for MEM_TYPE_ZERO_COPY xdp: export xdp_rxq_info_unreg_mem_model xsk: expose xdp_umem_get_{data,dma} to drivers i40e: added queue pair disable/enable functions i40e: refactor Rx path for re-use i40e: move common Rx functions to i40e_txrx_common.h i40e: add AF_XDP zero-copy Rx support samples/bpf: add -c/--copy -z/--zero-copy flags to xdpsock xsk: include XDP meta data in AF_XDP frames Colin Ian King (1): xdp: remove redundant variable 'headroom' Daniel Borkmann (1): Merge branch 'bpf-bpffs-bpftool-dump-with-btf' Edward Cree (2): bpf/verifier: per-register parent pointers bpf/verifier: display non-spill stack slot types in print_verifier_state John Fastabend (2): bpf: sockmap test remove shutdown() calls bpf: use --cgroup in test_suite if supplied Magnus Karlsson (5): net: add napi_if_scheduled_mark_missed i40e: move common Tx functions to i40e_txrx_common.h i40e: add AF_XDP zero-copy Tx support i40e: fix possible compiler warning in xsk TX path xsk: i40e: get rid of useless struct xdp_umem_props Nikita V. Shirokov (3): bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN options for bpf_(set|get)sockopt bpf: add TCP_SAVE_SYN/TCP_SAVED_SYN sample program bpf: add selftest for bpf's (set|get)_sockopt for SAVE_SYN Prashant Bhole (2): xsk: remove unnecessary assignment samples/bpf: xdpsock, minor fixes Yonghong Song (3): bpf: add bpffs pretty print for percpu arraymap/hash/lru_hash tools/bpf: add bpffs percpu map pretty print tests in test_btf tools/bpf: bpftool: add btf percpu map formated dump YueHaibing (1): bpf: remove duplicated include from syscall.c drivers/net/ethernet/intel/i40e/Makefile | 3 +- drivers/net/ethernet/intel/i40e/i40e.h | 19 + drivers/net/ethernet/intel/i40e/i40e_main.c | 307 +++++++- drivers/net/ethernet/intel/i40e/i40e_txrx.c | 182 +++-- drivers/net/ethernet/intel/i40e/i40e_txrx.h | 20 +- drivers/net/ethernet/intel/i40e/i40e_txrx_common.h | 90 +++ drivers/net/ethernet/intel/i40e/i40e_xsk.c | 832 +++++++++++++++++++++ drivers/net/ethernet/intel/i40e/i40e_xsk.h | 25 + include/linux/bpf_verifier.h | 8 +- include/linux/netdevice.h | 26 + include/net/xdp.h | 6 +- include/net/xdp_sock.h | 51 +- kernel/bpf/arraymap.c | 24 + kernel/bpf/hashtab.c | 31 + kernel/bpf/syscall.c | 1 - kernel/bpf/verifier.c | 216 ++---- net/core/filter.c | 25 +- net/core/xdp.c | 53 +- net/xdp/xdp_umem.c | 6 +- net/xdp/xdp_umem.h | 10 - net/xdp/xdp_umem_props.h | 14 - net/xdp/xsk.c | 34 +- net/xdp/xsk_queue.c | 5 +- net/xdp/xsk_queue.h | 13 +- samples/bpf/Makefile | 1 + samples/bpf/tcp_tos_reflect_kern.c | 87 +++ samples/bpf/xdpsock_kern.c | 2 +- samples/bpf/xdpsock_user.c | 15 +- tools/bpf/bpftool/map.c | 33 +- tools/testing/selftests/bpf/test_btf.c | 179 ++++- tools/testing/selftests/bpf/test_sockmap.c | 56 +- tools/testing/selftests/bpf/test_tcpbpf_kern.c | 38 +- tools/testing/selftests/bpf/test_tcpbpf_user.c | 31 +- 33 files changed, 2067 insertions(+), 376 deletions(-) create mode 100644 drivers/net/ethernet/intel/i40e/i40e_txrx_common.h create mode 100644 drivers/net/ethernet/intel/i40e/i40e_xsk.c create mode 100644 drivers/net/ethernet/intel/i40e/i40e_xsk.h delete mode 100644 net/xdp/xdp_umem_props.h create mode 100644 samples/bpf/tcp_tos_reflect_kern.c