From: David Ahern <dsahern@kernel.org>
To: netdev@vger.kernel.org
Cc: bpf@vger.kernel.org, davem@davemloft.net, kuba@kernel.org,
brouer@redhat.com, toke@redhat.com, lorenzo@kernel.org,
daniel@iogearbox.net, john.fastabend@gmail.com, ast@kernel.org,
kafai@fb.com, songliubraving@fb.com, yhs@fb.com, andriin@fb.com,
dsahern@gmail.com, David Ahern <dsahern@kernel.org>
Subject: [PATCH v4 bpf-next 0/5] bpf: Add support for XDP programs in DEVMAP entries
Date: Fri, 29 May 2020 16:07:11 -0600 [thread overview]
Message-ID: <20200529220716.75383-1-dsahern@kernel.org> (raw)
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
--
2.21.1 (Apple Git-122.3)
next reply other threads:[~2020-05-29 22:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-29 22:07 David Ahern [this message]
2020-05-29 22:07 ` [PATCH v4 bpf-next 1/5] devmap: Formalize map value as a named struct David Ahern
2020-05-29 22:07 ` [PATCH v4 bpf-next 2/5] bpf: Add support to attach bpf program to a devmap entry David Ahern
2020-05-29 22:07 ` [PATCH v4 bpf-next 3/5] xdp: Add xdp_txq_info to xdp_buff David Ahern
2020-05-29 22:07 ` [PATCH v4 bpf-next 4/5] libbpf: Add SEC name for xdp programs attached to device map David Ahern
2020-05-29 22:07 ` [PATCH v4 bpf-next 5/5] selftest: Add tests for XDP programs in devmap entries David Ahern
2020-06-01 21:12 ` [PATCH v4 bpf-next 0/5] bpf: Add support for XDP programs in DEVMAP entries Alexei Starovoitov
2020-06-01 22:28 ` David Ahern
2020-06-01 22:31 ` Alexei Starovoitov
2020-06-01 22:52 ` Andrii Nakryiko
2020-06-02 3:00 ` David Ahern
2020-06-05 23:45 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200529220716.75383-1-dsahern@kernel.org \
--to=dsahern@kernel.org \
--cc=andriin@fb.com \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=brouer@redhat.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dsahern@gmail.com \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kuba@kernel.org \
--cc=lorenzo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=songliubraving@fb.com \
--cc=toke@redhat.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.