[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230803174845.825419-1-martin.lau@linux.dev>
Date: Thu, 3 Aug 2023 10:48:45 -0700
From: Martin KaFai Lau <martin.lau@...ux.dev>
To: davem@...emloft.net
Cc: kuba@...nel.org,
edumazet@...gle.com,
pabeni@...hat.com,
daniel@...earbox.net,
andrii@...nel.org,
ast@...nel.org,
netdev@...r.kernel.org,
bpf@...r.kernel.org
Subject: pull-request: bpf-next 2023-08-03
Hi David, hi Jakub, hi Paolo, hi Eric,
The following pull-request contains BPF updates for your *net-next* tree.
We've added 54 non-merge commits during the last 10 day(s) which contain
a total of 84 files changed, 4026 insertions(+), 562 deletions(-).
The main changes are:
1) Add SO_REUSEPORT support for TC bpf_sk_assign from Lorenz Bauer,
Daniel Borkmann
2) Support new insns from cpu v4 from Yonghong Song
3) Non-atomically allocate freelist during prefill from YiFei Zhu
4) Support defragmenting IPv(4|6) packets in BPF from Daniel Xu
5) Add tracepoint to xdp attaching failure from Leon Hwang
6) struct netdev_rx_queue and xdp.h reshuffling to reduce
rebuild time from Jakub Kicinski
Please consider pulling these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev
Thanks a lot!
Also thanks to reporters, reviewers and testers of commits in this pull-request:
Amritha Nambiar, Björn Töpel, Colm Harrington, Dave Thaler, David
Vernet, Eduard Zingerman, Florian Westphal, Gerhard Engleder, Hou Tao,
Jesper Dangaard Brouer, Jiri Olsa, Kuniyuki Iwashima,
Quentin Monnet, Wei Fang, Yipeng Zou, Yonghong Song
----------------------------------------------------------------
The following changes since commit dc644b540a2d2874112706591234be3d3fbf9ef7:
tcx: Fix splat in ingress_destroy upon tcx_entry_free (2023-07-24 11:42:35 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev
for you to fetch changes up to 648880e9331c68b2008430fd90f3648d1795399d:
Merge branch 'net: struct netdev_rx_queue and xdp.h reshuffling' (2023-08-03 08:38:53 -0700)
----------------------------------------------------------------
pull-request: bpf-next 2023-08-03
----------------------------------------------------------------
Alan Maguire (1):
selftests/bpf: fix static assert compilation issue for test_cls_*.c
Alexei Starovoitov (3):
Merge branch 'bpf-support-new-insns-from-cpu-v4'
Merge branch 'support-defragmenting-ipv-4-6-packets-in-bpf'
Merge branch 'bpf-xdp-add-tracepoint-to-xdp-attaching-failure'
Arnd Bergmann (2):
bpf: work around -Wuninitialized warning
bpf: fix bpf_probe_read_kernel prototype mismatch
Colin Ian King (1):
selftests/xsk: Fix spelling mistake "querrying" -> "querying"
Daniel Borkmann (1):
selftests/bpf: Test that SO_REUSEPORT can be used with sk_assign helper
Daniel Xu (6):
netfilter: defrag: Add glue hooks for enabling/disabling defrag
netfilter: bpf: Support BPF_F_NETFILTER_IP_DEFRAG in netfilter link
bpf: selftests: Support not connecting client socket
bpf: selftests: Support custom type and proto for client sockets
bpf: selftests: Add defrag selftests
netfilter: bpf: Only define get_proto_defrag_hook() if necessary
Hou Tao (2):
bpf, cpumap: Remove unused cmap field from bpf_cpu_map_entry
bpf, devmap: Remove unused dtab field from bpf_dtab_netdev
Jakub Kicinski (3):
eth: add missing xdp.h includes in drivers
net: move struct netdev_rx_queue out of netdevice.h
net: invert the netdevice.h vs xdp.h dependency
Jose E. Marchesi (1):
bpf, docs: fix BPF_NEG entry in instruction-set.rst
Leon Hwang (2):
bpf, xdp: Add tracepoint to xdp attaching failure
selftests/bpf: Add testcase for xdp attaching failure tracepoint
Lorenz Bauer (8):
udp: re-score reuseport groups when connected sockets are present
bpf: reject unhashed sockets in bpf_sk_assign
net: export inet_lookup_reuseport and inet6_lookup_reuseport
net: remove duplicate reuseport_lookup functions
net: document inet[6]_lookup_reuseport sk_state requirements
net: remove duplicate sk_lookup helpers
bpf, net: Support SO_REUSEPORT sockets with bpf_sk_assign
net: remove duplicate INDIRECT_CALLABLE_DECLARE of udp[6]_ehashfn
Martin KaFai Lau (3):
Merge branch 'Add SO_REUSEPORT support for TC bpf_sk_assign'
Merge branch 'Remove unused fields in cpumap & devmap'
Merge branch 'net: struct netdev_rx_queue and xdp.h reshuffling'
Pu Lehui (1):
riscv, bpf: Adapt bpf trampoline to optimized riscv ftrace framework
Randy Dunlap (1):
libbpf: fix typos in Makefile
Yauheni Kaliuta (1):
tracing: bpf: use struct trace_entry in struct syscall_tp_t
YiFei Zhu (1):
bpf: Non-atomically allocate freelist during prefill
Yonghong Song (23):
MAINTAINERS: Replace my email address
bpf: Support new sign-extension load insns
bpf: Support new sign-extension mov insns
bpf: Handle sign-extenstin ctx member accesses
bpf: Support new unconditional bswap instruction
bpf: Support new signed div/mod instructions.
bpf: Fix jit blinding with new sdiv/smov insns
bpf: Support new 32bit offset jmp instruction
bpf: Add kernel/bpftool asm support for new instructions
selftests/bpf: Fix a test_verifier failure
selftests/bpf: Add a cpuv4 test runner for cpu=v4 testing
selftests/bpf: Add unit tests for new sign-extension load insns
selftests/bpf: Add unit tests for new sign-extension mov insns
selftests/bpf: Add unit tests for new bswap insns
selftests/bpf: Add unit tests for new sdiv/smod insns
selftests/bpf: Add unit tests for new gotol insn
selftests/bpf: Test ldsx with more complex cases
docs/bpf: Add documentation for new instructions
bpf: Fix compilation warning with -Wparentheses
selftests/bpf: Enable test test_progs-cpuv4 for gcc build kernel
docs/bpf: Improve documentation for cpu=v4 instructions
docs/bpf: Fix malformed documentation
bpf: Fix an array-index-out-of-bounds issue in disasm.c
Documentation/bpf/bpf_design_QA.rst | 5 -
.../bpf/standardization/instruction-set.rst | 130 +++-
MAINTAINERS | 4 +-
arch/riscv/net/bpf_jit_comp64.c | 153 ++--
arch/x86/net/bpf_jit_comp.c | 141 +++-
drivers/net/bonding/bond_main.c | 1 +
drivers/net/ethernet/amazon/ena/ena_netdev.h | 1 +
drivers/net/ethernet/engleder/tsnep.h | 1 +
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 1 +
drivers/net/ethernet/freescale/enetc/enetc.h | 1 +
drivers/net/ethernet/freescale/fec.h | 1 +
drivers/net/ethernet/fungible/funeth/funeth_txrx.h | 1 +
drivers/net/ethernet/google/gve/gve.h | 1 +
drivers/net/ethernet/intel/igc/igc.h | 1 +
.../net/ethernet/microchip/lan966x/lan966x_main.h | 1 +
drivers/net/ethernet/microsoft/mana/mana_en.c | 1 +
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 +
drivers/net/ethernet/ti/cpsw_priv.h | 1 +
drivers/net/hyperv/hyperv_net.h | 1 +
drivers/net/tap.c | 1 +
drivers/net/virtio_net.c | 1 +
include/linux/bpf.h | 12 +
include/linux/filter.h | 34 +-
include/linux/netdevice.h | 55 +-
include/linux/netfilter.h | 10 +
include/net/busy_poll.h | 1 +
include/net/inet6_hashtables.h | 81 ++-
include/net/inet_hashtables.h | 74 +-
include/net/mana/mana.h | 2 +
include/net/netdev_rx_queue.h | 53 ++
include/net/sock.h | 7 +-
include/net/xdp.h | 29 +-
include/trace/events/xdp.h | 18 +
include/uapi/linux/bpf.h | 9 +-
kernel/bpf/btf.c | 1 +
kernel/bpf/core.c | 206 +++++-
kernel/bpf/cpumap.c | 3 -
kernel/bpf/devmap.c | 2 -
kernel/bpf/disasm.c | 58 +-
kernel/bpf/memalloc.c | 24 +-
kernel/bpf/offload.c | 1 +
kernel/bpf/verifier.c | 349 +++++++--
kernel/trace/bpf_trace.c | 11 -
kernel/trace/trace_syscalls.c | 12 +-
net/bpf/test_run.c | 1 +
net/core/dev.c | 6 +-
net/core/filter.c | 4 +-
net/core/net-sysfs.c | 1 +
net/ipv4/inet_hashtables.c | 66 +-
net/ipv4/netfilter/nf_defrag_ipv4.c | 17 +-
net/ipv4/udp.c | 88 +--
net/ipv6/inet6_hashtables.c | 69 +-
net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 11 +
net/ipv6/udp.c | 96 +--
net/netfilter/core.c | 6 +
net/netfilter/nf_bpf_link.c | 125 +++-
net/netfilter/nf_conntrack_bpf.c | 1 +
net/xdp/xsk.c | 1 +
tools/include/uapi/linux/bpf.h | 9 +-
tools/lib/bpf/Makefile | 4 +-
tools/testing/selftests/bpf/.gitignore | 2 +
tools/testing/selftests/bpf/Makefile | 33 +-
.../selftests/bpf/bpf_testmod/bpf_testmod.c | 9 +-
.../selftests/bpf/generate_udp_fragments.py | 90 +++
.../testing/selftests/bpf/ip_check_defrag_frags.h | 57 ++
tools/testing/selftests/bpf/network_helpers.c | 29 +-
tools/testing/selftests/bpf/network_helpers.h | 3 +
.../selftests/bpf/prog_tests/assign_reuse.c | 199 ++++++
.../selftests/bpf/prog_tests/ip_check_defrag.c | 283 ++++++++
.../selftests/bpf/prog_tests/test_ldsx_insn.c | 139 ++++
tools/testing/selftests/bpf/prog_tests/verifier.c | 10 +
.../testing/selftests/bpf/prog_tests/xdp_attach.c | 65 ++
.../testing/selftests/bpf/progs/ip_check_defrag.c | 104 +++
.../selftests/bpf/progs/test_assign_reuse.c | 142 ++++
.../selftests/bpf/progs/test_cls_redirect.h | 9 +
tools/testing/selftests/bpf/progs/test_ldsx_insn.c | 118 ++++
.../selftests/bpf/progs/test_xdp_attach_fail.c | 54 ++
tools/testing/selftests/bpf/progs/verifier_bswap.c | 59 ++
tools/testing/selftests/bpf/progs/verifier_gotol.c | 44 ++
tools/testing/selftests/bpf/progs/verifier_ldsx.c | 131 ++++
tools/testing/selftests/bpf/progs/verifier_movsx.c | 213 ++++++
tools/testing/selftests/bpf/progs/verifier_sdiv.c | 781 +++++++++++++++++++++
tools/testing/selftests/bpf/verifier/basic_instr.c | 6 +-
tools/testing/selftests/bpf/xskxceiver.c | 2 +-
84 files changed, 4026 insertions(+), 562 deletions(-)
create mode 100644 include/net/netdev_rx_queue.h
create mode 100755 tools/testing/selftests/bpf/generate_udp_fragments.py
create mode 100644 tools/testing/selftests/bpf/ip_check_defrag_frags.h
create mode 100644 tools/testing/selftests/bpf/prog_tests/assign_reuse.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/ip_check_defrag.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/test_ldsx_insn.c
create mode 100644 tools/testing/selftests/bpf/progs/ip_check_defrag.c
create mode 100644 tools/testing/selftests/bpf/progs/test_assign_reuse.c
create mode 100644 tools/testing/selftests/bpf/progs/test_ldsx_insn.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_attach_fail.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_bswap.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_gotol.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_ldsx.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_movsx.c
create mode 100644 tools/testing/selftests/bpf/progs/verifier_sdiv.c
Powered by blists - more mailing lists