[PATCH v2 2/9] bpf: document ethdev callback threading limitations

Stephen Hemminger stephen at networkplumber.org
Sat Oct 24 22:47:16 CEST 2026


On Sat, 24 Oct 2026 15:10:13 +0100
Marat Khalili <qm2k21 at gmail.com> wrote:

> On 19/10/2026 22:10, Konstantin Ananyev wrote:
> >> Document the data plane limitation in the file docstring of
> >> rte_bpf_ethdev.h: packet callback execution expects only one
> >> thread per port/queue pair at a time, making concurrent bursts
> >> (such as with RTE_ETH_TX_OFFLOAD_MT_LOCKFREE, shared RX queues,
> >> or multi-threaded software PMDs) unsupported.  
> > Not sure what do you mean by:
> > 'shared RX queues' and 'multi-threaded software PMDs'. Can you 
> > probably clarify?  
> 
> I mean any hypothetical solutions that call rx/tx burst concurrently 
> from multiple threads or processes. To avoid confusion, will just leave 
> only an RTE_ETH_TX_OFFLOAD_MT_LOCKFREE example in the next version.

Other than TX lockfree DPDK is not safe to use rx/tx burst from
multiple threads on the same queue. The queue either needs to be
bound to a thread, or locking in the application. Many drivers
would break if Rx was called concurrently on multiple threads.
This design is intentional and one of the reasons DPDK is fast.


More information about the dev mailing list