Subject: SCTP_ABORT

From: Anders Torger <[email-masked]>
Date: Wed, 25 Apr 2007 17:31:49 +0200

The socket API draft says that SCTP_ABORT is only applicable to 
one-to-many sockets. I think that should be changed such that it 
applies to one-to-one sockets too.

Actually, on Solaris it already does.

SCTP_EOF could as well, but close() can be used for that so there's no 
need to have it on one-to-one sockets. The SO_LINGER trick to abort an 
association works on a one-to-one socket, but then you cannot provide 
any upper layer abort reason which you can with SCTP_ABORT.

/Anders Torger

---

From: Randall Stewart <[email-masked]>
Date: Wed, 25 Apr 2007 15:36:30 -0400

> Actually, on Solaris it already does.
Hmm I did not realize this was a restriction on that.

I think on BSD it will let you do a send with SCTP_ABORT on
any assoc.. one-2-one or one-2-many..

> need to have it on one-to-one sockets.

True.. and once you do a EOF on it.. the socket is of no
use.. well now wait.. before I make that statement.. it comes
to me it can be of use.. the active open side, in theory, can
reuse the socket to connect to someone else... I believe we
allow this on BSD...

  The SO_LINGER trick to abort an
> any upper layer abort reason which you can with SCTP_ABORT.

True..

R

-- 
Randall Stewart
NSSTG - Cisco Systems Inc.
803-345-0369 <or> 803-317-4952 (cell)

---

From: Michael Tuexen <[email-masked]>
Date: Thu, 26 Apr 2007 17:32:09 +0200

Randy, Anders,

I think SCTP_ABORT and SCTP_EOF should be usable for 1-to-many
and 1-to-1 style sockets via the sctp_sndrcvinfo CMSG structure.

However, I'm not sure if it is clear for everyone, that I can
set the flags to
SCTP_ABORT|SCTP_SENDALL
and would abort all associations with the same provided abort reason
or
SCTP_EOF|SCTP_SENDALL
to start the graceful shutdown procedure on all associations.

I think this should also be stated. A question would be to
use a special assoc_id (ASSOC_ID_ANY) instead of the flag.

Also not all combinations do make sense: What is SCTP_EOF|SCTP_ABORT
or SCTP_SENDALL|SCTP_ADDR_OVER. But I think we can leave that
implementation specific.

Best regards
Michael

On Apr 25, 2007, at 9:36 PM, Randall Stewart wrote:

>> SCTP_EOF could as well, but close() can be used for that so  
>> there's no need to have it on one-to-one sockets.
>
>> association works on a one-to-one socket, but then you cannot  
>> provide any upper layer abort reason which you can with SCTP_ABORT.
>
> True..
>
> R
>> /Anders Torger
>
>
> -- 
> Randall Stewart