ShutInShutPend.seq - SHUTDOWN chunk is received in SHUTDOWN-PENDING State
To check that if an endpoint is in the SHUTDOWN-PENDING state and receives a SHUTDOWN chunk from its peer, the endpoint shall all its outstanding DATA chunks have been received by the SHUTDOWN sender.
./ShutInShutPend.seq [-tooloption ...] -pkt ./ShutInShutPend.def -tooloption : v6eval tool option See Also: ../common/STD_PKT_COMMON.def ../common/SCTP_COMMON.def
Association is established between endpoint A and B. Arrange the data in endpoint B such that terminate primitive is received from ULP to terminate the association. Arrange data in endpoint A such that SHUTDOWN message is sent to endpoint B.
Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED)
<---------------- DATA <--------- Terminate SHUTDOWN -----------------> (all outstanding DATA chunks have been received) <---------------- SHUTDOWN-ACK
SHUTDOWN-COMPLETE ----------------->
TEST DESCRIPTION:
1. Try to terminate the association between endpoint A and B by sending terminate primitive from ULP. While endpoint B is in SHUTDOWN-PENDING state, send SHUTDOWN message from endpoint A. 2. Check A: SHUTDOWN-ACK message is sent in response to the SHUTDOWN message.
None
RFC 4960
9.2. Shutdown of an Association
Upon reception of the SHUTDOWN, the peer endpoint shall
- enter the SHUTDOWN-RECEIVED state,
- stop accepting new data from its SCTP user, and
- verify, by checking the Cumulative TSN Ack field of the chunk, that all its outstanding DATA chunks have been received by the SHUTDOWN sender.
Once an endpoint has reached the SHUTDOWN-RECEIVED state, it MUST NOT send a SHUTDOWN in response to a ULP request, and should discard subsequent SHUTDOWN chunks.