NAME

  T1CookieExpires.seq - RTO is updated correctly if T1-cookie timer expires for a INIT message


PURPOSE

  To check that if T1-cookie expires on a destination address then the
  value of RTO is updated correctly for that address.


SYNOPSIS

  ./T1CookieExpires.seq [-tooloption ...] -pkt ./T1CookieExpires.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. Arrange the 
  data in Endpoint A such that COOKIE-ACK is not sent in response to 
  COOKIE-ECHO message.


TEST PROCEDURE

  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.


NOTE

  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.


REFERENCE

  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.