hi all
i m new to lwip. i want to know the implementtion details of server with lwip.
I m not sure abt the which kind of netwrok driver to be used with this lwip
suite.
can somebody help me out regarding server -client implementation with lwip
thank you in advance
TEJ
Mumtaz Ahmad <[EMAIL PROTECTED]> wrote: Dear all
I have observed while testing with windows client that some times on
retransmission of packets from window the window advertises smaller window .
In that case lwip does not update its snd_wnd which ultimately leads to more
data sent by lwip than the advertised window by windows .The window discrads
the extra data ,which does not fit in its window ,and ask lwip to send this
lost data again as soon its window opens. But some times this demanded
sequence number does not lie on segment boundary . Lwip resend a segement
which contains that sequence somewhere in middle ,as lwip cannot fragment that
segment to send the exact sequence , but windows keep on insisting for exact
sequence .In that case the deadlock is created and ultimately the connection
gets stuck .
The check that seems responsible for this is in tcp_in.c in function
tcp_receive
if (TCP_SEQ_LT(pcb->snd_wl1, seqno) ||
(pcb->snd_wl1 == seqno && TCP_SEQ_LT(pcb->snd_wl2, ackno)) ||
(pcb->snd_wl2 == ackno && seg->tcphdr->wnd > pcb->snd_wnd))
{
pcb->snd_wnd = seg->tcphdr->wnd;
pcb->snd_wl1 = seqno;
pcb->snd_wl2 = ackno;
The if check is failed for retransmitted received packets with a smaller
advertised window causing a no window update and causing a dead lock.
This problem may be solved if we add a new check before this check like
if(seg->tcphdr->wnd < pcb->snd_wnd)
pcb->snd_wnd = seg->tcphdr->wnd;
This new if sets the snd_wnd whenever any small window is advertised
Any one comment please
Best Regards
Mumtaz Ahmad
Manager Network Systems Group
SN Pakistan
92-52-3335228327
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users
Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download
Now! http://messenger.yahoo.com/download.php_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users