NAME

  ShutAckWithZeroLength.seq - SHUTDOWN-ACK chunk is received with chunk length set to zero in ESTABLISHED state


PURPOSE

  To check that if OOTB SHUTDOWN chunk is received with chunk length set to
  zero in ESTABLISHED state, the endpoint should response with ABORT message
  and error cause is set to Protocol Violation.


SYNOPSIS

  ./ShutAckWithZeroLength.seq [-tooloption ...] -pkt ./ShutAckWithZeroLength.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 data 
  in endpoint A such that SHUTDOWN-ACK chunk with chunk length set to
  zero is sent to endpoint B.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
  SHUTDOWN-ACK  ----------------->
  (with chunk length set to zero)
                <-----------------      ABORT
                                        (Protocol Violation)
  TEST DESCRIPTION:
  1. From endpoint A, send valid SHUTDOWN-ACK message to endpoint B,
     when there is association between them. 
  2. Check A: ABORT should be received at endpoint A.
  3. Check B: Error cause in ABORT is set to "Protocol Violation".
  4. Check C: Remote System not enter dead loop.


NOTE

  None


REFERENCE

  RFC 4960
  8.4.  Handle "Out of the Blue" Packets
    An SCTP packet is called an "out of the blue" (OOTB) packet if it is
    correctly formed (i.e., passed the receiver's CRC32c check; see
    Section 6.8), but the receiver is not able to identify the
    association to which this packet belongs.
    The receiver of an OOTB packet MUST do the following:
    1)  If the OOTB packet is to or from a non-unicast address, a
        receiver SHOULD silently discard the packet.  Otherwise,