ACKED LOST PACKET & Zero Window Probe

asked 2024-04-11 13:27:20 +0000

7ACE gravatar image

Hi experts,

For issue #8404 error.pcap,Is No.12 [TCP Window Update] determined by the following code? But Why?This pcap have not error about 'ACKED LOST PACKET'.

 /* ACKED LOST PACKET
 * If this segment acks beyond the 'max seq to be acked' in the other direction
 * then that means we have missed packets going in the
 * other direction.
 * It might also indicate we are resuming from a Zero Window,
 * where a Probe is just followed by an ACK opening again the window.
 * See issue 8404.
 *
 * We only check this if we have actually seen some seq numbers
 * in the other direction.
 */
if( tcpd->rev->tcp_analyze_seq_info->maxseqtobeacked
&&  GT_SEQ(ack, tcpd->rev->tcp_analyze_seq_info->maxseqtobeacked )
&&  (flags&(TH_ACK))!=0 ) {
     ...
    /* resuming from a Zero Window Probe which re-opens the window,
     * mark it as a Window Update
     */
    if(EQ_SEQ(ack,tcpd->fwd->tcp_analyze_seq_info->lastack+1)
    && (seq==tcpd->fwd->tcp_analyze_seq_info->nextseq)
    && (tcpd->rev->lastsegmentflags&TCP_A_ZERO_WINDOW_PROBE) ) {
        tcpd->rev->tcp_analyze_seq_info->nextseq=ack;
        tcpd->rev->tcp_analyze_seq_info->maxseqtobeacked=ack;
        tcpd->ta->flags|=TCP_A_WINDOW_UPDATE;
    }

Regards, 7ACE

edit retag flag offensive close merge delete

Comments

GT_SEQ(ack, tcpd->rev->tcp_analyze_seq_info->maxseqtobeacked)

Is the value of 'maxseqtobeacked' 15621, not 15622(No.11 NextSeqNum)?

7ACE gravatar image7ACE ( 2024-04-13 10:17:16 +0000 )edit