Indirect mbuf handling

narsimharaj pentam pnarsimharaj at gmail.com
Tue Dec 9 17:41:11 CET 2025


Hi

I have a query related to ip fragmentation handling in DPDK.

The DPDK application is trying to send a larger packet than the configured
MTU on the interface, before sending the packet to the  i40e PMD the packet
will
undergo fragmentation . The DPDK library function
*"rte_ipv4_fragment_packet"* is used for fragmentation. Function
*rte_ipv4_fragment_packet* will create
direct and indirect mbuf's  for a fragment , *the indirect buffers will
have reference to the mbuf of the actual packet (zero copy).*

The application will call function rte_eth_tx_burst to transmit fragments ,
which internally invokes *i40e_xmit_pkts *, the question here  is when
should main application
mbuf should be freed , can It be freed immediately  after i40e_xmit_pkts
returns success, not sure because the mbuf's are queued up in software ring
before actual transmit,
I am worried about the fragments holding references to the main application
buffer.

Thanks.

BR
Narsimha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/users/attachments/20251209/b432256d/attachment.htm>


More information about the users mailing list