From: Daniel Xu <dxu@dxuuu.xyz>
To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org, linux-kselftest@vger.kernel.org,
steffen.klassert@secunet.com, antony.antony@secunet.com
Cc: devel@linux-ipsec.org
Subject: [RFC bpf-next 0/6] Add bpf_xdp_get_xfrm_state() kfunc
Date: Fri, 27 Oct 2023 12:46:16 -0600 [thread overview]
Message-ID: <cover.1698431765.git.dxu@dxuuu.xyz> (raw)
This patchset adds a kfunc helper, bpf_xdp_get_xfrm_state(), that wraps
xfrm_state_lookup(). The intent is to support software RSS (via XDP) for
the ongoing/upcoming ipsec pcpu work [0]. Recent experiments performed
on (hopefully) reproducible AWS testbeds indicate that single tunnel
pcpu ipsec can reach line rate on 100G ENA nics.
More details about that will be presented at netdev next week [1].
Antony did the initial stable bpf helper - I later ported it to unstable
kfuncs. So for the series, please apply a Co-developed-by for Antony,
provided he acks and signs off on this.
[0]: https://datatracker.ietf.org/doc/html/draft-ietf-ipsecme-multi-sa-performance-02
[1]: https://netdevconf.info/0x17/sessions/workshop/security-workshop.html
Daniel Xu (6):
bpf: xfrm: Add bpf_xdp_get_xfrm_state() kfunc
bpf: selftests: test_tunnel: Use ping -6 over ping6
bpf: selftests: test_tunnel: Mount bpffs if necessary
bpf: selftests: test_tunnel: Use vmlinux.h declarations
bpf: selftests: test_tunnel: Disable CO-RE relocations
bpf: xfrm: Add selftest for bpf_xdp_get_xfrm_state()
include/net/xfrm.h | 9 ++
net/xfrm/Makefile | 1 +
net/xfrm/xfrm_policy.c | 2 +
net/xfrm/xfrm_state_bpf.c | 105 ++++++++++++++++++
.../selftests/bpf/progs/bpf_tracing_net.h | 1 +
.../selftests/bpf/progs/test_tunnel_kern.c | 95 +++++++++-------
tools/testing/selftests/bpf/test_tunnel.sh | 43 ++++---
7 files changed, 202 insertions(+), 54 deletions(-)
create mode 100644 net/xfrm/xfrm_state_bpf.c
--
2.42.0
next reply other threads:[~2023-10-27 18:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-27 18:46 Daniel Xu [this message]
2023-10-27 18:46 ` [RFC bpf-next 1/6] bpf: xfrm: Add bpf_xdp_get_xfrm_state() kfunc Daniel Xu
2023-10-28 23:49 ` Alexei Starovoitov
2023-10-29 22:55 ` Daniel Xu
2023-10-31 22:38 ` Alexei Starovoitov
2023-11-01 17:51 ` Daniel Xu
2023-11-01 18:51 ` Alexei Starovoitov
2023-10-27 18:46 ` [RFC bpf-next 2/6] bpf: selftests: test_tunnel: Use ping -6 over ping6 Daniel Xu
2023-10-27 18:46 ` [RFC bpf-next 3/6] bpf: selftests: test_tunnel: Mount bpffs if necessary Daniel Xu
2023-10-27 18:46 ` [RFC bpf-next 4/6] bpf: selftests: test_tunnel: Use vmlinux.h declarations Daniel Xu
2023-10-27 18:46 ` [RFC bpf-next 5/6] bpf: selftests: test_tunnel: Disable CO-RE relocations Daniel Xu
2023-10-27 20:33 ` Andrii Nakryiko
2023-10-29 23:22 ` Daniel Xu
2023-10-31 6:25 ` Andrii Nakryiko
2023-10-27 18:46 ` [RFC bpf-next 6/6] bpf: xfrm: Add selftest for bpf_xdp_get_xfrm_state() Daniel Xu
2023-10-29 2:13 ` [RFC bpf-next 0/6] Add bpf_xdp_get_xfrm_state() kfunc Antony Antony
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=cover.1698431765.git.dxu@dxuuu.xyz \
--to=dxu@dxuuu.xyz \
--cc=antony.antony@secunet.com \
--cc=bpf@vger.kernel.org \
--cc=devel@linux-ipsec.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=steffen.klassert@secunet.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).