[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #44399] receiving TCP Ack packet with Window Update
From: |
Joel Cunningham |
Subject: |
[lwip-devel] [bug #44399] receiving TCP Ack packet with Window Update |
Date: |
Mon, 02 Mar 2015 19:59:53 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 |
Follow-up Comment #1, bug #44399 (project lwip):
>From tcp_receive():
/* Update window. */
if (TCP_SEQ_LT(pcb->snd_wl1, seqno) ||
(pcb->snd_wl1 == seqno && TCP_SEQ_LT(pcb->snd_wl2, ackno)) ||
(pcb->snd_wl2 == ackno && tcphdr->wnd > pcb->snd_wnd)) {
pcb->snd_wnd = SND_WND_SCALE(pcb, tcphdr->wnd);
...
}
The third OR clause should capture the case you're describing. send_wl1 and
send_wl2 are the SEQ and ACK from the last ACK packet that updated the window.
So if we receive a pure window update where SEQ and ACK are unchanged from
the last packet that updated the window, then the window sizes are compared
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?44399>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/