From: Kumar Kartikeya Dwivedi <memxor@gmail.com>
To: netdev@vger.kernel.org
Cc: "Kumar Kartikeya Dwivedi" <memxor@gmail.com>,
"Alexei Starovoitov" <ast@kernel.org>,
"Daniel Borkmann" <daniel@iogearbox.net>,
"Andrii Nakryiko" <andrii@kernel.org>,
"Toke Høiland-Jørgensen" <toke@redhat.com>,
"Jesper Dangaard Brouer" <brouer@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
"Jakub Kicinski" <kuba@kernel.org>,
"John Fastabend" <john.fastabend@gmail.com>,
"Martin KaFai Lau" <kafai@fb.com>,
bpf@vger.kernel.org
Subject: [PATCH net-next v4 0/5] Generic XDP improvements
Date: Mon, 28 Jun 2021 17:17:41 +0530 [thread overview]
Message-ID: <20210628114746.129669-1-memxor@gmail.com> (raw)
This small series makes some improvements to generic XDP mode and brings it
closer to native XDP. Patch 1 splits out generic XDP processing into reusable
parts, patch 2 adds pointer friendly wrappers for bitops (not have to cast back
and forth the address of local pointer to unsigned long *), patch 3 implements
generic cpumap support (details in commit) and patch 4 allows devmap bpf prog
execution before generic_xdp_tx is called.
Patch 5 just updates a couple of selftests to adapt to changes in behavior (in
that specifying devmap/cpumap prog fd in generic mode is now allowed).
Changelog:
----------
v3 -> v4
v3: https://lore.kernel.org/bpf/20210622202835.1151230-1-memxor@gmail.com
* Add detach now that attach of XDP program succeeds (Toke)
* Clean up the test to use new ASSERT macros
v2 -> v3
v2: https://lore.kernel.org/bpf/20210622195527.1110497-1-memxor@gmail.com
* list_for_each_entry -> list_for_each_entry_safe (due to deletion of skb)
v1 -> v2
v1: https://lore.kernel.org/bpf/20210620233200.855534-1-memxor@gmail.com
* Move __ptr_{set,clear,test}_bit to bitops.h (Toke)
Also changed argument order to match the bit op they wrap.
* Remove map value size checking functions for cpumap/devmap (Toke)
* Rework prog run for skb in cpu_map_kthread_run (Toke)
* Set skb->dev to dst->dev after devmap prog has run
* Don't set xdp rxq that will be overwritten in cpumap prog run
Kumar Kartikeya Dwivedi (5):
net: core: split out code to run generic XDP prog
bitops: add non-atomic bitops for pointers
bpf: cpumap: implement generic cpumap
bpf: devmap: implement devmap prog execution for generic XDP
bpf: tidy xdp attach selftests
include/linux/bitops.h | 19 +++
include/linux/bpf.h | 10 +-
include/linux/netdevice.h | 2 +
include/linux/skbuff.h | 10 +-
include/linux/typecheck.h | 10 ++
kernel/bpf/cpumap.c | 115 +++++++++++++++---
kernel/bpf/devmap.c | 49 ++++++--
net/core/dev.c | 103 ++++++++--------
net/core/filter.c | 6 +-
.../bpf/prog_tests/xdp_cpumap_attach.c | 43 +++----
.../bpf/prog_tests/xdp_devmap_attach.c | 39 +++---
11 files changed, 269 insertions(+), 137 deletions(-)
--
2.31.1
next reply other threads:[~2021-06-28 11:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-28 11:47 Kumar Kartikeya Dwivedi [this message]
2021-06-28 11:47 ` [PATCH net-next v4 1/5] net: core: split out code to run generic XDP prog Kumar Kartikeya Dwivedi
2021-06-28 11:47 ` [PATCH net-next v4 2/5] bitops: add non-atomic bitops for pointers Kumar Kartikeya Dwivedi
2021-06-29 1:32 ` Alexei Starovoitov
2021-06-28 11:47 ` [PATCH net-next v4 3/5] bpf: cpumap: implement generic cpumap Kumar Kartikeya Dwivedi
2021-06-28 11:47 ` [PATCH net-next v4 4/5] bpf: devmap: implement devmap prog execution for generic XDP Kumar Kartikeya Dwivedi
2021-06-28 11:47 ` [PATCH net-next v4 5/5] bpf: tidy xdp attach selftests Kumar Kartikeya Dwivedi
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=20210628114746.129669-1-memxor@gmail.com \
--to=memxor@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=brouer@redhat.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=toke@redhat.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.