Skip to content

Introduce SCTP Stream Schedulers

Marcelo Ricardo Leitner linux-sctp netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest10 patches 1 replyIn review
  2. v110 patches 7 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10sctp: silence warns on sctp_stream_init allocationsnet/sctp/stream.c+7 -10 replies
2/10sctp: factor out stream->out allocationnet/sctp/stream.c+32 -200 replies
3/10sctp: factor out stream->in allocationnet/sctp/stream.c+28 -80 replies
4/10sctp: introduce struct sctp_stream_out_extinclude/net/sctp/structs.h net/sctp/chunk.c net/sctp/outqueue.c +2 more+50 -130 replies
5/10sctp: introduce sctp_chunk_stream_noinclude/net/sctp/structs.h+5 -00 replies
6/10sctp: introduce stream scheduler foundationsinclude/net/sctp/stream_sched.h include/net/sctp/structs.h include/uapi/linux/sctp.h +5 more+477 -380 replies
7/10sctp: add sockopt to get/set stream schedulerinclude/uapi/linux/sctp.h net/sctp/socket.c+76 -00 replies
8/10sctp: add sockopt to get/set stream scheduler parametersinclude/uapi/linux/sctp.h net/sctp/socket.c+84 -00 replies
9/10sctp: introduce priority based stream schedulerinclude/net/sctp/structs.h include/uapi/linux/sctp.h net/sctp/Makefile +2 more+377 -20 replies
10/10sctp: introduce round robin stream schedulerinclude/net/sctp/structs.h include/uapi/linux/sctp.h net/sctp/Makefile +2 more+218 -20 replies

Reviews trailers per patch

None of the 10 patches has a Reviewed-by or Acked-by.

PatchXin Long
1/10T-b
2/10T-b
3/10T-b
4/10T-b
5/10T-b
6/10T-b
7/10T-b
8/10T-b
9/10T-b
10/10T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH net-next v2 00/10] Introduce SCTP Stream Schedulers

This patchset introduces the SCTP Stream Schedulers are defined by
https://tools.ietf.org/html/draft-ietf-tsvwg-sctp-ndata-13

It provides 3 schedulers at the moment: FCFS, Priority and Round Robin. The other 3, Round Robin per packet, Fair Capacity and Weighted Fair Capacity will be added later. More specifically, WFQ is required by WebRTC Datachannels.

The draft also defines the idata chunk, allowing a usermsg to be interrupted by another piece of idata from another stream. This patchset *doesn't* include it. It will be posted later by Xin Long. Its integration with this patchset is very simple and it basically only requires a tweak in sctp_sched_dequeue_done(), to ignore datamsg boundaries.

The first 5 patches are a preparation for the next ones. The most relevant patches are the 4th and 6th ones. More details are available on each patch.

v2: changelog update on patch 3

Marcelo Ricardo Leitner (10):
sctp: silence warns on sctp_stream_init allocations
sctp: factor out stream->out allocation
sctp: factor out stream->in allocation
sctp: introduce struct sctp_stream_out_ext
sctp: introduce sctp_chunk_stream_no
sctp: introduce stream scheduler foundations
sctp: add sockopt to get/set stream scheduler
sctp: add sockopt to get/set stream scheduler parameters
sctp: introduce priority based stream scheduler
sctp: introduce round robin stream scheduler

 include/net/sctp/stream_sched.h |  72 +++++++++
 include/net/sctp/structs.h      |  63 +++++++-
 include/uapi/linux/sctp.h       |  16 ++
 net/sctp/Makefile               |   3 +-
 net/sctp/chunk.c                |   6 +-
 net/sctp/outqueue.c             |  63 ++++----
 net/sctp/sm_sideeffect.c        |   3 +
 net/sctp/socket.c               | 179 ++++++++++++++++++++-
 net/sctp/stream.c               | 196 +++++++++++++++++++----
 net/sctp/stream_sched.c         | 275 +++++++++++++++++++++++++++++++
 net/sctp/stream_sched_prio.c    | 347 ++++++++++++++++++++++++++++++++++++++++
 net/sctp/stream_sched_rr.c      | 201 +++++++++++++++++++++++
 12 files changed, 1347 insertions(+), 77 deletions(-)
 create mode 100644 include/net/sctp/stream_sched.h
 create mode 100644 net/sctp/stream_sched.c
 create mode 100644 net/sctp/stream_sched_prio.c
 create mode 100644 net/sctp/stream_sched_rr.c
Signature · 1 line
2.13.5