Subject: [tsvwg] Need Clarification on User initiated Abort

From: Prasanna Kumar <[email-masked]>
Date: Fri, 23 May 2014 10:54:42 +0530

Hi,

In the SCTP RFC 4960, we have following information for the User Initiated
abort cause:

3.3.10.12 <http://tools.ietf.org/html/rfc4960#section-3.3.10.12>.
User-Initiated Abort (12)

   Cause of error
   --------------

   This error cause MAY be included in ABORT chunks that are sent
   because of an upper-layer request.  The upper layer can specify an
   Upper Layer Abort Reason that is transported by SCTP transparently
   and MAY be delivered to the upper-layer protocol at the peer.

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         Cause Code=12         |      Cause Length=Variable    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       /                    Upper Layer Abort Reason                   /
       \                                                               \
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

It says, upper layer can specify the cause.
So my questions are:
         1. Is it mandatory to upper layer to send this cause?
         2. If Upper layer doesn't send any cause, what SCTP should do? Is
it should send the cause by its own (like zero)?

Thanks for your help.

Thanks & Regards,
Prasanna.

---

From: Sergey Mikhailov <[email-masked]>
Date: Fri, 23 May 2014 13:26:36 +0400

Prasanna,
see my comments below.

On Fri, May 23, 2014 at 9:24 AM, Prasanna Kumar <[email-masked]>wrote:

> 3.3.10.12 <http://tools.ietf.org/html/rfc4960#section-3.3.10.12>.  User-Initiated Abort (12)
>
>
>    Cause of error
>    --------------
>

The strict and short answer is No.

Unfortunately, section 2.21.2 of RFC 4460 modified the text of section 9.1
of the current SCTP specification (now RFC 4960) so that it introduced some
inconsistency between 9.1 (saying SHOULD) and 3.3.10.12 (saying MAY). See
also items 3 and 5 of RFC 2119.

But anyway it is not mandatory.
Looks like section 3.3.10.12 should have been updated to reflect a bit more
strict requirement (SHOULD instead of MAY) to match that of section 9.1.

Section 3.3.10.12:

This error cause MAY be included in ABORT chunks that are sent
   because of an upper-layer request.

Section 9.1:

If the association is aborted
   on request of the upper layer, a User-Initiated Abort error cause
   (see Section 3.3.10.12
<http://tools.ietf.org/html/rfc4960#section-3.3.10.12>) SHOULD be
present in the ABORT chunk.

>           2. If Upper layer doesn't send any cause, what SCTP should do?
> Is it should send the cause by its own (like zero)?
>

In this case (when association is aborted on request of the upper layer,
which doesn't provide an error cause) SCTP should use Error Cause parameter
with "User Initiated Abort" error cause and, in my view, should NOT include
any Cause-Specific Information (in this case Cause Length parameter is set
to 4 - see also section 3.2.1), while sending this Error Cause within Abort
chunk. You see, SCTP simply does not have this information to send.

Best regards,
Sergey Mikhailov.

---

From: Michael Tuexen <[email-masked]>
Date: Fri, 23 May 2014 11:41:48 +0200

On 23 May 2014, at 07:24, Prasanna Kumar <[email-masked]> wrote:

> Hi,
> 
> In the SCTP RFC 4960, we have following information for the User Initiated abort cause:
> 
> 3.3.10.12.  User-Initiated Abort (12)
> 
> 
> 
> 
>    Cause of error
>    --------------
> 
No. However, in the FreeBSD implementation, we send it, if the ABORT is initiated
by the user. This helps in debugging any problems where you see all the sudden an
ABORT...
>          2. If Upper layer doesn't send any cause, what SCTP should do? Is it should send the cause by its own (like zero)?
Just use an empty cause, so a cause with no Cause-Specific Information.

---

From: Prasanna Kumar <[email-masked]>
Date: Fri, 23 May 2014 17:54:53 +0530

Hi Michael and Sergey,

Thanks a lot for quick response. It clarifies my doubt.

Thanks & Regards,
Prasanna.