mbox series

[bpf-next,v6,0/6] Follow-up BPF helper improvements

Message ID 20201010234006.7075-1-daniel@iogearbox.net (mailing list archive)
Headers show
Series Follow-up BPF helper improvements | expand

Message

Daniel Borkmann Oct. 10, 2020, 11:40 p.m. UTC
This series addresses most of the feedback [0] that was to be followed
up from the last series, that is, UAPI helper comment improvements and
getting rid of the ifindex obj file hacks in the selftest by using a
BPF map instead. The __sk_buff data/data_end pointer work, I'm planning
to do in a later round as well as the mem*() BPF improvements we have
in Cilium for libbpf. Next, the series adds two features, i) a helper
called redirect_peer() to improve latency on netns switch, and ii) to
allow map in map with dynamic inner array map sizes. Selftests for each
are added as well. For details, please check individual patches, thanks!

  [0] https://lore.kernel.org/bpf/cover.1601477936.git.daniel@iogearbox.net/

v5 -> v6:
  - Going with Andrii's suggestion to make the misconfigured verifier
    test more robust, and only probe on -EOPNOTSUPP (Andrii)
v4 -> v5:
  - Replace cnt == -EOPNOTSUPP check with cnt < 0; I've used < 0
    here as I think it's useful to keep the existing cnt == 0 ||
    cnt >= ARRAY_SIZE(insn_buf) for error detection (Andrii)
v3 -> v4:
  - Rename new array map flag to BPF_F_INNER_MAP (Alexei)
v2 -> v3:
  - Remove tab that slipped into uapi helper desc (Jakub)
  - Rework map in map for array to error from map_gen_lookup (Andrii)
v1 -> v2:
  - Fixed selftest comment wrt inner1/inner2 value (Yonghong)

Daniel Borkmann (6):
  bpf: improve bpf_redirect_neigh helper description
  bpf: add redirect_peer helper
  bpf: allow for map-in-map with dynamic inner array map entries
  bpf, selftests: add test for different array inner map size
  bpf, selftests: make redirect_neigh test more extensible
  bpf, selftests: add redirect_peer selftest

 drivers/net/veth.c                            |   9 +
 include/linux/bpf.h                           |   2 +-
 include/linux/netdevice.h                     |   4 +
 include/uapi/linux/bpf.h                      |  30 ++-
 kernel/bpf/arraymap.c                         |  17 +-
 kernel/bpf/hashtab.c                          |   6 +-
 kernel/bpf/verifier.c                         |   6 +-
 net/core/dev.c                                |  15 +-
 net/core/filter.c                             |  54 ++++-
 net/xdp/xskmap.c                              |   2 +-
 tools/include/uapi/linux/bpf.h                |  30 ++-
 .../selftests/bpf/prog_tests/btf_map_in_map.c |  39 +++-
 .../selftests/bpf/progs/test_btf_map_in_map.c |  43 ++++
 .../selftests/bpf/progs/test_tc_neigh.c       |  40 ++--
 .../selftests/bpf/progs/test_tc_peer.c        |  45 ++++
 tools/testing/selftests/bpf/test_tc_neigh.sh  | 168 ---------------
 .../testing/selftests/bpf/test_tc_redirect.sh | 204 ++++++++++++++++++
 17 files changed, 489 insertions(+), 225 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/test_tc_peer.c
 delete mode 100755 tools/testing/selftests/bpf/test_tc_neigh.sh
 create mode 100755 tools/testing/selftests/bpf/test_tc_redirect.sh

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 11, 2020, 5:40 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (refs/heads/master):

On Sun, 11 Oct 2020 01:40:00 +0200 you wrote:
> This series addresses most of the feedback [0] that was to be followed
> up from the last series, that is, UAPI helper comment improvements and
> getting rid of the ifindex obj file hacks in the selftest by using a
> BPF map instead. The __sk_buff data/data_end pointer work, I'm planning
> to do in a later round as well as the mem*() BPF improvements we have
> in Cilium for libbpf. Next, the series adds two features, i) a helper
> called redirect_peer() to improve latency on netns switch, and ii) to
> allow map in map with dynamic inner array map sizes. Selftests for each
> are added as well. For details, please check individual patches, thanks!
> 
> [...]

Here is the summary with links:
  - [bpf-next,v6,1/6] bpf: improve bpf_redirect_neigh helper description
    https://git.kernel.org/bpf/bpf-next/c/dd2ce6a5373c
  - [bpf-next,v6,2/6] bpf: add redirect_peer helper
    https://git.kernel.org/bpf/bpf-next/c/9aa1206e8f48
  - [bpf-next,v6,3/6] bpf: allow for map-in-map with dynamic inner array map entries
    https://git.kernel.org/bpf/bpf-next/c/4a8f87e60f6d
  - [bpf-next,v6,4/6] bpf, selftests: add test for different array inner map size
    https://git.kernel.org/bpf/bpf-next/c/6775dab73bdc
  - [bpf-next,v6,5/6] bpf, selftests: make redirect_neigh test more extensible
    https://git.kernel.org/bpf/bpf-next/c/57a73fe7c198
  - [bpf-next,v6,6/6] bpf, selftests: add redirect_peer selftest
    https://git.kernel.org/bpf/bpf-next/c/9f4c53ca23a2

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html