]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: Send user messages to the lower layer as one
authorVlad Yasevich <vladislav.yasevich@hp.com>
Mon, 10 Aug 2009 17:51:03 +0000 (13:51 -0400)
committerVlad Yasevich <vladislav.yasevich@hp.com>
Fri, 4 Sep 2009 22:20:57 +0000 (18:20 -0400)
commit9457930ad8bdaa12845fb95c2195313e8f224496
treee81bcc703cedf4e667b91504b5cf9e8e01ffb6a5
parentef9a16d4e300eedfed15b056b127efef4dd26c96
sctp: Send user messages to the lower layer as one

Currenlty, sctp breaks up user messages into fragments and
sends each fragment to the lower layer by itself.  This means
that for each fragment we go all the way down the stack
and back up.  This also discourages bundling of multiple
fragments when they can fit into a sigle packet (ex: due
to user setting a low fragmentation threashold).

We introduce a new command SCTP_CMD_SND_MSG and hand the
whole message down state machine.  The state machine and
the side-effect parser will cork the queue, add all chunks
from the message to the queue, and then un-cork the queue
thus causing the chunks to get transmitted.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
include/net/sctp/command.h
include/net/sctp/structs.h
net/sctp/chunk.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c
net/sctp/socket.c