[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200529052057.69378-1-dsahern@kernel.org>
Date: Thu, 28 May 2020 23:20:52 -0600
From: David Ahern <dsahern@...nel.org>
To: netdev@...r.kernel.org
Cc: bpf@...r.kernel.org, davem@...emloft.net, kuba@...nel.org,
brouer@...hat.com, toke@...hat.com, lorenzo@...nel.org,
daniel@...earbox.net, john.fastabend@...il.com, ast@...nel.org,
kafai@...com, songliubraving@...com, yhs@...com, andriin@...com,
dsahern@...il.com, David Ahern <dsahern@...nel.org>
Subject: [PATCH v3 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.
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 | 12 ++
kernel/bpf/devmap.c | 121 +++++++++++++++---
net/core/dev.c | 18 +++
net/core/filter.c | 17 +++
tools/include/uapi/linux/bpf.h | 12 ++
tools/lib/bpf/libbpf.c | 2 +
.../bpf/prog_tests/xdp_devmap_attach.c | 89 +++++++++++++
.../bpf/progs/test_xdp_devmap_helpers.c | 22 ++++
.../bpf/progs/test_xdp_with_devmap_helpers.c | 43 +++++++
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
--
2.21.1 (Apple Git-122.3)
Powered by blists - more mailing lists