InitWithOneAddr.seq - INIT chunk is received with one address parameter
To check that if there is one transport address is received in INIT message then the IP address plus the IP address from where INIT comes combined with the SCTP source port number is used as the destination transport address.
./InitWithOneAddr.seq [-tooloption ...] -pkt ./InitWithOneAddr.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 one transport address is sent to endpoint B.
Endpoint A Endpoint B ULP (CLOSED) (CLOSED)
INIT -----------------> (Transport Address = x) <----------------- INIT-ACK
COOKIE-ECHO ----------------->
<----------------- COOKIE-ACK
DATA -----------------> (Transport Address = x) <----------------- SACK
TEST DESCRIPTION:
1. Attempt to make an association from endpoint A to endpoint B. Send INIT message containing one IPv4/IPv6 address. 2. Check A: INIT message is accepted. 3. Check B: INIT-ACK is sent at the transport address from where INIT message was received. 4. Check C: Other messages from endpoint B are sent at the IP address received in INIT message. 5. Check D: Send DATA the IP address in endpoint A. Check that it is accepted and responded with SACK.
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.