From: Geliang Tang <geliang.tang@suse.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliang.tang@suse.com>
Subject: [PATCH mptcp-next v10 00/13] BPF packet scheduler updates part 1
Date: Mon, 26 Jun 2023 10:23:01 +0800 [thread overview]
Message-ID: <cover.1687746021.git.geliang.tang@suse.com> (raw)
v10:
- add mptcp_storage map type.
- update scheduler API.
v9:
- merge 'Squash to "BPF packet scheduler updates v8"' and 'mptcp:
make the contexts array of sched_data invisible in BPF'
v8:
address Paolo's comments in v7:
- add sched_data into mptcp_sock as new field, not an pointer.
- drop rename __mptcp_set_timeout, export mptcp_set_timeout into BPF
context instead.
- add a comment in bpf_burst to explan why not use
"ssk = send_info[SSK_MODE_ACTIVE].ssk;" directly.
- move mptcp_subflow_tcp_sock into bpf_tcp_helpers.h.
v7:
- drop more last_snd, only set it in bpf_rr.
- 1-10: save sched_data at mptcp_sock, for issues #342
- 11-16: add bpf_burst scheduler
- 17-19: add bpf_stale scheduler, for issues #349
v6:
- Only update patches 14, 15. Add a helper bpf_mptcp_subflow_ctx, fix
bug in bpf_burst_get_retrans().
v5:
- 1-9: save sched_data at mptcp_sock, for issues #342
- 10-15: add bpf_burst scheduler
- 16-18: add bpf_stale scheduler, for issues #349
v4:
- drop "mptcp: add three helpers for bpf_burst", implement the helpers
in the bpf context directly.
v3:
- address Florian's comments in v2.
- split into three more patches.
v2:
- fix this error reported by CI:
KASAN: slab-use-after-free in __mptcp_close_ssk (net/mptcp/protocol.c:2461)
- add bpf burst scheduler.
This patchset adds sched_data pointer into mptcp_sock to to save some
data at MPTCP and subflows levels.
With these changes, the old patch "mptcp: register default scheduler" in
[1] now works.
https://patchwork.kernel.org/project/mptcp/cover/cover.1665753926.git.geliang.tang@suse.com/ [1]
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/342
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/349
Geliang Tang (13):
Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER"
Squash to "mptcp: add struct mptcp_sched_ops"
Squash to "mptcp: add sched_data_set_contexts helper"
mptcp: register default scheduler
Squash to "bpf: Add bpf_mptcp_sched_ops"
Squash to "bpf: Add bpf_mptcp_sched_kfunc_set"
bpf: Add mptcp_storage map type
bpf: Add mptcp_storage helpers
Squash to "selftests/bpf: Add mptcp sched structs"
Squash to "selftests/bpf: Add bpf_first scheduler"
Squash to "selftests/bpf: Add bpf_bkup scheduler"
Squash to "selftests/bpf: Add bpf_rr scheduler"
Squash to "selftests/bpf: Add bpf_red scheduler"
include/linux/bpf.h | 2 +
include/linux/bpf_types.h | 1 +
include/linux/btf_ids.h | 1 +
include/net/mptcp.h | 11 +-
include/uapi/linux/bpf.h | 40 +++
kernel/bpf/helpers.c | 4 +
kernel/bpf/syscall.c | 6 +-
kernel/bpf/verifier.c | 14 +-
net/mptcp/bpf.c | 245 ++++++++++++++++++
net/mptcp/protocol.c | 10 +-
net/mptcp/protocol.h | 7 +-
net/mptcp/sched.c | 46 +++-
tools/include/uapi/linux/bpf.h | 40 +++
tools/lib/bpf/libbpf.c | 1 +
tools/lib/bpf/libbpf_probes.c | 1 +
tools/testing/selftests/bpf/bpf_tcp_helpers.h | 20 +-
.../selftests/bpf/progs/mptcp_bpf_bkup.c | 17 +-
.../selftests/bpf/progs/mptcp_bpf_first.c | 8 +-
.../selftests/bpf/progs/mptcp_bpf_red.c | 12 +-
.../selftests/bpf/progs/mptcp_bpf_rr.c | 43 ++-
20 files changed, 475 insertions(+), 54 deletions(-)
--
2.35.3
next reply other threads:[~2023-06-26 2:23 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 2:23 Geliang Tang [this message]
2023-06-26 2:23 ` [PATCH mptcp-next v10 01/13] Squash to "mptcp: drop last_snd and MPTCP_RESET_SCHEDULER" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 02/13] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2023-06-26 9:37 ` Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 03/13] Squash to "mptcp: add sched_data_set_contexts helper" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 04/13] mptcp: register default scheduler Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 05/13] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 06/13] Squash to "bpf: Add bpf_mptcp_sched_kfunc_set" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 07/13] bpf: Add mptcp_storage map type Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 08/13] bpf: Add mptcp_storage helpers Geliang Tang
2023-06-26 9:40 ` Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 09/13] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 10/13] Squash to "selftests/bpf: Add bpf_first scheduler" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 11/13] Squash to "selftests/bpf: Add bpf_bkup scheduler" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 12/13] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
2023-06-26 2:23 ` [PATCH mptcp-next v10 13/13] Squash to "selftests/bpf: Add bpf_red scheduler" Geliang Tang
2023-06-26 2:57 ` Squash to "selftests/bpf: Add bpf_red scheduler": Build Failure MPTCP CI
2023-06-26 3:07 ` Squash to "selftests/bpf: Add bpf_red scheduler": Tests Results MPTCP CI
2023-06-26 9:19 ` Matthieu Baerts
2023-06-26 9:38 ` Squash to "selftests/bpf: Add bpf_red scheduler": Build Failure MPTCP CI
2023-06-26 10:14 ` Squash to "selftests/bpf: Add bpf_red scheduler": Tests Results MPTCP CI
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.1687746021.git.geliang.tang@suse.com \
--to=geliang.tang@suse.com \
--cc=mptcp@lists.linux.dev \
/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