[PATCH v2 1/7] ethdev: add header split mbuf callback API
Thomas Monjalon
thomas at monjalon.net
Thu Jun 18 18:26:03 CEST 2026
Hello,
Please use --cc-cmd devtools/get-maintainer.sh so maintainers are Cc'ed.
18/06/2026 16:44, Dawid Wesierski:
> From: Marek Kasiewicz <marek.kasiewicz at intel.com>
>
> Add rte_eth_hdrs_set_mbuf_callback() that allows applications to
> register a callback providing custom payload mbufs for header split RX
> mode. When registered, a PMD that supports header split is expected to
> call this callback at mbuf allocation points to obtain user-provided
> payload buffers instead of allocating from the mempool.
What is not working with the current API?
You can already use an external buffer.
> This enables zero-copy RX for header split: the NIC DMAs the payload
> directly into application-managed buffers (e.g., mapped frame buffers
> with known IOVA), bypassing an extra memcpy from the mempool mbuf.
Do you know the flag RTE_PKTMBUF_POOL_F_PINNED_EXT_BUF?
> A new struct rte_eth_hdrs_mbuf describes the payload buffer (virtual
> address and IOVA), and the new dev_ops hook hdrs_mbuf_set_cb lets each
> PMD wire the callback to its receive queue state.
>
> The API is marked experimental and exported with version 26.07.
I think this API is not necessary.
More information about the dev
mailing list