[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [lwip-users] Transferring large data fast and pointing pbufs directl
From: |
Bill Auerbach |
Subject: |
RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers |
Date: |
Wed, 12 Dec 2007 16:44:03 -0500 |
> This sounds very similar to the buffer descriptors on the Atmel
> AT91SAM7X chips that I'm using. Like Jonathan was saying, there are some
> changes being tossed around for changing the way pbuf's work that should
> make something like this more elegant.
>
> For now, this is how I solved the problem:
>
> I use in lwipopts:
> #define PBUF_POOL_SIZE 100 // Allows for about 8 full-size
> (1500 byte) packets
> #define PBUF_POOL_BUFSIZE 128 // The receive descriptors are fixed
> at 128 bytes
>
> I fill the buffer descriptor table with 32 empty pbuf's from this pool
> (setting the table entry to point to the pbuf payload itself, so a
> couple words after the start of the pointer I get back from pbuf_alloc).
> As packets come in, I pull them out of the descriptor table, chain them
> together, and then send it up the stack (no copy necessary). I replace
> their entries with fresh pbuf's from the pool. When the pbuf is freed
> after the application is done, then it gets put back in the pool.
Jared, you and Simon straightened me out, finally. It's seems so obvious
now - changing the BD to point to a new pbuf and sending the previous one on
for processing which will be freed when it's done is perfect. I was in the
wrong mindset of thinking the BDs were static.
Thank you again!
Bill
- RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers, (continued)
- RE: [lwip-users] Transferring large data fast and pointing pbufsdirectly to Ethernet receive buffers, Grubb, Jared, 2007/12/12
- RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers, Bill Auerbach, 2007/12/12
- Re: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers, address@hidden, 2007/12/12
- RE: [lwip-users] Transferring large data fast and pointing pbufsdirectly to Ethernet receive buffers, Grubb, Jared, 2007/12/12
- Re: [lwip-users] Transferring large data fast and pointing pbufsdirectly to Ethernet receive buffers, Jonathan Larmour, 2007/12/12
- RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers, Bill Auerbach, 2007/12/12
- RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers,
Bill Auerbach <=
RE: [lwip-users] Transferring large data fast and pointing pbufs directly to Ethernet receive buffers, Bill Auerbach, 2007/12/12