[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] socket write hangs, in LwIP 1.4.? (ppp-new branch but n

From: address@hidden
Subject: Re: [lwip-users] socket write hangs, in LwIP 1.4.? (ppp-new branch but not ppp related)
Date: Thu, 20 Dec 2012 09:25:56 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

Mark Lakata wrote:
I think I've gotten closer to the problem. It seems that the size of the segments that are queued up to be sent by tcp_output are larger than the 'wnd' size (which is pcb->snd_wnd in this case), and thus they don't get sent. I'm not sure how this could have happened.

Specifically, this while() loop never gets entered (line 969 in tcp_out.c) in tcp_output() 

(seg is non NULL)

  while (seg != NULL &&
         ntohl(seg->tcphdr->seqno) - pcb->lastack + seg->len <= wnd) {

because seg->len is bigger than wnd.

Which version of lwIP are you using? (i.e. what does '?' stand for?) I'm asking because from 1.4.0 to 1.4.1, there have been 2 or 3 bugs fixed in this area, which should ensure that all segments we create fit into the window (unless the remote side does not send window updates according to the TCP spec).

If 1.4.1 does not fix this, what is your MSS size, what are the connection's TX/RX window sizes and what OS or IP stack is your peer running?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]