T1CookieExpires.seq - RTO is updated correctly if T1-cookie timer expires for a INIT message
To check that if T1-cookie expires on a destination address then the value of RTO is updated correctly for that address.
./T1CookieExpires.seq [-tooloption ...] -pkt ./T1CookieExpires.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 COOKIE-ACK is not sent in response to COOKIE-ECHO message.
Endpoint A Endpoint B ULP (CLOSED) (COOKIE-ECHOED)
<---------------- COOKIE-ECHO Don't send Start T1-cookie timer COOKIE-ACK message | | T1-cookie timer expires | <---------------- COOKIE-ECHO Restart T1-cookie Timer
TEST DESCRIPTION:
1. Attempt to make an association from endpoint B to endpoint A by Sending COOKIE-ECHO message from endpoint B. Record the message sequence using a signal emulator. 2. Let the timer T1-cookie expire. COOKIE-ECHO message will be retransmitted. Note the timer. Don't send COOKIE-ACK for the retransmitted COOKIE-ECHO message. T1-cookie will be expired again and again COOKIE-ECHO message will be retransmitted. Record the message sequence using a signal emulator. 3. Check A: Value of the T1-cookie RTO is updated correctly.
1. If configure of MAX_INIT_RETRANS is not lager enough, test will exit even if RTO is not up to RTO.MAX. 2. If the retransmit time is 0.5s less or greater than RTO, do accept it because we can not exactly calculate it.
RFC 4960
4. SCTP Association State Diagram
Notes:
3) If the T1-cookie timer expires, the endpoint MUST retransmit COOKIE ECHO and restart the T1-cookie timer without changing state. This MUST be repeated up to 'Max.Init.Retransmits' times. After that, the endpoint MUST abort the initialization process and report the error to the SCTP user.