[Top][All Lists]

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

RE: [lwip-users] Window memory leak from retransmitted packets

From: Kieran Mansley
Subject: RE: [lwip-users] Window memory leak from retransmitted packets
Date: Wed, 24 Jun 2009 14:50:24 +0100

On Wed, 2009-06-24 at 14:16 +0100, David Ward wrote:
> I'm using the RAW API.
> This is the receive callback, I'm using.  

The problem is quite simple in that case: your receive callback is only
handling a single pbuf.  The pbuf passed can in fact be the head of a
chain of pbufs.  Your callback is therefore dealing with the data in the
first buffer of the chain, throwing away and freeing the rest, but only
indicating the length of the first pbuf back to the stack via tcp_recved

Have a look at pbuf->next and pbuf->tot_len to handle the chain.

The only case that I think you get given a chain rather than a single
pbuf is the out-of-order segment handling, when any queued out of order
packets will be added to the list after the missing one is found.  This
fits well with the symptoms you were seeing.


reply via email to

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