T4RtoExpires.seq - RTO is updated correctly if T4-RTO timer expires for a ASCONF message
To check that if T4-RTO expires on a destination address then the
value of RTO is updated correctly for that address.
./T4RtoExpires.seq [-tooloption ...] -pkt ./T4RtoExpires.def
-tooloption : v6eval tool option
See Also: ../common/STD_PKT_COMMON.def
../common/SCTP_COMMON.def
Association is established between endpoint A and B. Arrange the data
in endpoint A such that ASCONF-ACK is not sent for the ASCONF received
from endpoint B.
Endpoint A Endpoint B ULP
(ESTABLISHED) (ESTABLISHED)
<----- Asconf
<----------------- ASCONF
Don't send (Start T4-RTO timer)
ASCONF-ACK message |
| T4-RTO timer expires
|
<---------------- ASCONF
|
| T4-RTO timer expires
|
<---------------- ASCONF
.
. Retransmit x
. times
TEST DESCRIPTION:
1. Attempt to send ASCONF from endpoint B to A. Don't send ASCONF-ACK
from A. Let the timer T4-rto expire. ASCONF will be retransmitted.
Note the timer. Don't send ASCONF-ACK for the retransmitted ASCONF.
T4-rto will be expired again and ASCONF will be retransmitted again.
Record the messages using a signal emulator.
2. Check A: Value of the T4-rto is updated correctly.
1. If configure of ASSOC_MAX_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 5061
5.1. ASCONF Chunk Procedures
If the T-4 RTO timer expires the endpoint MUST do the following:
B1) Increment the error counters and perform path failure detection
on the appropriate destination address as defined in [RFC4960],
Sections 8.1 and 8.2.
B2) Increment the association error counters and perform endpoint
failure detection on the association as defined in [RFC4960],
Sections 8.1 and 8.2.
B3) Backoff the destination address RTO value to which the ASCONF
chunk was sent by doubling the RTO timer value.
Note: The RTO value is used in the setting of all timer types
for SCTP. Each destination address has a single RTO estimate.
B4) Re-transmit the ASCONF Chunk last sent and if possible choose an
alternate destination address (please refer to [RFC4960],
Section 6.4.1). An endpoint MUST NOT add new parameters to this
chunk; it MUST be the same (including its Sequence Number) as
the last ASCONF sent. An endpoint MAY, however, bundle an
additional ASCONF with new ASCONF parameters with the next
Sequence Number. For details, see Section 5.5.
B5) Restart the T-4 RTO timer. Note that if a different destination
is selected, then the RTO used will be that of the new
destination address.
Note: The total number of retransmissions is limited by B2 above. If
the maximum is reached, the association will fail and enter into the
CLOSED state (see [RFC4960], Section 6.4.1 for details).