[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TCP/IP mbuf element size

Hi all. I am working on an ethernet driver on an ARM CPU. When I am 
requested to transmit data out of the ethernet port, I am given a chain 
of mbufs. The chain is often times made up of many small buffers. For 
example, when replying to a 1500 byte ping request, I receive 2 mbuf 
chains. The first chain contains 3 elements of 14, 80, and 1420 bytes 
respectfully. The second chain contains 3 elements of 34, 20, and 8 
bytes respectfully. Unfortunately, the DMA controller on our chip does 
not deal well with small buffers, and causes underflow errors in our 
ethernet controller. Is there a way to tell the TCP/IP stack to give me 
fewer, but larger, mbufs? I really don't want to have to copy the data 
from the mbufs into a buffer prior to initiating a transfer.

- Charlie

Charlie Steaderman
charlies at poliac.com
VP Engineering
Poliac Research Corporation
Phone: 952.707.6245
Cel: 612.242.6364