|Subject:||Re: [lwip-users] Collision in PBUF_RAM|
|Date:||Thu, 22 Apr 2010 19:29:13 +0200|
Marcus Bäckman wrote:
> I have encounted a collision problem in PBUF_RAM. udp.c uses pbuf_alloc(PBUF_IP,
> UDP_HLEN, PBUF_RAM) and this buffer will be queued for transmission in the
> ethernet driver. The reference count of this buffer is increased in the ethernet layer,
> and the buffer is freed at a later point when it has been transmitted.
> I have noticed that (sometimes) the pbuf allocated in udp.c points to the same payload
> which is used by a pbuf (also previously allocated in udp.c) waiting to be transmitted.
> The pbuf's differs but they point to the same payload.
> The pbuf waiting to be transmitted has not been freed at the point udp.c allocates
> a new pbuf (the reference count is 2).
Just wanted to give you an update of my findings. It turned out to be explained by "bug #29361: ip_frag has problems with zero-copy DMA MACs". I am using a zero-copy approach.
|[Prev in Thread]||Current Thread||[Next in Thread]|