All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH mptcp-next v6 00/18] BPF packet scheduler updates
@ 2023-06-06  8:59 Geliang Tang
  2023-06-06  8:59 ` [PATCH mptcp-next v6 01/18] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
                   ` (17 more replies)
  0 siblings, 18 replies; 21+ messages in thread
From: Geliang Tang @ 2023-06-06  8:59 UTC (permalink / raw)
  To: mptcp; +Cc: Geliang Tang

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 (18):
  Squash to "mptcp: add struct mptcp_sched_ops"
  Squash to "mptcp: add sched in mptcp_sock"
  Squash to "mptcp: add scheduler wrappers"
  mptcp: add last_snd in sched_data
  mptcp: add snd_burst in sched_data
  mptcp: register default scheduler
  Squash to "bpf: Add bpf_mptcp_sched_ops"
  Squash to "selftests/bpf: Add mptcp sched structs"
  Squash to "selftests/bpf: Add bpf_rr scheduler"
  mptcp: rename __mptcp_set_timeout
  mptcp: add two wrappers needed by bpf_burst
  bpf: Add bpf_burst write accesses
  bpf: Export more bpf_burst related functions
  selftests/bpf: Add bpf_burst scheduler
  selftests/bpf: Add bpf_burst test
  bpf: Add subflow flags write access
  selftests/bpf: Add bpf_stale scheduler
  selftests/bpf: Add bpf_stale test

 include/net/mptcp.h                           |   4 +-
 net/mptcp/bpf.c                               |  55 ++++-
 net/mptcp/protocol.c                          |  43 ++--
 net/mptcp/protocol.h                          |  14 +-
 net/mptcp/sched.c                             |  67 +++++-
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  12 +-
 .../testing/selftests/bpf/prog_tests/mptcp.c  |  76 ++++++
 .../selftests/bpf/progs/mptcp_bpf_burst.c     | 216 ++++++++++++++++++
 .../selftests/bpf/progs/mptcp_bpf_rr.c        |   4 +-
 .../selftests/bpf/progs/mptcp_bpf_stale.c     |  59 +++++
 10 files changed, 498 insertions(+), 52 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_stale.c

-- 
2.35.3


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2023-06-06 10:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-06  8:59 [PATCH mptcp-next v6 00/18] BPF packet scheduler updates Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 01/18] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 02/18] Squash to "mptcp: add sched in mptcp_sock" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 03/18] Squash to "mptcp: add scheduler wrappers" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 04/18] mptcp: add last_snd in sched_data Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 05/18] mptcp: add snd_burst " Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 06/18] mptcp: register default scheduler Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 07/18] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 08/18] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 09/18] Squash to "selftests/bpf: Add bpf_rr scheduler" Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 10/18] mptcp: rename __mptcp_set_timeout Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 11/18] mptcp: add two wrappers needed by bpf_burst Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 12/18] bpf: Add bpf_burst write accesses Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 13/18] bpf: Export more bpf_burst related functions Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 14/18] selftests/bpf: Add bpf_burst scheduler Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 15/18] selftests/bpf: Add bpf_burst test Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 16/18] bpf: Add subflow flags write access Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 17/18] selftests/bpf: Add bpf_stale scheduler Geliang Tang
2023-06-06  8:59 ` [PATCH mptcp-next v6 18/18] selftests/bpf: Add bpf_stale test Geliang Tang
2023-06-06  9:35   ` selftests/bpf: Add bpf_stale test: Build Failure MPTCP CI
2023-06-06 10:26   ` selftests/bpf: Add bpf_stale test: Tests Results MPTCP CI

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.