[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180714231949.14700-1-daniel@iogearbox.net>
Date: Sun, 15 Jul 2018 01:19:49 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: davem@...emloft.net
Cc: daniel@...earbox.net, ast@...nel.org, netdev@...r.kernel.org
Subject: pull-request: bpf-next 2018-07-15
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
The main changes are:
1) Various different arm32 JIT improvements in order to optimize code emission
and make the JIT code itself more robust, from Russell.
2) Support simultaneous driver and offloaded XDP in order to allow for advanced
use-cases where some work is offloaded to the NIC and some to the host. Also
add ability for bpftool to load programs and maps beyond just the cgroup case,
from Jakub.
3) Add BPF JIT support in nfp for multiplication as well as division. For the
latter in particular, it uses the reciprocal algorithm to emulate it, from Jiong.
4) Add BTF pretty print functionality to bpftool in plain and JSON output
format, from Okash.
5) Add build and installation to the BPF helper man page into bpftool, from Quentin.
6) Add a TCP BPF callback for listening sockets which is triggered right after
the socket transitions to TCP_LISTEN state, from Andrey.
7) Add a new cgroup tree command to bpftool which iterates over the whole cgroup
tree and prints all attached programs, from Roman.
8) Improve xdp_redirect_cpu sample to support parsing of double VLAN tagged
packets, from Jesper.
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 ab8565af68001ac5f9331daa311938ead3eb5636:
Merge branch 'IP-listification-follow-ups' (2018-07-06 11:19:08 +0900)
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 13f7432bdd8eb2eb55eed2af1469d37c0f667617:
Merge branch 'bpf-tcp-listen-cb' (2018-07-15 00:09:22 +0200)
----------------------------------------------------------------
Andrey Ignatov (6):
bpf: Add BPF_SOCK_OPS_TCP_LISTEN_CB
bpf: Sync bpf.h to tools/
selftests/bpf: Fix const'ness in cgroup_helpers
selftests/bpf: Switch test_tcpbpf_user to cgroup_helpers
selftests/bpf: Better verification in test_tcpbpf
selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB
Daniel Borkmann (7):
Merge branch 'bpf-nfp-mul-div-support'
Merge branch 'bpf-bpftool-improved-prog-load'
Merge branch 'bpf-helper-man-install'
Merge branch 'bpf-arm-jit-improvements'
Merge branch 'bpf-arm-jit-improvements'
Merge branch 'bpf-xdp-driver-and-hw'
Merge branch 'bpf-tcp-listen-cb'
Jakub Kicinski (21):
selftests/bpf: remove duplicated word from test offloads
selftests/bpf: add Error: prefix in check_extack helper
tools: bpftool: refactor argument parsing for prog load
tools: bpftool: add support for loading programs for offload
tools: libbpf: expose the prog type guessing from section name logic
tools: bpftool: allow users to specify program type for prog load
tools: libbpf: recognize offload neutral maps
tools: libbpf: add extended attributes version of bpf_object__open()
tools: bpftool: reimplement bpf_prog_load() for prog load
tools: libbpf: move library error code into a separate file
tools: bpf: make use of reallocarray
tools: libbpf: allow map reuse
tools: bpftool: allow reuse of maps with bpftool prog load
xdp: add per mode attributes for attached programs
xdp: don't make drivers report attachment mode
xdp: factor out common program/flags handling from drivers
xdp: support simultaneous driver and hw XDP attachment
netdevsim: add support for simultaneous driver and hw XDP
selftests/bpf: add test for multiple programs
nfp: add support for simultaneous driver and hw XDP
tools: include reallocarray feature test in FEATURE_TESTS_BASIC
Jesper Dangaard Brouer (1):
samples/bpf: xdp_redirect_cpu handle parsing of double VLAN tagged packets
Jiong Wang (6):
lib: reciprocal_div: implement the improved algorithm on the paper mentioned
nfp: bpf: rename umin/umax to umin_src/umax_src
nfp: bpf: copy range info for all operands of all ALU operations
nfp: bpf: support u16 and u32 multiplications
nfp: bpf: support u32 divide using reciprocal_div.h
nfp: bpf: migrate to advanced reciprocal divide in reciprocal_div.h
Okash Khawaja (3):
bpf: btf: export btf types and name by offset from lib
bpf: btf: add btf print functionality
bpf: btf: print map dump and lookup with btf info
Quentin Monnet (3):
bpf: fix documentation for eBPF helpers
tools: bpf: synchronise BPF UAPI header with tools
tools: bpf: build and install man page for eBPF helpers from bpftool/
Roman Gushchin (3):
bpftool: introduce cgroup tree command
bpftool: document cgroup tree command
bpftool: add bash completion for cgroup tree command
Russell King (18):
ARM: net: bpf: enumerate the JIT scratch stack layout
ARM: net: bpf: provide load/store ops with negative immediates
ARM: net: bpf: use negative numbers for stacked registers
ARM: net: bpf: remove is_on_stack() and sstk/dstk
ARM: net: bpf: provide accessor functions for BPF registers
ARM: net: bpf: 64-bit accessor functions for BPF registers
ARM: net: bpf: access eBPF scratch space using ARM FP register
ARM: net: bpf: imm12 constant conversion
ARM: net: bpf: use immediate forms of instructions where possible
ARM: net: bpf: use ldr instructions with shifted rm register
ARM: net: bpf: avoid reloading 'index'
ARM: net: bpf: avoid reloading 'array'
ARM: net: bpf: always use odd/even register pair
ARM: net: bpf: use double-word load/stores where available
ARM: net: bpf: improve 64-bit load immediate implementation
ARM: net: bpf: improve 64-bit sign-extended immediate load
ARM: net: bpf: improve 64-bit store implementation
ARM: net: bpf: improve 64-bit ALU implementation
arch/arm/net/bpf_jit_32.c | 1062 +++++++++++---------
arch/arm/net/bpf_jit_32.h | 42 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 1 -
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 1 -
drivers/net/ethernet/intel/i40e/i40e_main.c | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 1 -
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 1 -
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 1 -
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 1 -
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 249 ++++-
drivers/net/ethernet/netronome/nfp/bpf/main.c | 11 +-
drivers/net/ethernet/netronome/nfp/bpf/main.h | 43 +-
drivers/net/ethernet/netronome/nfp/bpf/offload.c | 6 +-
drivers/net/ethernet/netronome/nfp/bpf/verifier.c | 85 +-
drivers/net/ethernet/netronome/nfp/nfp_asm.h | 28 +
drivers/net/ethernet/netronome/nfp/nfp_net.h | 10 +-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 58 +-
drivers/net/ethernet/qlogic/qede/qede_filter.c | 1 -
drivers/net/netdevsim/bpf.c | 41 +-
drivers/net/netdevsim/netdev.c | 3 +-
drivers/net/netdevsim/netdevsim.h | 6 +-
drivers/net/tun.c | 1 -
drivers/net/virtio_net.c | 1 -
include/linux/netdevice.h | 12 +-
include/linux/reciprocal_div.h | 68 ++
include/net/xdp.h | 13 +
include/uapi/linux/bpf.h | 9 +-
include/uapi/linux/if_link.h | 4 +
lib/reciprocal_div.c | 41 +
net/core/dev.c | 48 +-
net/core/rtnetlink.c | 71 +-
net/core/xdp.c | 34 +
net/ipv4/af_inet.c | 1 +
samples/bpf/xdp_redirect_cpu_kern.c | 11 +-
tools/bpf/Makefile.helpers | 59 ++
tools/bpf/bpftool/Documentation/Makefile | 13 +-
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst | 12 +-
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 33 +-
tools/bpf/bpftool/Makefile | 6 +-
tools/bpf/bpftool/bash-completion/bpftool | 102 +-
tools/bpf/bpftool/btf_dumper.c | 251 +++++
tools/bpf/bpftool/cgroup.c | 170 +++-
tools/bpf/bpftool/main.h | 34 +
tools/bpf/bpftool/map.c | 221 +++-
tools/bpf/bpftool/prog.c | 245 ++++-
tools/bpf/bpftool/xlated_dumper.c | 6 +-
tools/build/Makefile.feature | 1 +
tools/build/feature/Makefile | 4 +
tools/build/feature/test-reallocarray.c | 8 +
tools/include/linux/compiler-gcc.h | 4 +
tools/include/linux/overflow.h | 278 +++++
tools/include/tools/libc_compat.h | 20 +
tools/include/uapi/linux/bpf.h | 35 +-
tools/lib/bpf/Build | 2 +-
tools/lib/bpf/Makefile | 6 +-
tools/lib/bpf/btf.c | 65 +-
tools/lib/bpf/btf.h | 3 +
tools/lib/bpf/libbpf.c | 188 ++--
tools/lib/bpf/libbpf.h | 11 +
tools/lib/bpf/libbpf_errno.c | 74 ++
tools/testing/selftests/bpf/Makefile | 1 +
tools/testing/selftests/bpf/cgroup_helpers.c | 6 +-
tools/testing/selftests/bpf/cgroup_helpers.h | 6 +-
tools/testing/selftests/bpf/test_offload.py | 81 +-
tools/testing/selftests/bpf/test_tcpbpf.h | 1 +
tools/testing/selftests/bpf/test_tcpbpf_kern.c | 17 +-
tools/testing/selftests/bpf/test_tcpbpf_user.c | 119 +--
67 files changed, 3119 insertions(+), 929 deletions(-)
create mode 100644 tools/bpf/Makefile.helpers
create mode 100644 tools/bpf/bpftool/btf_dumper.c
create mode 100644 tools/build/feature/test-reallocarray.c
create mode 100644 tools/include/linux/overflow.h
create mode 100644 tools/include/tools/libc_compat.h
create mode 100644 tools/lib/bpf/libbpf_errno.c
Powered by blists - more mailing lists