From 8668c2f2547aad690baeff485a95e46a840b386e Mon Sep 17 00:00:00 2001 From: kieranm Date: Tue, 23 Sep 2003 08:33:16 +0000 Subject: [PATCH] Initialise snd_wl1 to seqno - 1 to force window update. Causes bug for uni-directional traffic. --- src/core/tcp_in.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/tcp_in.c b/src/core/tcp_in.c index 22a4b59c..e6913de7 100644 --- a/src/core/tcp_in.c +++ b/src/core/tcp_in.c @@ -451,7 +451,7 @@ tcp_listen_input(struct tcp_pcb_listen *pcb) npcb->rcv_nxt = seqno + 1; npcb->snd_wnd = tcphdr->wnd; npcb->ssthresh = npcb->snd_wnd; - npcb->snd_wl1 = seqno; + npcb->snd_wl1 = seqno - 1;/* initialise to seqno-1 to force window update */ npcb->callback_arg = pcb->callback_arg; #if LWIP_CALLBACK_API npcb->accept = pcb->accept; @@ -555,7 +555,8 @@ tcp_process(struct tcp_pcb *pcb) ackno == ntohl(pcb->unacked->tcphdr->seqno) + 1) { pcb->rcv_nxt = seqno + 1; pcb->lastack = ackno; - pcb->snd_wnd = pcb->snd_wl1 = tcphdr->wnd; + pcb->snd_wnd = tcphdr->wnd; + pcb->snd_wl1 = seqno - 1; /* initialise to seqno - 1 to force window update */ pcb->state = ESTABLISHED; pcb->cwnd = pcb->mss; --pcb->snd_queuelen;