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:
Eugene Adell 2021-02-12 21:45:54 +01:00 committed by Wireshark GitLab Utility
parent b3f356efa2
commit 4e3ec2d01a
2 changed files with 2 additions and 2 deletions

View File

@ -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.

View File

@ -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);
}