[PATCH mptcp-next 00/10] BPF packet scheduler

Geliang Tang posted 10 patches 3 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/cover.1653033459.git.geliang.tang@suse.com
Maintainers: Shuah Khan <shuah@kernel.org>, Jakub Kicinski <kuba@kernel.org>, Andrii Nakryiko <andrii@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Yonghong Song <yhs@fb.com>, John Fastabend <john.fastabend@gmail.com>, Paolo Abeni <pabeni@redhat.com>, Eric Dumazet <edumazet@google.com>, KP Singh <kpsingh@kernel.org>, Alexei Starovoitov <ast@kernel.org>, Matthieu Baerts <matthieu.baerts@tessares.net>, Martin KaFai Lau <kafai@fb.com>, "David S. Miller" <davem@davemloft.net>, Mat Martineau <mathew.j.martineau@linux.intel.com>, Song Liu <songliubraving@fb.com>
There is a newer version of this series
include/net/mptcp.h                           |   5 +-
net/mptcp/bpf.c                               |   7 +-
net/mptcp/protocol.c                          | 201 ++++++++++++------
net/mptcp/protocol.h                          |   5 +-
net/mptcp/sched.c                             | 107 ++++++++--
tools/testing/selftests/bpf/bpf_tcp_helpers.h |  22 +-
.../testing/selftests/bpf/prog_tests/mptcp.c  |  76 +++++++
.../selftests/bpf/progs/mptcp_bpf_first.c     |   6 +-
.../selftests/bpf/progs/mptcp_bpf_red.c       |  39 ++++
.../selftests/bpf/progs/mptcp_bpf_rr.c        |  48 +++++
10 files changed, 419 insertions(+), 97 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
[PATCH mptcp-next 00/10] BPF packet scheduler
Posted by Geliang Tang 3 years, 4 months ago
- Use new BPF scheduler API
- merged "BPF round-robin scheduler" v14
- merged "BPF redundant scheduler" v2
- base-commit: export/20220519T160645
- This series will break two link failure tests:

Created /tmp/tmp.bTGaRxJupX (size 1 KB) containing data sent by client
Created /tmp/tmp.K2Llsy3W03 (size 1 KB) containing data sent by server
Created /tmp/tmp.4uLEQcKbee (size 23622 KB) containing data sent by client
001 multiple flows, signal, link failure syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         add[ ok ] - echo  [ ok ]
                                         stale             [ ok ]
Created /tmp/tmp.hV4OKPkqoH (size 12288 KB) containing data sent by server
002 multi flows, signal, bidi, link fail syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         add[ ok ] - echo  [ ok ]
                                         stale             [ ok ]
003 backup subflow unused, link failure  syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         add[ ok ] - echo  [ ok ]
                                         link usage        [ ok ]
004 backup flow used, multi links fail   syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         add[ ok ] - echo  [ ok ]
                                         stale             [ ok ]
                                         link usage        [fail] got 11% usage, expected 50%
005 backup flow used, bidi, link failure syn[ ok ] - synack[ ok ] - ack[ ok ]
                                         add[ ok ] - echo  [ ok ]
                                         stale             [ ok ]
                                         link usage        [fail] got 10% usage, expected 50%

2 failure(s) has(ve) been detected:
	- 4: backup flow used, multi links fail
	- 5: backup flow used, bidi, link failure

Geliang Tang (10):
  Squash to "mptcp: add struct mptcp_sched_ops"
  mptcp: reflect first flag in subflow_push_pending
  Squash to "mptcp: add get_subflow wrappers"
  Squash to "mptcp: add bpf_mptcp_sched_ops"
  mptcp: add subflows array in sched data
  Squash to "selftests/bpf: add bpf_first scheduler"
  selftests/bpf: add bpf_rr scheduler
  selftests/bpf: add bpf_rr test
  selftests/bpf: add bpf_red scheduler
  selftests/bpf: add bpf_red test

 include/net/mptcp.h                           |   5 +-
 net/mptcp/bpf.c                               |   7 +-
 net/mptcp/protocol.c                          | 201 ++++++++++++------
 net/mptcp/protocol.h                          |   5 +-
 net/mptcp/sched.c                             | 107 ++++++++--
 tools/testing/selftests/bpf/bpf_tcp_helpers.h |  22 +-
 .../testing/selftests/bpf/prog_tests/mptcp.c  |  76 +++++++
 .../selftests/bpf/progs/mptcp_bpf_first.c     |   6 +-
 .../selftests/bpf/progs/mptcp_bpf_red.c       |  39 ++++
 .../selftests/bpf/progs/mptcp_bpf_rr.c        |  48 +++++
 10 files changed, 419 insertions(+), 97 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_red.c
 create mode 100644 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c

-- 
2.34.1