InitWithMoreAddr.seq - INIT chunk is received with more than one address parameters
To check that if there are one or more transport addresses are received in INIT message then one of these IP address plus the IP address from where INIT comes combined with the SCTP source port number is used as the destination transport address.
./InitWithMoreAddr.seq [-tooloption ...] -pkt ./InitWithMoreAddr.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. Arrange the data in endpoint A such that INIT message with more than one transport addresses is sent to endpoint B.
Endpoint A Endpoint B ULP (CLOSED) (CLOSED)
INIT -----------------> (Transport Address = x, y) <----------------- INIT-ACK
COOKIE-ECHO ----------------->
<----------------- COOKIE-ACK
DATA -----------------> (Address = x) <----------------- SACK (Address = x) <----------------- DATA (Address = x) <----------------- DATA (Address = y) <----------------- DATA (Address = x) SACK -----------------> (Address = x)
TEST DESCRIPTION:
1. Attempt to make an association from endpoint A to endpoint B. Send INIT message containing two IPv4/IPv6 addresses. 2. Check A: INIT message is accepted. 3. Check B: INIT-ACK is sent at the transport addresses from where INIT message was received. 4. Check C: Was the message sequence as above.
None
RFC 4960
5.1.2. Handle Address Parameters
C) If there are only IPv4/IPv6 addresses present in the received INIT or INIT ACK chunk, the receiver MUST derive and record all the transport addresses from the received chunk AND the source IP address that sent the INIT or INIT ACK. The transport addresses are derived by the combination of SCTP source port (from the common header) and the IP Address parameter(s) carried in the INIT or INIT ACK chunk and the source IP address of the IP datagram. The receiver should use only these transport addresses as destination transport addresses when sending subsequent packets to its peer.
D) An INIT or INIT ACK chunk MUST be treated as belonging to an already established association (or one in the process of being established) if the use of any of the valid address parameters contained within the chunk would identify an existing TCB.