From: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
To: netdev@vger.kernel.org
Cc: linux-sctp@vger.kernel.org, Neil Horman <nhorman@tuxdriver.com>,
Vlad Yasevich <vyasevich@gmail.com>,
Xin Long <lucien.xin@gmail.com>,
David Laight <David.Laight@ACULAB.COM>
Subject: [PATCH net-next v2 00/10] Introduce SCTP Stream Schedulers
Date: Tue, 3 Oct 2017 19:20:07 -0300 [thread overview]
Message-ID: <cover.1507069005.git.marcelo.leitner@gmail.com> (raw)
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
--
2.13.5
next reply other threads:[~2017-10-03 22:20 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-03 22:20 Marcelo Ricardo Leitner [this message]
2017-10-03 22:20 ` [PATCH net-next v2 01/10] sctp: silence warns on sctp_stream_init allocations Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 02/10] sctp: factor out stream->out allocation Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 03/10] sctp: factor out stream->in allocation Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 04/10] sctp: introduce struct sctp_stream_out_ext Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 05/10] sctp: introduce sctp_chunk_stream_no Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 06/10] sctp: introduce stream scheduler foundations Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 07/10] sctp: add sockopt to get/set stream scheduler Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 08/10] sctp: add sockopt to get/set stream scheduler parameters Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 09/10] sctp: introduce priority based stream scheduler Marcelo Ricardo Leitner
2017-10-03 22:20 ` [PATCH net-next v2 10/10] sctp: introduce round robin " Marcelo Ricardo Leitner
2017-10-03 23:27 ` [PATCH net-next v2 00/10] Introduce SCTP Stream Schedulers David Miller
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.1507069005.git.marcelo.leitner@gmail.com \
--to=marcelo.leitner@gmail.com \
--cc=David.Laight@ACULAB.COM \
--cc=linux-sctp@vger.kernel.org \
--cc=lucien.xin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=vyasevich@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).