[dpdk-dev] [Question about 'rte_eth_tx_prepare']

Chengchang Tang tangchengchang at huawei.com
Mon Feb 8 07:29:49 CET 2021

Hi, Thomas Monjalon and Ferruh Yigit and others.

I have some questions about 'rte_eth_tx_prepare'.

When I use TSO offload in bond mode, the checksum error occurs. It is
because the bond PMD does not implement 'tx_prepare'. So, it will not
invoke the 'tx_prepare' of each PMDs to do prepare for the PMDs. I am
not sure whether to add the 'tx_preapre' implementation for the bond
PMD or put the process of pseudo header in the apps.

And we are now designing the outer UDP cksum offload for HNS3 PMD.
I find that many PMDs process these pseudo headers in 'tx_prepare', but
does not process the pseudo header for outer UDP checksum offload.
Instead, it is processed in csum forward mode of testpmd. Does this mean
that the pseudo header should be completed by the apps and the apps does
not need to call 'tx_prepare' to avoid repeated processing? (it seems
not transplantable) If so, it seems that PMDs need to avoid doing this
in 'tx_prepare'.

Here are two questions:
1. What functions should be included in the 'tx_prepare' for PMDs?
2. Whether an app must invoke 'rte_eth_tx_prepare' or under which
conditions an app must invoke the 'rte_eth_tx_prepare'?

Chengchang Tang

More information about the dev mailing list