[Top][All Lists]

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

Re: [lwip-users] TCP: ACK problem?

From: David Empson
Subject: Re: [lwip-users] TCP: ACK problem?
Date: Wed, 21 Aug 2013 14:46:03 +1200
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130620 Thunderbird/17.0.7

On 2013-08-21 03:45, André P. wrote:

I have an application where I stream data regularly from an LPC board to
a laptop. This works fine, until after some time the transmitter sends
two packets without waiting for an ACK, and the receiver almost
immediately acknowledges both using one packet. Somehow, the LWIP stack
does not accept this ACK, and keeps resending a package.  I have attached
the Flow Graph. Why does LWIP not accept the ACK message 166213? It
keeps resending Seq 162622.
I am using LWIP 1.4.0. Thank you for your support.

The pattern looks like LWIP stopped processing the received ACK packets after the one with Ack=162622. LWIP subsequently sent three packets with new data (162622, 163648 and 165108), then timed out waiting for the ack for the oldest unacknowledged packet (162622), resending it with slowing retries: 1 second delay, then 3, 6, 12, 24, 48; all the subsequent ACKs were not processed.

You'll probably need to look at LWIP's internal error counts to confirm this, but my guess is that you ran out of pbufs, due to having three outgoing packets occupying all remaining pbufs, and none are left to store the received ACKs. If so, you need to allocate more pbufs and/or limit the amount of transmit data you can have outstanding to ensure there will always be free buffers for received packets.

A copy of your lwipopts.h might help to analyse the problem.

reply via email to

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