|
From: | Marcus Bäckman |
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. Regards, Marcus |
[Prev in Thread] | Current Thread | [Next in Thread] |