[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


> 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
for further details.


More information about the users mailing list