mbox series

pull-request: bpf-next 2023-11-30

Message ID 20231130145708.32573-1-daniel@iogearbox.net (mailing list archive)
State Accepted
Commit 0d47fa5cc91b9c8a0c90833bf1705048b2295714
Delegated to: Netdev Maintainers
Headers show
Series pull-request: bpf-next 2023-11-30 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git tags/for-netdev

Checks

Context Check Description
netdev/tree_selection success Pull request for net-next, async
netdev/apply fail Pull to net-next failed

Message

Daniel Borkmann Nov. 30, 2023, 2:57 p.m. UTC
Hi David, hi Jakub, hi Paolo, hi Eric,

The following pull-request contains BPF updates for your *net-next* tree.

We've added 30 non-merge commits during the last 7 day(s) which contain
a total of 58 files changed, 1598 insertions(+), 154 deletions(-).

There is a small merge conflict in Documentation/netlink/specs/netdev.yaml
between net-next merge of a379972973a8 ("Merge branch 'net-page_pool-add-
netlink-based-introspection'") and bpf-next commit 48eb03dd2630 ("xsk: Add
TX timestamp and TX checksum offload support") - resolution is to take both
hunks with xsk-features hunk coming right after the xdp-rx-metadata.

The main changes are:

1) Add initial TX metadata implementation for AF_XDP with support in mlx5
   and stmmac drivers. Two types of offloads are supported right now, that
   is, TX timestamp and TX checksum offload, from Stanislav Fomichev with
   stmmac implementation from Song Yoong Siang.

2) Change BPF verifier logic to validate global subprograms lazily instead of
   unconditionally before the main program, so they can be guarded using BPF
   CO-RE techniques, from Andrii Nakryiko.

3) Add BPF link_info support for uprobe multi link along with bpftool
   integration for the latter, from Jiri Olsa.

4) Use pkg-config in BPF selftests to determine ld flags which is in
   particular needed for linking statically, from Akihiko Odaki.

5) Fix a few BPF selftest failures to adapt to the upcoming LLVM18, from
   Yonghong Song.

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:

Andrii Nakryiko, Daniel Borkmann, Eduard Zingerman, Jakub Kicinski, 
Johan Almbladh, Quentin Monnet, Song Liu, Song Yoong Siang, Yafang Shao, 
Yonghong Song

----------------------------------------------------------------

The following changes since commit 45c226dde742a92e22dcd65b96bf7e02620a9c19:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2023-11-23 12:20:58 -0800)

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 f690ff9122d2ca8e38769f3bcf217bd3df681a36:

  bpf/tests: Remove duplicate JSGT tests (2023-11-30 12:17:33 +0100)

----------------------------------------------------------------
bpf-next-for-netdev

----------------------------------------------------------------
Akihiko Odaki (3):
      selftests/bpf: Choose pkg-config for the target
      selftests/bpf: Override PKG_CONFIG for static builds
      selftests/bpf: Use pkg-config for libelf

Alexei Starovoitov (1):
      Merge branch 'xsk-tx-metadata'

Andrii Nakryiko (5):
      bpf: Emit global subprog name in verifier logs
      bpf: Validate global subprogs lazily
      selftests/bpf: Add lazy global subprog validation tests
      Merge branch 'bpf-add-link_info-support-for-uprobe-multi-link'
      Merge branch 'selftests-bpf-use-pkg-config-to-determine-ld-flags'

Eduard Zingerman (1):
      libbpf: Start v1.4 development cycle

Jiri Olsa (6):
      libbpf: Add st_type argument to elf_resolve_syms_offsets function
      bpf: Store ref_ctr_offsets values in bpf_uprobe array
      bpf: Add link_info support for uprobe multi link
      selftests/bpf: Use bpf_link__destroy in fill_link_info tests
      selftests/bpf: Add link_info test for uprobe_multi link
      bpftool: Add support to display uprobe_multi links

Song Yoong Siang (1):
      net: stmmac: Add Tx HWTS support to XDP ZC

Stanislav Fomichev (14):
      bpftool: mark orphaned programs during prog show
      selftests/bpf: update test_offload to use new orphaned property
      xsk: Support tx_metadata_len
      xsk: Add TX timestamp and TX checksum offload support
      tools: ynl: Print xsk-features from the sample
      net/mlx5e: Implement AF_XDP TX timestamp and checksum offload
      xsk: Document tx_metadata_len layout
      xsk: Validate xsk_tx_metadata flags
      xsk: Add option to calculate TX checksum in SW
      selftests/xsk: Support tx_metadata_len
      selftests/bpf: Add csum helpers
      selftests/bpf: Add TX side to xdp_metadata
      selftests/bpf: Convert xdp_hw_metadata to XDP_USE_NEED_WAKEUP
      selftests/bpf: Add TX side to xdp_hw_metadata

Yonghong Song (1):
      bpf: Fix a few selftest failures due to llvm18 change

Yujie Liu (1):
      bpf/tests: Remove duplicate JSGT tests

 Documentation/netlink/specs/netdev.yaml            |  19 +-
 Documentation/networking/index.rst                 |   1 +
 Documentation/networking/xdp-rx-metadata.rst       |   2 +
 Documentation/networking/xsk-tx-metadata.rst       |  79 +++++++
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c   |  72 +++++-
 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h   |  11 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/tx.c    |  17 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |   1 +
 drivers/net/ethernet/stmicro/stmmac/stmmac.h       |  12 +
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  64 +++++-
 include/linux/bpf.h                                |   2 +
 include/linux/netdevice.h                          |   2 +
 include/linux/skbuff.h                             |  14 +-
 include/net/xdp_sock.h                             | 111 ++++++++++
 include/net/xdp_sock_drv.h                         |  34 +++
 include/net/xsk_buff_pool.h                        |   8 +
 include/uapi/linux/bpf.h                           |  10 +
 include/uapi/linux/if_xdp.h                        |  47 +++-
 include/uapi/linux/netdev.h                        |  16 ++
 kernel/bpf/verifier.c                              |  83 +++++--
 kernel/trace/bpf_trace.c                           |  86 +++++++-
 lib/test_bpf.c                                     |   2 -
 net/bpf/test_run.c                                 |   2 +-
 net/core/netdev-genl.c                             |  13 +-
 net/xdp/xdp_umem.c                                 |  11 +-
 net/xdp/xsk.c                                      |  56 ++++-
 net/xdp/xsk_buff_pool.c                            |   2 +
 net/xdp/xsk_queue.h                                |  19 +-
 tools/bpf/bpftool/link.c                           | 105 ++++++++-
 tools/bpf/bpftool/prog.c                           |  14 +-
 tools/include/uapi/linux/bpf.h                     |  10 +
 tools/include/uapi/linux/if_xdp.h                  |  61 +++++-
 tools/include/uapi/linux/netdev.h                  |  16 ++
 tools/lib/bpf/elf.c                                |   5 +-
 tools/lib/bpf/libbpf.c                             |   2 +-
 tools/lib/bpf/libbpf.map                           |   3 +
 tools/lib/bpf/libbpf_internal.h                    |   3 +-
 tools/lib/bpf/libbpf_version.h                     |   2 +-
 tools/net/ynl/generated/netdev-user.c              |  19 ++
 tools/net/ynl/generated/netdev-user.h              |   3 +
 tools/net/ynl/samples/netdev.c                     |  10 +-
 tools/testing/selftests/bpf/Makefile               |  14 +-
 tools/testing/selftests/bpf/README.rst             |   2 +-
 tools/testing/selftests/bpf/network_helpers.h      |  43 ++++
 .../selftests/bpf/prog_tests/fill_link_info.c      | 242 +++++++++++++++++++--
 .../selftests/bpf/prog_tests/uprobe_multi_test.c   |   2 +-
 tools/testing/selftests/bpf/prog_tests/verifier.c  |   2 +
 .../selftests/bpf/prog_tests/xdp_metadata.c        |  33 ++-
 .../selftests/bpf/progs/test_fill_link_info.c      |   6 +
 .../selftests/bpf/progs/test_global_func12.c       |   4 +-
 .../selftests/bpf/progs/test_global_func17.c       |   1 +
 .../selftests/bpf/progs/verifier_global_subprogs.c |  92 ++++++++
 .../bpf/progs/verifier_subprog_precision.c         |   4 +-
 tools/testing/selftests/bpf/test_offload.py        |  15 +-
 tools/testing/selftests/bpf/xdp_hw_metadata.c      | 235 +++++++++++++++++---
 tools/testing/selftests/bpf/xsk.c                  |   3 +
 tools/testing/selftests/bpf/xsk.h                  |   1 +
 58 files changed, 1598 insertions(+), 154 deletions(-)
 create mode 100644 Documentation/networking/xsk-tx-metadata.rst
 create mode 100644 tools/testing/selftests/bpf/progs/verifier_global_subprogs.c

Comments

patchwork-bot+netdevbpf@kernel.org Dec. 1, 2023, 1:20 a.m. UTC | #1
Hello:

This pull request was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 30 Nov 2023 15:57:08 +0100 you wrote:
> Hi David, hi Jakub, hi Paolo, hi Eric,
> 
> The following pull-request contains BPF updates for your *net-next* tree.
> 
> We've added 30 non-merge commits during the last 7 day(s) which contain
> a total of 58 files changed, 1598 insertions(+), 154 deletions(-).
> 
> [...]

Here is the summary with links:
  - pull-request: bpf-next 2023-11-30
    https://git.kernel.org/netdev/net-next/c/0d47fa5cc91b

You are awesome, thank you!