MPTCP Linux Development
 help / color / mirror / Atom feed
From: Geliang Tang <geliang.tang@suse.com>
To: mptcp@lists.linux.dev
Cc: Geliang Tang <geliang.tang@suse.com>
Subject: [PATCH mptcp-next v6 0/9] BPF redundant scheduler
Date: Fri, 10 Jun 2022 21:05:25 +0800	[thread overview]
Message-ID: <cover.1654865847.git.geliang.tang@suse.com> (raw)

v6:
 - Add redundant flag for struct mptcp_sched_ops.
 - add a dedicated function __mptcp_subflows_push_pending() to deal with
   redundat subflows push pending.

v5:
 - address to Paolo's comment, keep the optimization to
mptcp_subflow_get_send() for the non eBPF case.
 - merge mptcp_sched_get_send() and __mptcp_sched_get_send() in v4 into one.
 - depends on "cleanups for bpf sched selftests".

v4:
 - small cleanups in patch 1, 2.
 - add TODO in patch 3.
 - rebase patch 5 on 'cleanups for bpf sched selftests'.

v3:
 - use new API.
 - fix the link failure tests issue mentioned in ("https://patchwork.kernel.org/project/mptcp/cover/cover.1653033459.git.geliang.tang@suse.com/").

v2:
 - add MPTCP_SUBFLOWS_MAX limit to avoid infinite loops when the
   scheduler always sets call_again to true.
 - track the largest copied amount.
 - deal with __mptcp_subflow_push_pending() and the retransmit loop.
 - depends on "BPF round-robin scheduler" v14.

v1:

Implements the redundant BPF MPTCP scheduler, which sends all packets
redundantly on all available subflows.

Geliang Tang (9):
  Squash to "mptcp: add struct mptcp_sched_ops"
  Squash to "mptcp: add get_subflow wrappers"
  mptcp: redundant subflows push pending
  mptcp: add sched_get_retrans wrapper
  mptcp: redundant subflows retrans support
  Squash to "bpf: Add bpf_mptcp_sched_ops"
  Squash to "selftests/bpf: Add mptcp sched structs"
  selftests/bpf: Add bpf_red scheduler
  selftests/bpf: Add bpf_red test

 include/net/mptcp.h                           |   1 +
 net/mptcp/bpf.c                               |   3 +
 net/mptcp/protocol.c                          | 122 ++++++++++++++----
 net/mptcp/protocol.h                          |   4 +-
 net/mptcp/sched.c                             |  62 +++++----
 net/mptcp/subflow.c                           |   1 -
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |   1 +
 .../testing/selftests/bpf/prog_tests/mptcp.c  |  34 +++++
 .../selftests/bpf/progs/mptcp_bpf_red.c       |  37 ++++++
 9 files changed, 215 insertions(+), 50 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c

-- 
2.35.3


             reply	other threads:[~2022-06-10 13:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-10 13:05 Geliang Tang [this message]
2022-06-10 13:05 ` [PATCH mptcp-next v6 1/9] Squash to "mptcp: add struct mptcp_sched_ops" Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 2/9] Squash to "mptcp: add get_subflow wrappers" Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 3/9] mptcp: redundant subflows push pending Geliang Tang
2022-06-14  0:11   ` Mat Martineau
2022-06-10 13:05 ` [PATCH mptcp-next v6 4/9] mptcp: add sched_get_retrans wrapper Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 5/9] mptcp: redundant subflows retrans support Geliang Tang
2022-06-14  0:33   ` Mat Martineau
2022-06-10 13:05 ` [PATCH mptcp-next v6 6/9] Squash to "bpf: Add bpf_mptcp_sched_ops" Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 7/9] Squash to "selftests/bpf: Add mptcp sched structs" Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 8/9] selftests/bpf: Add bpf_red scheduler Geliang Tang
2022-06-10 13:05 ` [PATCH mptcp-next v6 9/9] selftests/bpf: Add bpf_red test Geliang Tang
2022-06-10 15:09   ` selftests/bpf: Add bpf_red test: 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.1654865847.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