InitStreamMismatch.seq - INIT chunk is received with mismatch in the Outbound Stream and Inbound Stream parameters
To check that if INIT chunk is received with mismatch in the Outbound Stream and Inbound Stream parameters then the endpoint should settle with minimum of the two parameters.
./InitStreamMismatch.seq [-tooloption ...] -pkt ./InitStreamMismatch.def -tooloption : v6eval tool option See Also: ../common/STD_PKT_COMMON.def ../common/SCTP_COMMON.def
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 message is sent from endpoint A with MIS Y<Z.
Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED)
INIT -----------------> (OS = X, MIS = Y) <----------------- INIT-ACK (OS = Z, MIS = X, Z > Y) COOKIE-ECHO ----------------->
<----------------- COOKIE-ACK
TEST DESCRIPTION:
1. Attempt to initiate an association from endpoint A to B. Send INIT 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 INIT-ACK is received with Outbound stream parameter equal to the MIS received in INIT. 3. Check B: Range of OS Stream id in endpoint B and MIS stream id in endpoint A is 0 to Y-1. 4. Check C: Was the message sequence as above.
Association may be aborted in this case.
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.