Skip to content

BPF metadata for direct access

Daniel Borkmann netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest6 patches 22 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6bpf: rename bpf_compute_data_end into bpf_compute_data_pointersinclude/linux/filter.h kernel/bpf/sockmap.c net/bpf/test_run.c +4 more+21 -180 replies
2/6bpf: add meta pointer for direct accessdrivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c drivers/net/ethernet/cavium/thunder/nicvf_main.c drivers/net/ethernet/intel/i40e/i40e_txrx.c +16 more+297 -4217 replies
3/6bpf: update bpf.h uapi header for toolstools/include/uapi/linux/bpf.h+32 -132 replies
4/6bpf: improve selftests and add tests for meta pointertools/testing/selftests/bpf/Makefile tools/testing/selftests/bpf/bpf_helpers.h tools/testing/selftests/bpf/test_verifier.c +2 more+370 -40 replies
5/6bpf, nfp: add meta data supportdrivers/net/ethernet/netronome/nfp/nfp_net_common.c+15 -251 reply
6/6bpf, ixgbe: add meta data supportdrivers/net/ethernet/intel/ixgbe/ixgbe_main.c+26 -40 replies

Reviews trailers per patch

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

PatchAlexei StarovoitovJohn FastabendJakub KicinskiJesper Dangaard Brouer
1/6A-b A-b
2/6A-b A-b
3/6A-b A-b A-b
4/6A-b A-b
5/6A-b A-b R-b
6/6A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v1 thread

Cover letter [PATCH net-next 0/6] BPF metadata for direct access

This work enables generic transfer of metadata from XDP into skb, meaning the packet has a flexible and programmable room for meta data, which can later be used by BPF to set various skb members when passing up the stack. For details, please see second patch. Support has been implemented and tested with two drivers, and should be straight forward to add to other drivers as well which properly support head adjustment already.

Thanks!

Daniel Borkmann (6):
bpf: rename bpf_compute_data_end into bpf_compute_data_pointers
bpf: add meta pointer for direct access
bpf: update bpf.h uapi header for tools
bpf: improve selftests and add tests for meta pointer bpf, nfp: add meta data support
bpf, ixgbe: add meta data support

 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c      |   1 +
 drivers/net/ethernet/cavium/thunder/nicvf_main.c   |   1 +
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |   1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |  29 ++-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c         |   1 +
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |   1 +
 .../net/ethernet/netronome/nfp/nfp_net_common.c    |  39 ++--
 drivers/net/ethernet/qlogic/qede/qede_fp.c         |   1 +
 drivers/net/tun.c                                  |   1 +
 drivers/net/virtio_net.c                           |   2 +
 include/linux/bpf.h                                |   1 +
 include/linux/filter.h                             |  30 ++-
 include/linux/skbuff.h                             |  68 +++++-
 include/uapi/linux/bpf.h                           |  13 +-
 kernel/bpf/sockmap.c                               |   4 +-
 kernel/bpf/verifier.c                              | 114 +++++++---
 net/bpf/test_run.c                                 |   3 +-
 net/core/dev.c                                     |  31 ++-
 net/core/filter.c                                  |  91 +++++++-
 net/core/lwt_bpf.c                                 |   2 +-
 net/core/skbuff.c                                  |   2 +
 net/sched/act_bpf.c                                |   4 +-
 net/sched/cls_bpf.c                                |   4 +-
 tools/include/uapi/linux/bpf.h                     |  45 ++--
 tools/testing/selftests/bpf/Makefile               |  21 +-
 tools/testing/selftests/bpf/bpf_helpers.h          |   2 +
 tools/testing/selftests/bpf/test_verifier.c        | 247 +++++++++++++++++++++
 tools/testing/selftests/bpf/test_xdp_meta.c        |  53 +++++
 tools/testing/selftests/bpf/test_xdp_meta.sh       |  51 +++++
 29 files changed, 759 insertions(+), 104 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/test_xdp_meta.c
 create mode 100755 tools/testing/selftests/bpf/test_xdp_meta.sh
Signature · 1 line
1.9.3