| From: |
| David Ahern <dsahern-AT-kernel.org> |
| To: |
| netdev-AT-vger.kernel.org |
| Subject: |
| [PATCH v2 bpf-next 0/5] bpf: Add support for XDP programs in DEVMAP entries |
| Date: |
| Wed, 27 May 2020 18:14:18 -0600 |
| Message-ID: |
| <20200528001423.58575-1-dsahern@kernel.org> |
| Cc: |
| davem-AT-davemloft.net, kuba-AT-kernel.org, brouer-AT-redhat.com, toke-AT-redhat.com, daniel-AT-iogearbox.net, john.fastabend-AT-gmail.com, ast-AT-kernel.org, kafai-AT-fb.com, songliubraving-AT-fb.com, yhs-AT-fb.com, andriin-AT-fb.com, dsahern-AT-gmail.com, David Ahern <dsahern-AT-kernel.org> |
| Archive-link: |
| Article |
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)