TCP: last out-of-order packet is marked as a retransmission
In some circumstances when dealing with a series of out-of-order packets, the last packet of this series is marked as a retransmission instead of an out-of-order. Closes #17214.
This commit is contained in:
parent
b3f356efa2
commit
4e3ec2d01a
|
@ -503,7 +503,7 @@ Set when all of the following are true:
|
|||
* This is not a keepalive packet.
|
||||
* In the forward direction, the segment length is greater than zero or the SYN or FIN is set.
|
||||
* The next expected sequence number is greater than the current sequence number.
|
||||
* The next expected sequence number and the next sequence number differ.
|
||||
* The next expected sequence number is greater than or equal to the next sequence number.
|
||||
* The last segment arrived within the Out-Of-Order RTT threshold.
|
||||
The threshold is either the value shown in the “iRTT” (tcp.analysis.initial_rtt) field under “SEQ/ACK analysis” if it is present, or the default value of 3ms if it is not.
|
||||
|
||||
|
|
|
@ -2268,7 +2268,7 @@ finished_fwd:
|
|||
|
||||
if( seq_not_advanced // XXX is this neccessary?
|
||||
&& t < ooo_thres
|
||||
&& tcpd->fwd->tcp_analyze_seq_info->nextseq != seq + seglen ) {
|
||||
&& tcpd->fwd->tcp_analyze_seq_info->nextseq >= seq + seglen ) {
|
||||
if(!tcpd->ta) {
|
||||
tcp_analyze_get_acked_struct(pinfo->num, seq, ack, TRUE, tcpd);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue