NAME

  InitAckStreamMismatch.seq - INIT-ACK chunk is received with mismatch in the Outbound Stream and Inbound Stream parameters


PURPOSE

  To check that if INIT-ACK chunk is received with mismatch in the Outbound Stream
  and Inbound Stream parameters then the endpoint should settle with minimum of
  the two parameters.


SYNOPSIS

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


PRE-TEST CONDITION

  Association is not established between endpoint A and B. Also let the OS
  of B is Z. Arrange data in endpoint A such that INIT-ACK message is sent
  from endpoint A with MIS Y<Z.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
                                                   <-----    Associate
                <-----------------      INIT
                                        (OS = Y, MIS = Y)
  INIT-ACK      ----------------->
  (OS = Z, MIS = Z, Z < Y)
                <-----------------      COOKIE-ECHO
  COOKIE-ACK    ----------------->
  TEST DESCRIPTION:
  1. Attempt to initiate an association from endpoint B to A. Send 
     INIT-ACK message with Maximal Inbound stream parameter less than 
     the Outbound Stream of B.
     Record the message sequence using a signal emulator.
  2. Check A: Either the association is aborted or COOKIE-ECHO is 
     received 
  3. Check B: Range of MIS Stream id in endpoint B is 0 to Y-1.
  4. Check C: Was the message sequence as above.
     Note: Association may be aborted in this case.


NOTE

  None


REFERENCE

  RFC 4960
  5.1.1.  Handle Stream Parameters
    In the INIT and INIT ACK chunks, the sender of the chunk MUST
    indicate the number of outbound streams (OSs) it wishes to have in
    the association, as well as the maximum inbound streams (MISs) it
    will accept from the other endpoint.
    After receiving the stream configuration information from the other
    side, each endpoint MUST perform the following check: If the peer's
    MIS is less than the endpoint's OS, meaning that the peer is
    incapable of supporting all the outbound streams the endpoint wants
    to configure, the endpoint MUST use MIS outbound streams and MAY
    report any shortage to the upper layer.  The upper layer can then
    choose to abort the association if the resource shortage is
    unacceptable.
    After the association is initialized, the valid outbound stream
    identifier range for either endpoint shall be 0 to min(local OS,
    remote MIS)-1.