[Top][All Lists]

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

Re: [lwip-users] Delayed ACK behavior

From: JM
Subject: Re: [lwip-users] Delayed ACK behavior
Date: Wed, 19 Aug 2009 09:27:18 -0700 (PDT)

I've attached the capture here again in case you don't have the older messages where it was originally sent.  I did forget some pertinent info that might be helpful: it's v1.3.0, no RTOS, all processing is done in the ethernet interrupt.  In the capture: .112 is the "transmitter" (my computer, .169 is the lwIP (Stellaris micro) board. 

Although I should have the debug output to include, in summary it complained of duplicate seqno when a packet was retransmitted from .112.

--- On Wed, 8/19/09, Kieran Mansley <address@hidden> wrote:

From: Kieran Mansley <address@hidden>
Subject: Re: [lwip-users] Delayed ACK behavior
To: "Mailing list for lwIP users" <address@hidden>
Date: Wednesday, August 19, 2009, 11:21 AM

On Wed, 2009-08-19 at 08:09 -0700, JM wrote:
> I have lwIP setup with MSS = 1460, and TCP_WND = 2*MSS.  As I
> understand it, this means that the transmitter will send lwIP up to
> 2*MSS of data before expecting an ACK from lwIP.  In one example, the
> transmitter sends lwIP two consecutive segments in rapid succession,
> each carrying the full MSS.  lwIP quickly ACKs the first segment only.
> The transmitter retransmits the second segment, then lwIP debug output
> complains of recieving a duplicate seqno.  Could this be caused by a
> configuration problem, or is it likely something else?  I feel like
> I'm finally starting to get a handle on understanding my lwIP issues,
> but don't understand why lwIP was so quick to ACK the first segment
> but not wait for the second, so one ACK could be sent.  The trace was
> in another message I posted with the subject "Duplicate sequence
> numbers".  Thanks for everyone's help so far.

ACKs are sent for lots of different reasons.  Perhaps you could get a
packet capture of this behaviour to illustrate your problem, and knowing
which version of lwIP you're using would be useful too.

The implementation of delayed ACK in lwIP is not based on the number of
bytes received, but on the number of packets received.  It will ACK at
least every other packet (whether they are MSS sized or not) but may
send ACKs more frequently (e.g. for a window update) if it wishes.  It
should always send an ACK for a received packet before the other side
retransmits it though, and this is where the packet capture would be


lwip-users mailing list

Attachment: capture.pcap
Description: Binary data

reply via email to

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