cancel
Showing results for 
Search instead for 
Did you mean: 

LWIP on STM32H7 bare-metal: ETH RX handler runs out of RX_POOL buffer

GEORGE SANDLER
Associate III

Found a bug with RX_POOL buffers been permanently used. There are total of 12 buffers defined by default. Adding more buffers will prolong the operation, but eventually all of them will be permanently locked.

Using the latest available from ST LWIP stack. Our configuration: enabled ARP, ICMP; TCP server with 5 available connections.

As soon as a whole buffers are locked, the ethernet driver won't process any incoming packets.

Soon after start the number of used buffers goes from 0 to 4 with no active TCP or UDP communication, just a normal network activity.

Once TCP communication is started, and if there is no traffic congestion like opening several connections at the same time or sending too many packets, LWIP may function without a problem for days, which makes finding the issue with losing the ethernet communication difficult. The number of available buffers may go down one-by-one.

Opening several connections simultaneously and starting the traffic on all of them locks the buffers instantly. There are some 30-50 successful TCP transactions before all buffers got locked.

0 REPLIES 0