ixgbe DMA question

Robert Watson rwatson at FreeBSD.org
Sat Feb 12 07:56:51 UTC 2011


On Fri, 11 Feb 2011, Santosh Rao Gururajan wrote:

> I have a host machine with 2 ixgbe NICs. I am trying to pass the frames from 
> one NIC to the other with the lowest possible overhead to the host (high 
> speed bridge). I am wondering if I can do a rx-ring to tx-ring DMA copy 
> without creating a mbuf on the host. Is that possible? What are the risks?

The only real risk is the simple matter of programming, I think.  There's no 
reason not to it except that it involves modifying device drivers, memory 
models, etc.  If you do what you describe, and you decide you do want to pass 
some frames up the stack, you can always hook up mbufs and use the external 
storage free routine to return the memory to the ring.  Jeff Roberson has been 
circulating some patches that eliminate the mbuf<->cluster relationship in its 
current form, instead preferring variable size mbufs, and I can't help but 
wonder if with such a patch, that wouldn't be simpler than what you propose, 
offering many of the same performance benefits while making the device driver 
changes smaller and still allowing you to direct some packets up the stack if 
desired.

Robert


More information about the freebsd-hackers mailing list