[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180421010717.5050-1-daniel@iogearbox.net>
Date: Sat, 21 Apr 2018 03:07:17 +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-04-21
Hi David,
The following pull-request contains BPF updates for your *net-next* tree.
The main changes are:
1) Initial work on BPF Type Format (BTF) is added, which is a meta
data format which describes the data types of BPF programs / maps.
BTF has its roots from CTF (Compact C-Type format) with a number
of changes to it. First use case is to provide a generic pretty
print capability for BPF maps inspection, later work will also
add BTF to bpftool. pahole support to convert dwarf to BTF will
be upstreamed as well (https://github.com/iamkafai/pahole/tree/btf),
from Martin.
2) Add a new xdp_bpf_adjust_tail() BPF helper for XDP that allows
for changing the data_end pointer. Only shrinking is currently
supported which helps for crafting ICMP control messages. Minor
changes in drivers have been added where needed so they recalc
the packet's length also when data_end was adjusted, from Nikita.
3) Improve bpftool to make it easier to feed hex bytes via cmdline
for map operations, from Quentin.
4) Add support for various missing BPF prog types and attach types
that have been added to kernel recently but neither to bpftool
nor libbpf yet. Doc and bash completion updates have been added
as well for bpftool, from Andrey.
5) Proper fix for avoiding to leak info stored in frame data on page
reuse for the two bpf_xdp_adjust_{head,meta} helpers by disallowing
to move the pointers into struct xdp_frame area, from Jesper.
6) Follow-up compile fix from BTF in order to include stdbool.h in
libbpf, from Björn.
7) Few fixes in BPF sample code, that is, a typo on the netdevice
in a comment and fixup proper dump of XDP action code in the
tracepoint exception, from Wang and 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 a2d481b326c98b6b67eea8a378c858d57ca5ff3d:
ipv6: send netlink notifications for manually configured addresses (2018-04-17 14:03:56 -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 878a4d328104fed86ea321c48a5245eed44fbe14:
libbpf: fixed build error for samples/bpf/ (2018-04-20 10:12:19 +0200)
----------------------------------------------------------------
Andrey Ignatov (3):
bpftool: Support new prog types and attach types
libbpf: Support guessing post_bind{4,6} progs
libbpf: Type functions for raw tracepoints
Björn Töpel (1):
libbpf: fixed build error for samples/bpf/
Daniel Borkmann (3):
Merge branch 'bpf-libbpf-add-types'
Merge branch 'bpf-xdp-adjust-tail'
Merge branch 'bpf-type-format'
Jesper Dangaard Brouer (2):
samples/bpf: fix xdp_monitor user output for tracepoint exception
bpf: reserve xdp_frame size in xdp headroom
Martin KaFai Lau (10):
bpf: btf: Introduce BPF Type Format (BTF)
bpf: btf: Validate type reference
bpf: btf: Check members of struct/union
bpf: btf: Add pretty print capability for data with BTF type info
bpf: btf: Add BPF_BTF_LOAD command
bpf: btf: Add BPF_OBJ_GET_INFO_BY_FD support to BTF fd
bpf: btf: Add pretty print support to the basic arraymap
bpf: btf: Sync bpf.h and btf.h to tools/
bpf: btf: Add BTF support to libbpf
bpf: btf: Add BTF tests
Nikita V. Shirokov (11):
bpf: adding bpf_xdp_adjust_tail helper
bpf: make generic xdp compatible w/ bpf_xdp_adjust_tail
bpf: make mlx4 compatible w/ bpf_xdp_adjust_tail
bpf: make bnxt compatible w/ bpf_xdp_adjust_tail
bpf: make cavium thunder compatible w/ bpf_xdp_adjust_tail
bpf: make netronome nfp compatible w/ bpf_xdp_adjust_tail
bpf: make tun compatible w/ bpf_xdp_adjust_tail
bpf: make virtio compatible w/ bpf_xdp_adjust_tail
bpf: making bpf_prog_test run aware of possible data_end ptr change
bpf: adding tests for bpf_xdp_adjust_tail
bpf: add bpf_xdp_adjust_tail sample prog
Quentin Monnet (1):
tools: bpftool: make it easier to feed hex bytes to bpftool
Wang Sheng-Hui (1):
samples/bpf: correct comment in sock_example.c
drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +-
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 2 +-
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 2 +-
.../net/ethernet/netronome/nfp/nfp_net_common.c | 2 +-
drivers/net/tun.c | 3 +-
drivers/net/virtio_net.c | 7 +-
include/linux/bpf.h | 20 +-
include/linux/btf.h | 48 +
include/uapi/linux/bpf.h | 22 +-
include/uapi/linux/btf.h | 130 ++
kernel/bpf/Makefile | 1 +
kernel/bpf/arraymap.c | 50 +
kernel/bpf/btf.c | 2064 ++++++++++++++++++++
kernel/bpf/inode.c | 156 +-
kernel/bpf/syscall.c | 51 +-
net/bpf/test_run.c | 3 +-
net/core/dev.c | 10 +-
net/core/filter.c | 41 +-
samples/bpf/Makefile | 4 +
samples/bpf/sock_example.c | 4 +-
samples/bpf/xdp_adjust_tail_kern.c | 152 ++
samples/bpf/xdp_adjust_tail_user.c | 142 ++
samples/bpf/xdp_monitor_user.c | 2 +-
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst | 11 +-
tools/bpf/bpftool/Documentation/bpftool-map.rst | 29 +-
tools/bpf/bpftool/bash-completion/bpftool | 14 +-
tools/bpf/bpftool/cgroup.c | 15 +-
tools/bpf/bpftool/map.c | 17 +-
tools/bpf/bpftool/prog.c | 3 +
tools/include/uapi/linux/bpf.h | 22 +-
tools/include/uapi/linux/btf.h | 130 ++
tools/lib/bpf/Build | 2 +-
tools/lib/bpf/bpf.c | 92 +-
tools/lib/bpf/bpf.h | 17 +
tools/lib/bpf/btf.c | 374 ++++
tools/lib/bpf/btf.h | 22 +
tools/lib/bpf/libbpf.c | 156 +-
tools/lib/bpf/libbpf.h | 5 +
tools/testing/selftests/bpf/Makefile | 26 +-
tools/testing/selftests/bpf/bpf_helpers.h | 5 +
tools/testing/selftests/bpf/test_adjust_tail.c | 30 +
tools/testing/selftests/bpf/test_btf.c | 1669 ++++++++++++++++
tools/testing/selftests/bpf/test_btf_haskv.c | 48 +
tools/testing/selftests/bpf/test_btf_nokv.c | 43 +
tools/testing/selftests/bpf/test_progs.c | 32 +
45 files changed, 5591 insertions(+), 89 deletions(-)
create mode 100644 include/linux/btf.h
create mode 100644 include/uapi/linux/btf.h
create mode 100644 kernel/bpf/btf.c
create mode 100644 samples/bpf/xdp_adjust_tail_kern.c
create mode 100644 samples/bpf/xdp_adjust_tail_user.c
create mode 100644 tools/include/uapi/linux/btf.h
create mode 100644 tools/lib/bpf/btf.c
create mode 100644 tools/lib/bpf/btf.h
create mode 100644 tools/testing/selftests/bpf/test_adjust_tail.c
create mode 100644 tools/testing/selftests/bpf/test_btf.c
create mode 100644 tools/testing/selftests/bpf/test_btf_haskv.c
create mode 100644 tools/testing/selftests/bpf/test_btf_nokv.c
Powered by blists - more mailing lists