[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180525020351.3634582-1-ast@kernel.org>
Date: Thu, 24 May 2018 19:03:51 -0700
From: Alexei Starovoitov <ast@...nel.org>
To: <davem@...emloft.net>
CC: <daniel@...earbox.net>, <kernel-team@...com>,
<netdev@...r.kernel.org>
Subject: pull-request: bpf-next 2018-05-24
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
The main changes are:
1) Björn Töpel cleans up AF_XDP (removes rebind, explicit cache alignment from uapi, etc).
2) David Ahern adds mtu checks to bpf_ipv{4,6}_fib_lookup() helpers.
3) Jesper Dangaard Brouer adds bulking support to ndo_xdp_xmit.
4) Jiong Wang adds support for indirect and arithmetic shifts to NFP
5) Martin KaFai Lau cleans up BTF uapi and makes the btf_header extensible.
6) Mathieu Xhonneux adds an End.BPF action to seg6local with BPF helpers allowing
to edit/grow/shrink a SRH and apply on a packet generic SRv6 actions.
7) Sandipan Das adds support for bpf2bpf function calls in ppc64 JIT.
8) Yonghong Song adds BPF_TASK_FD_QUERY command for introspection of tracing events.
9) other misc fixes from Gustavo A. R. Silva, Sirio Balmelli, John Fastabend, and Magnus Karlsson
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 b9f672af148bf7a08a6031743156faffd58dbc7e:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next (2018-05-16 22:47:11 -0400)
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 10f678683e4026e43524b0492068a371d00fdeed:
Merge branch 'xdp_xmit-bulking' (2018-05-24 18:36:16 -0700)
----------------------------------------------------------------
Alexei Starovoitov (2):
Merge branch 'bpf-task-fd-query'
Merge branch 'xdp_xmit-bulking'
Björn Töpel (11):
xsk: clean up SPDX headers
xsk: remove newline at end of file
xsk: fixed some cases of unnecessary parentheses
xsk: proper '=' alignment
xsk: remove rebind support
xsk: fill hole in struct sockaddr_xdp
xsk: remove explicit ring structure from uapi
samples/bpf: adapt xdpsock to the new uapi
xsk: add missing write- and data-dependency barrier
xsk: simplified umem setup
xsk: convert atomic_t to refcount_t
Daniel Borkmann (8):
Merge branch 'bpf-af-xdp-cleanups'
Merge branch 'bpf-nfp-shift-insns'
Merge branch 'bpf-sk-msg-fields'
Merge branch 'bpf-af-xdp-cleanups'
Merge branch 'bpf-fib-mtu-check'
Merge branch 'btf-uapi-cleanups'
Merge branch 'bpf-multi-prog-improvements'
Merge branch 'bpf-ipv6-seg6-bpf-action'
David Ahern (3):
net/ipv4: Add helper to return path MTU based on fib result
net/ipv6: Add helper to return path MTU based on fib result
bpf: Add mtu checking to FIB forwarding helper
Gustavo A. R. Silva (2):
bpf: sockmap, fix uninitialized variable
bpf: sockmap, fix double-free
Jesper Dangaard Brouer (8):
bpf: devmap introduce dev_map_enqueue
bpf: devmap prepare xdp frames for bulking
xdp: add tracepoint for devmap like cpumap have
samples/bpf: xdp_monitor use tracepoint xdp:xdp_devmap_xmit
xdp: introduce xdp_return_frame_rx_napi
xdp: change ndo_xdp_xmit API to support bulking
xdp/trace: extend tracepoint in devmap with an err
samples/bpf: xdp_monitor use err code from tracepoint xdp:xdp_devmap_xmit
Jiong Wang (3):
nfp: bpf: support logic indirect shifts (BPF_[L|R]SH | BPF_X)
nfp: bpf: support arithmetic right shift by constant (BPF_ARSH | BPF_K)
nfp: bpf: support arithmetic indirect right shift (BPF_ARSH | BPF_X)
John Fastabend (2):
bpf: allow sk_msg programs to read sock fields
bpf: add sk_msg prog sk access tests to test_verifier
Magnus Karlsson (1):
xsk: proper queue id check at bind
Martin KaFai Lau (8):
bpf: Expose check_uarg_tail_zero()
bpf: btf: Change how section is supported in btf_header
bpf: btf: Check array->index_type
bpf: btf: Remove unused bits from uapi/linux/btf.h
bpf: btf: Rename btf_key_id and btf_value_id in bpf_map_info
bpf: btf: Sync bpf.h and btf.h to tools
bpf: btf: Add tests for the btf uapi changes
bpf: btf: Avoid variable length array
Mathieu Xhonneux (6):
ipv6: sr: make seg6.h includable without IPv6
ipv6: sr: export function lookup_nexthop
bpf: Add IPv6 Segment Routing helpers
bpf: Split lwt inout verifier structures
ipv6: sr: Add seg6local action End.BPF
selftests/bpf: test for seg6local End.BPF action
Quentin Monnet (1):
bpf: change eBPF helper doc parsing script to allow for smaller indent
Sandipan Das (10):
bpf: support 64-bit offsets for bpf function calls
bpf: powerpc64: pad function address loads with NOPs
bpf: powerpc64: add JIT support for multi-function programs
bpf: get kernel symbol addresses via syscall
tools: bpf: sync bpf uapi header
tools: bpftool: resolve calls without using imm field
bpf: fix multi-function JITed dump obtained via syscall
bpf: get JITed image lengths of functions via syscall
tools: bpf: sync bpf uapi header
tools: bpftool: add delimiters to multi-function JITed dumps
Sirio Balmelli (2):
selftests/bpf: Makefile fix "missing" headers on build with -idirafter
tools/lib/libbpf.c: fix string format to allow build on arm32
Yonghong Song (7):
perf/core: add perf_get_event() to return perf_event given a struct file
bpf: introduce bpf subcommand BPF_TASK_FD_QUERY
tools/bpf: sync kernel header bpf.h and add bpf_task_fd_query in libbpf
tools/bpf: add ksym_get_addr() in trace_helpers
samples/bpf: add a samples/bpf test for BPF_TASK_FD_QUERY
tools/bpf: add two BPF_TASK_FD_QUERY tests in test_progs
tools/bpftool: add perf subcommand
arch/powerpc/net/bpf_jit_comp64.c | 110 ++++-
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 26 +-
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 21 +-
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 410 ++++++++++++++--
drivers/net/ethernet/netronome/nfp/bpf/main.h | 28 ++
drivers/net/ethernet/netronome/nfp/bpf/offload.c | 2 +
drivers/net/ethernet/netronome/nfp/bpf/verifier.c | 8 +
drivers/net/ethernet/netronome/nfp/nfp_asm.h | 18 +-
drivers/net/tun.c | 37 +-
drivers/net/virtio_net.c | 66 ++-
include/linux/bpf.h | 24 +-
include/linux/bpf_types.h | 5 +-
include/linux/filter.h | 1 +
include/linux/netdevice.h | 14 +-
include/linux/perf_event.h | 5 +
include/linux/trace_events.h | 17 +
include/net/addrconf.h | 2 +
include/net/ip6_fib.h | 6 +
include/net/ip6_route.h | 3 +
include/net/ip_fib.h | 2 +
include/net/page_pool.h | 5 +-
include/net/seg6.h | 7 +-
include/net/seg6_local.h | 32 ++
include/net/xdp.h | 1 +
include/net/xdp_sock.h | 13 +-
include/trace/events/xdp.h | 50 +-
include/uapi/linux/bpf.h | 143 +++++-
include/uapi/linux/btf.h | 37 +-
include/uapi/linux/if_xdp.h | 59 +--
include/uapi/linux/seg6_local.h | 12 +
kernel/bpf/arraymap.c | 2 +-
kernel/bpf/btf.c | 334 +++++++++----
kernel/bpf/cpumap.c | 2 +-
kernel/bpf/devmap.c | 131 ++++-
kernel/bpf/sockmap.c | 4 +-
kernel/bpf/syscall.c | 245 ++++++++-
kernel/bpf/verifier.c | 23 +-
kernel/bpf/xskmap.c | 9 -
kernel/events/core.c | 8 +
kernel/trace/bpf_trace.c | 48 ++
kernel/trace/trace_kprobe.c | 29 ++
kernel/trace/trace_uprobe.c | 22 +
net/core/filter.c | 572 +++++++++++++++++++---
net/core/xdp.c | 20 +-
net/ipv4/route.c | 31 ++
net/ipv6/Kconfig | 5 +
net/ipv6/addrconf_core.c | 8 +
net/ipv6/af_inet6.c | 1 +
net/ipv6/route.c | 48 ++
net/ipv6/seg6_local.c | 190 ++++++-
net/xdp/Makefile | 1 -
net/xdp/xdp_umem.c | 96 ++--
net/xdp/xdp_umem.h | 18 +-
net/xdp/xdp_umem_props.h | 13 +-
net/xdp/xsk.c | 150 +++---
net/xdp/xsk_queue.c | 12 +-
net/xdp/xsk_queue.h | 34 +-
samples/bpf/Makefile | 4 +
samples/bpf/task_fd_query_kern.c | 19 +
samples/bpf/task_fd_query_user.c | 382 +++++++++++++++
samples/bpf/xdp_monitor_kern.c | 49 ++
samples/bpf/xdp_monitor_user.c | 69 ++-
samples/bpf/xdpsock_user.c | 135 ++---
scripts/bpf_helpers_doc.py | 8 +-
tools/bpf/bpftool/Documentation/bpftool-perf.rst | 81 +++
tools/bpf/bpftool/Documentation/bpftool.rst | 5 +-
tools/bpf/bpftool/bash-completion/bpftool | 9 +
tools/bpf/bpftool/main.c | 3 +-
tools/bpf/bpftool/main.h | 1 +
tools/bpf/bpftool/perf.c | 246 ++++++++++
tools/bpf/bpftool/prog.c | 97 +++-
tools/bpf/bpftool/xlated_dumper.c | 14 +-
tools/bpf/bpftool/xlated_dumper.h | 3 +
tools/include/uapi/linux/bpf.h | 143 +++++-
tools/include/uapi/linux/btf.h | 37 +-
tools/lib/bpf/bpf.c | 27 +-
tools/lib/bpf/bpf.h | 7 +-
tools/lib/bpf/btf.c | 5 +-
tools/lib/bpf/libbpf.c | 43 +-
tools/lib/bpf/libbpf.h | 4 +-
tools/testing/selftests/bpf/Makefile | 16 +-
tools/testing/selftests/bpf/bpf_helpers.h | 12 +
tools/testing/selftests/bpf/test_btf.c | 521 ++++++++++++++++----
tools/testing/selftests/bpf/test_lwt_seg6local.c | 437 +++++++++++++++++
tools/testing/selftests/bpf/test_lwt_seg6local.sh | 140 ++++++
tools/testing/selftests/bpf/test_progs.c | 158 ++++++
tools/testing/selftests/bpf/test_verifier.c | 115 +++++
tools/testing/selftests/bpf/trace_helpers.c | 12 +
tools/testing/selftests/bpf/trace_helpers.h | 1 +
90 files changed, 5213 insertions(+), 812 deletions(-)
create mode 100644 include/net/seg6_local.h
create mode 100644 samples/bpf/task_fd_query_kern.c
create mode 100644 samples/bpf/task_fd_query_user.c
create mode 100644 tools/bpf/bpftool/Documentation/bpftool-perf.rst
create mode 100644 tools/bpf/bpftool/perf.c
create mode 100644 tools/testing/selftests/bpf/test_lwt_seg6local.c
create mode 100755 tools/testing/selftests/bpf/test_lwt_seg6local.sh
Powered by blists - more mailing lists