Skip to content

bpf: Add support for XDP programs in DEVMAP entries

David Ahern bpf netdev 4 versions – Applied

Status from this message: Applied.

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest5 patches 6 repliesApplied
  2. v35 patches 7 repliesSuperseded
  3. v25 patches 12 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v15 patches14 repliesSuperseded

Patches in v4 Applied

#Subject and filesSizeRepliesApplied
1/5devmap: Formalize map value as a named structkernel/bpf/devmap.c+28 -170 replies
2/5bpf: Add support to attach bpf program to a devmap entryinclude/linux/bpf.h include/uapi/linux/bpf.h kernel/bpf/devmap.c +2 more+109 -40 replies
3/5xdp: Add xdp_txq_info to xdp_buffinclude/net/xdp.h include/uapi/linux/bpf.h kernel/bpf/devmap.c +2 more+29 -00 replies
4/5libbpf: Add SEC name for xdp programs attached to device maptools/lib/bpf/libbpf.c+2 -00 replies
5/5selftest: Add tests for XDP programs in devmap entriestools/testing/selftests/bpf/prog_tests/xdp_devmap_attach.c tools/testing/selftests/bpf/progs/test_xdp_devmap_helpers.c tools/testing/selftests/bpf/progs/test_xdp_with_devmap_helpers.c+163 -00 replies

Reviews trailers per patch

All 5 patches have a Reviewed-by or Acked-by.

PatchToke Høiland-Jørgensen
1/5A-b
2/5A-b
3/5A-b
4/5A-b
5/5A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 bpf-next 0/5] bpf: Add support for XDP programs in DEVMAP entries

Implementation of Daniel's proposal for allowing DEVMAP entries to be a device index, program fd pair.

Programs are run after XDP_REDIRECT and have access to both Rx device and Tx device.

v4
- moved struct bpf_devmap_val from uapi to devmap.c, named the union and dropped the prefix from the elements - Jesper
- fixed 2 bugs in selftests

v3
- renamed struct to bpf_devmap_val
- used offsetofend to check for expected map size, modification of Toke's comment
- check for explicit value sizes
- adjusted switch statement in dev_map_run_prog per Andrii's comment
- changed SEC shortcut to xdp_devmap
- changed selftests to use skeleton and new map declaration

v2
- moved dev_map_ext_val definition to uapi to formalize the API for devmap extensions; add bpf_ prefix to the prog_fd and prog_id entries
- changed devmap code to handle struct in a way that it can support future extensions
- fixed subject in libbpf patch

v1
- fixed prog put on invalid program - Toke
- changed write value from id to fd per Toke's comments about capabilities
- add test cases

David Ahern (5):
devmap: Formalize map value as a named struct
bpf: Add support to attach bpf program to a devmap entry
xdp: Add xdp_txq_info to xdp_buff
libbpf: Add SEC name for xdp programs attached to device map
selftest: Add tests for XDP programs in devmap entries

 include/linux/bpf.h                           |   5 +
 include/net/xdp.h                             |   5 +
 include/uapi/linux/bpf.h                      |   3 +
 kernel/bpf/devmap.c                           | 130 +++++++++++++++---
 net/core/dev.c                                |  18 +++
 net/core/filter.c                             |  17 +++
 tools/include/uapi/linux/bpf.h                |   3 +
 tools/lib/bpf/libbpf.c                        |   2 +
 .../bpf/prog_tests/xdp_devmap_attach.c        |  97 +++++++++++++
 .../bpf/progs/test_xdp_devmap_helpers.c       |  22 +++
 .../bpf/progs/test_xdp_with_devmap_helpers.c  |  44 ++++++
 11 files changed, 328 insertions(+), 18 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/xdp_devmap_attach.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_devmap_helpers.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_with_devmap_helpers.c
Signature · 1 line
2.21.1 (Apple Git-122.3)