T3RtxRetrans.seq - DATA message is transmitted again if T3-rtx timer expires
To check that if the T3-rtx timer expires, the endpoint MUST retransmit DATA and restart the T3-rtx timer.
./T3RtxRetrans.seq [-tooloption ...] -pkt ./T3RtxRetrans.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 SACK is not sent in response to DATA message.
Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED)
<---------------- DATA (Start T3-rtx timer) | | T3-rtx timer expired | <---------------- DATA
TEST DESCRIPTION:
1. Sending DATA message from endpoint B to A. Do not send SACK to response the DATA message. Record the message sequence using a signal emulator. 2. Check A: DATA message is sent again after expiry of T1-rtx timer.
None
RFC 4960
6.3.3. Handle T3-rtx Expiration
Whenever the retransmission timer T3-rtx expires for a destination address, do the following:
E1) For the destination address for which the timer expires, adjust its ssthresh with rules defined in Section 7.2.3 and set the cwnd <- MTU.
E2) For the destination address for which the timer expires, set RTO <- RTO * 2 ("back off the timer"). The maximum value discussed in rule C7 above (RTO.max) may be used to provide an upper bound to this doubling operation.
E3) Determine how many of the earliest (i.e., lowest TSN) outstanding DATA chunks for the address for which the T3-rtx has expired will fit into a single packet, subject to the MTU constraint for the path corresponding to the destination transport address to which the retransmission is being sent (this may be different from the address for which the timer expires; see Section 6.4). Call this value K. Bundle and retransmit those K DATA chunks in a single packet to the destination endpoint.
E4) Start the retransmission timer T3-rtx on the destination address to which the retransmission is sent, if rule R1 above indicates to do so. The RTO to be used for starting T3-rtx should be the one for the destination address to which the retransmission is sent, which, when the receiver is multi-homed, may be different from the destination address for which the timer expired (see Section 6.4 below).