Subject: Re: [Gen-art] Gen-ART review of draft-ietf-tsvwg-sctp-strrst-12

From: Michael Tuexen <[email-masked]>
Date: Fri, 2 Dec 2011 09:11:49 +0100

On Nov 30, 2011, at 10:10 PM, Vijay K. Gurbani wrote:

> On 11/30/2011 02:19 PM, Michael Tuexen wrote:
>>> - S5, second paragraph --- "The procedures outlined in this section are
>>> designed so that the incoming side will always reset their stream
>>> sequence number first before the outgoing side which means the re-
>>> configuration request must always originate from the outgoing side."
>> A stream is unidirectional. So it is outgoing for one side, incoming
>> for the other. The outgoing side has to request the reset, the incoming
>> side will perform it and acknowledge that the reset has been performed and
>> then the outgoing side will also do the reset.
> 
> OK, so let's see ... assume two hosts A and B with two unidrectional
> streams open between them:
> 
> 
>    --------- a' -------->
> A                         B
>    <-------- b' ---------
> 
> a' is outgoing stream for A and incoming stream for B.
> b' is outgoing stream for B and incoming stream for A.
> 
> What you are saying is that either A has to request a reset on a'
> or B has to request a reset on b'.  In the worst possible case,
> both A and B can request a reset on their respective streams
> (A on a' and B on b') without leading to deadlock or a violation
> of the protocol.  Yes?
> 
> If so, then this discussion at least makes it clear to me.  However,
> I will leave it to you on whether or not to clarify this further
> in the draft.  When I read the draft initially, I certainly had
> enough doubts that resulted in this email exchange.
OK, what about making clearer what the incoming/outgoing side is...

What about:

<t>One important thing to remember about SCTP streams is that they are
uni-directional. The endpoint for which a stream is an outgoing
stream is called the outgoing side, the endpoint for which the stream
is an incoming stream is called the incoming side.
The procedures outlined in this section are designed
so that the incoming side will always reset their stream sequence number
first before the outgoing side which means the re-configuration request
must always originate from the outgoing side. These two issues have important
ramifications upon how an SCTP endpoint might request that its
incoming streams be reset. In effect it must ask the peer to start an
outgoing reset procedure and once that request is acknowledged let the peer
actually control the reset operation.</t>

Best regards
Michael
> 
> Thanks,
> 
> - vijay
> -- 
> Vijay K. Gurbani, Bell Laboratories, Alcatel-Lucent
> 1960 Lucent Lane, Rm. 9C-533, Naperville, Illinois 60566 (USA)
> Email: vkg@{bell-labs.com,acm.org} / [email-masked]
> Web:   http://ect.bell-labs.com/who/vkg/
>

---

From: "Vijay K. Gurbani" <[email-masked]>
Date: Fri, 02 Dec 2011 14:36:57 -0600

On 12/02/2011 02:11 AM, Michael Tuexen wrote:
> What about:
>
> <t>One important thing to remember about SCTP streams is that they
> are uni-directional. The endpoint for which a stream is an outgoing
> stream is called the outgoing side, the endpoint for which the
> stream is an incoming stream is called the incoming side.

Michael: I would reword the above as "The endpoint that originates
the SCTP connection (resulting the the associated stream) is the
outgoing side and the recipient of that SCTP connection becomes the
incoming side."

The rest of what you write below is fine.

> The procedures outlined in this section are designed so that the
> incoming side will always reset their stream sequence number first
> before the outgoing side which means the re-configuration request
> must always originate from the outgoing side. These two issues have
> important ramifications upon how an SCTP endpoint might request that
> its incoming streams be reset. In effect it must ask the peer to
> start an outgoing reset procedure and once that request is
> acknowledged let the peer actually control the reset operation.</t>

Whether or not to include issue of glare, I will leave up to you.

Thanks,

- vijay

---

From: Michael Tuexen <[email-masked]>
Date: Fri, 2 Dec 2011 22:25:38 +0100

> outgoing side and the recipient of that SCTP connection becomes the
Hi Vijay,

the above is incorrect... It is not important which side establishes
the SCTP association. No matter how it was established, a uni-directional
stream is outgoing for one side, incoming for the other.
After the association has been established, you have n uni-directional
streams from A to B, and m uni-directional streams from B to A.

For the n streams, A is the outgoing side, B the incoming. For the m
streams, B is the outgoing side, A is the incoming side. No matter
if A is client, B is server, vice versa, or both were acting as peers.

Best regards
Michael

---

From: "Vijay K. Gurbani" <[email-masked]>
Date: Fri, 02 Dec 2011 16:47:37 -0600

> if A is client, B is server, vice versa, or both were acting as peers.

Michael: OK, I suspect that the average reader of your draft
will have much more SCTP context than I do (my mind wants to view
SCTP through the TCP lens).  So, I will defer to the modified
text you suggested in your earlier email [1].

I have no further comments.

[1] http://www.ietf.org/mail-archive/web/gen-art/current/msg06952.html

Thanks,

- vijay