Bill, Thanks for your reply. I am currently also using a generic queue to store pointers to pbufs. But I still don't understand how this correlates to "pre-allocation".
Maybe, I misunderstand the meaning but I do not allocate any pbufs. All I have is a queue of pbuf pointers. In the ISR, all I can do is then update the reference to the newly received frame's payload. What am I missing something? Thanks again, -Martin On Tue, Apr 17, 2012 at 10:46 AM, Bill Auerbach <[email protected]>wrote: > >I was also wondering: To pre-allocate pbufs, do I have to that in > pbuf_init() (which is currently empty) or does LwiP take care of that > internally? **** > > ** ** > > I create an array of pbuf pointers in ethernetif_init. The ISR adds a RX > packet to a pbuf next in line in the array using a circular queue using > the array index in and out slot. Then my low_level_input (which is polled > in my case) removes the new RX pbuf(s) and uses pbuf_alloc to replace > it/them. I then return the new RX pbuf. lwIP will free this packet when > it’s done. The size of the array depends on how much memory you want to > tie up in pbufs as they will always be allocated for keeping the array full. > **** > > * * > > ** ** > > _______________________________________________ > lwip-users mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/lwip-users >
_______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
