From: Vlad Yasevich <vyasevich@gmail.com>
To: linux-sctp@vger.kernel.org
Subject: Re: MSG_EOR flag in conjunction with SOCK_STREAM
Date: Fri, 08 Aug 2014 14:05:58 +0000 [thread overview]
Message-ID: <53E4D946.5030500@gmail.com> (raw)
In-Reply-To: <1383F7BACEF3F141A39A7AC90F80407E38504E@psmwsonsmbx01.sonusnet.com>
On 08/07/2014 05:08 PM, Butler, Peter wrote:
> A question about using a SOCK_STREAM socket (one-to-one TCP-style) and checking for the MSG_EOR flag.
>
> If, on a given association (i.e. a single file descriptor, as per the one-to-one TCP-style SOCK_STREAM socket semantics), a message is received via sctp_recvmsg() with the MSG_EOR flag *not* set (such that more of the message is yet to be retrieved), does LKSCTP guarantee that the subsequent call to sctp_recvmsg() will still pertain to the same message (i.e. record)?
>
> That is, could the following message sequence (as returned by sctp_recvmsg(); not necessarily in this order on the wire) ever occur in subsequent calls to sctp_recvmsg() on the aforementioned file descriptor?
>
> MSG A, part 1
> MSG A, part 2
> MSG A, part 3
> MSG B
> MSG A, part 4
> MSG A, part 5 (EOR)
> .
> .
> .
>
> Or will the kernel always guarantee the following:
>
> MSG A, part 1
> MSG A, part 2
> MSG A, part 3
> MSG A, part 4
> MSG A, part 5 (EOR)
> MSG B
> .
> .
> .
>
On Linux, I believe that the above is guaranteed on a SOCK_STREAM socket. Linux
doesn't currently implement interleaving level 2. The default is level 0 (no
interleaving). Level 1 is supported (association interleaving), but it only really
functions on 1-many sockets. Level 2 (inter-stream interleaving) is not supported
yet.
> If the former is indeed possible, can the 'interleaving' only occur within separate streams of the association? Or can it also occur within a single given stream?
>
> Can unordered data ever cause this to occur?
>
Not currently on linux.
-vlad
> --
> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
prev parent reply other threads:[~2014-08-08 14:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-07 21:08 MSG_EOR flag in conjunction with SOCK_STREAM Butler, Peter
2014-08-07 21:20 ` Michael Tuexen
2014-08-08 14:05 ` Vlad Yasevich [this message]
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=53E4D946.5030500@gmail.com \
--to=vyasevich@gmail.com \
--cc=linux-sctp@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.