Subject: [Tsvwg] SCTP peer restart: MIS and MOS values

From: "Andrey Konstantinov" <[email-masked]>
Date: Wed, 28 Feb 2007 17:06:50 +0300

Hi,

I've got a question about MIS/OS handling during remote peer restart.
I have read discussion about MIS and MOS values during INIT collision (
http://www1.ietf.org/mail-archive/web/tsvwg/current/msg06593.html), but now
we have similar problem during remote peer restart.

Let's consider such situation:
Local EP                                                Remote EP
Association up                                        Association up
MOS = 256                                             MIS = 256

Restart

Association still up                                 new MIS = 50

                                                             Association
re-attempt
                     <---------INIT (MIS = 50)--------------

In our implementation SCTP responses with MOS=256.
                     -----------INIT ACK (MOS =256)--->

<---------ABORT-------------------------

                      ----- DATA/HEARTBEAT----------->
                      <---------ABORT-------------------------

Association down

                     <---------INIT (MIS = 50)--------------
                     -----------INIT ACK (MOS = 50)--->
                     <--------COOKIE ECHO --------------
                     ---------COOKIE ACK------------------>

Association up
Association up
MOS = 50                                                 MIS = 50

Upon reception of an INIT with a MIS value lower than the one set before the
restart, the Local EP replies with an INIT ACK having a MOS value equal to
256, i.e. equal to the one of the previous association. The same happens
with the Local MIS if we lower the MOS value on the Remote EP side.

It is true that in the general case the MOS set in the INIT ACK *cannot be
higher than the MIS of the INIT* (RFC 2960: "Number of Outbound Streams
(OS): 16 bits (unsigned integer) Defines the number of outbound streams the
sender of this INIT ACK chunk wishes to create in this association. The
value of 0 MUST NOT be used, and the value MUST NOT be greater than the MIS
value sent in the INIT chunk."); nevertheless, looking at *rfc2960, chapter
5.2.2*: "Other parameters for the endpoint SHOULD be copied from the
existing parameters of the association (*e.g. number of outbound streams*)
into the INIT ACK and cookie."

Please clarify, what rule is applicable in case of peer restart.

Thank you in advance,
Andrey Konstantinov