NAME

  DataWithGapInShutSend.seq - DATA chunk is received with gaps exist in SHUTDOWN-SENT State


PURPOSE

  To check that if an endpoint is in the SHUTDOWN-SENT state and receives
  a DATA chunk with TSN gaps from its peer, the endpoint should respond
  immediately with a SHUTDOWN chunk and restart the T2-shutdown timer, SACK
  chunk MUST also be sent.


SYNOPSIS

  ./DataWithGapInShutSend.seq [-tooloption ...] -pkt ./DataWithGapInShutSend.def
    -tooloption : v6eval tool option
  See Also: ../common/STD_PKT_COMMON.def
            ../common/SCTP_COMMON.def


PRE-TEST CONDITION

  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 DATA message with duplicate TSN gaps is sent to endpoint B.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
                                                <-------- Terminate
                <----------------       SHUTDOWN
  DATA          ----------------->
  (with TSN gaps)
                <----------------       SHUTDOWN
                <----------------       SACK
  DATA          ----------------->
  (lost data)
                <----------------       SHUTDOWN
  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-SENT 
     state, send DATA message from endpoint A.
  2. Check A: SHUTDOWN message is sent in response to the DATA message.
  3. Check B: SACK message is also sent in response to the DATA message.


NOTE

  None


REFERENCE

  RFC 4960
  9.2.  Shutdown of an Association
    While in the SHUTDOWN-SENT state, the SHUTDOWN sender MUST
    immediately respond to each received packet containing one or more
    DATA chunks with a SHUTDOWN chunk and restart the T2-shutdown timer.
    If a SHUTDOWN chunk by itself cannot acknowledge all of the received
    DATA chunks (i.e., there are TSNs that can be acknowledged that are
    larger than the cumulative TSN, and thus gaps exist in the TSN
    sequence), or if duplicate TSNs have been received, then a SACK chunk
    MUST also be sent.