[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200528001423.58575-1-dsahern@kernel.org>
Date: Wed, 27 May 2020 18:14:18 -0600
From: David Ahern <dsahern@...nel.org>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, brouer@...hat.com,
toke@...hat.com, 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 v2 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.
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 | 119 +++++++++++++++---
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 | 94 ++++++++++++++
.../selftests/bpf/progs/test_xdp_devmap.c | 19 +++
.../selftests/bpf/progs/test_xdp_devmap2.c | 19 +++
.../bpf/progs/test_xdp_with_devmap.c | 17 +++
12 files changed, 322 insertions(+), 17 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.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_devmap2.c
create mode 100644 tools/testing/selftests/bpf/progs/test_xdp_with_devmap.c
--
2.21.1 (Apple Git-122.3)
Powered by blists - more mailing lists