[PATCH mptcp-next v2 0/5] BPF redundant scheduler

Geliang Tang posted 5 patches 5 days ago
Failed in applying to current master (apply log)
include/net/mptcp.h                           |  1 +
net/mptcp/protocol.c                          | 64 ++++++++++++++-----
net/mptcp/protocol.h                          |  4 +-
net/mptcp/sched.c                             | 11 +++-
.../testing/selftests/bpf/prog_tests/mptcp.c  | 38 +++++++++++
.../selftests/bpf/progs/mptcp_bpf_red.c       | 54 ++++++++++++++++
6 files changed, 151 insertions(+), 21 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
[PATCH mptcp-next v2 0/5] BPF redundant scheduler
Posted by Geliang Tang 5 days ago
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.

depends on:
 - BPF round-robin scheduler, v13

Geliang Tang (5):
  Squash to "mptcp: add get_subflow wrappers"
  mptcp: add redundant subflows support
  mptcp: add call_again flag in mptcp_sched_ops
  selftests/bpf: add bpf_red scheduler
  selftests/bpf: add bpf_red test

 include/net/mptcp.h                           |  1 +
 net/mptcp/protocol.c                          | 64 ++++++++++++++-----
 net/mptcp/protocol.h                          |  4 +-
 net/mptcp/sched.c                             | 11 +++-
 .../testing/selftests/bpf/prog_tests/mptcp.c  | 38 +++++++++++
 .../selftests/bpf/progs/mptcp_bpf_red.c       | 54 ++++++++++++++++
 6 files changed, 151 insertions(+), 21 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c

-- 
2.34.1


Re: [PATCH mptcp-next v2 0/5] BPF redundant scheduler
Posted by Mat Martineau 3 days, 11 hours ago
On Wed, 11 May 2022, Geliang Tang wrote:

> 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.

Thanks for those updates.

As we talked about in the meeting this week, I think it's still good to 
revise this to be able to return multiple subflows (whether in a bitmap or 
array) from the BPF scheduler function. That is more likely to be workable 
with __mptcp_subflow_push_pending() and the way it chains to send on 
different subflows with mptcp_subflow_delegate().

- Mat

>
> v1:
>
> Implements the redundant BPF MPTCP scheduler, which sends all packets
> redundantly on all available subflows.
>
> depends on:
> - BPF round-robin scheduler, v13
>
> Geliang Tang (5):
>  Squash to "mptcp: add get_subflow wrappers"
>  mptcp: add redundant subflows support
>  mptcp: add call_again flag in mptcp_sched_ops
>  selftests/bpf: add bpf_red scheduler
>  selftests/bpf: add bpf_red test
>
> include/net/mptcp.h                           |  1 +
> net/mptcp/protocol.c                          | 64 ++++++++++++++-----
> net/mptcp/protocol.h                          |  4 +-
> net/mptcp/sched.c                             | 11 +++-
> .../testing/selftests/bpf/prog_tests/mptcp.c  | 38 +++++++++++
> .../selftests/bpf/progs/mptcp_bpf_red.c       | 54 ++++++++++++++++
> 6 files changed, 151 insertions(+), 21 deletions(-)
> create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
>
> -- 
> 2.34.1
>
>
>

--
Mat Martineau
Intel