Subject: [Tsvwg] SCTP - respond to SHUTDOWN with ABORT - allowed?

From: Alan Jay Weiner <[email-masked]>
Date: Tue, 15 May 2007 11:18:29 -0400

Normally an SCTP association is closed by sending SHUTDOWN, the peer sends
SHUTDOWN_ACK, and the shutdowner (to coin a phrase) sends SHUTDOWN_COMPLETE.

But is it allowed for the peer to send ABORT in response to the SHUTDOWN?

Here's my thinking...

RFC 2960, section 3.3.9: says SHUTDOWN_ACK MUST be used to acknowledge receipt
of a SHUTDOWN, and refers to section 9.2.  Section 9.2 says  "... SHUTDOWN
receiver *shall* send a SHUTDOWN_ACK" - RFC 4460 2.12 changed that from "shall"
to "MUST" - and this is also in the new draft.

RFC 2960 section 2. says that the key words (including "MUST") are interpreted
as described in RFC 2119, and 2119 defines "MUST" as meaning an absolute
requirement.

*However*

The state diagram in RFC 2960 (and new draft) section 4 shows ABORT may be sent
"from any state" - so that implies that it *is* ok to send it in response to a
SHUTDOWN.

So...  is an ABORT in response to SHUTDOWN allowed???
(ignoring that it would be more polite to send the SHUTDOWN_ACK)

Thanks!

- Al Weiner -

---

From: Michael Tuexen <[email-masked]>
Date: Tue, 15 May 2007 18:23:10 +0200

Hi Al,

the sender of the SHUTDOWN has to be able to handle the reception of
an ABORT chunk in response to a SHUTDOWN chunk.

Assuming a kernel implementation consider the case where the receiver
of the SHUTDOWN chunk has still user data to deliver, but the  
application
simply call close() or get killed by the user or operating system. In
this case the kernel would send an ABORT chunk, because it knows that
not call user data will be delivered to the application.

If the receiver of the SHUTDOWN chunk is able to perform the graceful
shutdown procedure it would send a SHUTDOWN-ACK.

Best regards
Michael

---

From: Alan Jay Weiner <[email-masked]>
Date: Tue, 15 May 2007 14:02:11 -0400

Hi Michael,
Thanks!  I appreciate the clarification.
- Al -

-- original message --