mbox series

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

Message ID cover.1653033459.git.geliang.tang@suse.com (mailing list archive)
Headers show
Series BPF packet scheduler | expand

Message

Geliang Tang May 20, 2022, 8:04 a.m. UTC
- 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