NAME

  ShutdownFromPeer.seq - Termination of an association by receiving SHUTDOWN message


PURPOSE

  To check that receiving Terminate primitive will cause the endpoint
  to send a SHUTDOWN message to its peer only when all the outstanding
  DATA has been acknowledged by A.


SYNOPSIS

  ./ShutdownFromPeer.seq [-tooloption ...] -pkt ./ShutdownFromPeer.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 upper
  layers.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
   SHUTDOWN           -------------->
                      <---------------   SHUTDOWN-ACK
   SHUTDOWN-COMPLETE  --------------->   Association is removed
                                         Communication Lost  --------->
  TEST DESCRIPTION:
  1. Try to terminate an association between endpoint A and endpoint B by 
     sending Terminate primitive to endpoint B from ULP. Before sending 
     Terminate, send some data to endpoint A and don't send SACK for them 
     from A.
  2. Check A: SHUTDOWN message is sent to endpoint A.
  3. Check B: SHUTDOWN is sent only when any data queued up at B has been 
     sent to A and acknowledged by A.


NOTE

  None


REFERENCE

  RFC 4960
  9.2.  Shutdown of an Association