[dpdk-users] Beginners question: rte_eth_tx_burst, rte_mbuf access synchronization
Paul Emmerich
emmericp at net.in.tum.de
Fri Nov 11 15:16:12 CET 2016
Hi,
> Philipp Beyer <pbeyer at voipfuture.com>:
> But I might have found another idea: What about preparing all buffers of a memory pool with the same payload? I should than get a pre-filled buffer from rte_pktmbuf_alloc, right? Let's say, I initialize a buffer for transmittion, the transmitting code free's this buffer, and I get the same buffer back from rte_pktmbuf_alloc. What do I have to re-initialize to have the same buffer again? Only the payload length? Is this approach feasible, based on documented/specified behaviour?
Yes, that's the easiest way to do it with DPDK's mbuf model. Your first
approach would work well on frameworks that expose the ringbuffers
directly in their API (e.g., netmap).
I've implemented it like this in my packet generator MoonGen, you can
read Section 4.2. of our paper at
https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/MoonGen_IMC2015.pdf
for further details.
Paul
More information about the users
mailing list