本文以dpdk-github.qoriq-os-21.11-qoriq为例。
dpaa的发包最终调用的是dpaa_eth_queue_tx接口
1,图中nb_bufs是需要发送的包的个数,frames_to_send是一次能发的包的最大个数。
2,indirect应该是某种特殊包,暂未研究。
3,extbuf应该也是种特殊包处理,暂未研究。
4,对于分片包,因为一个分片包会分出两个mbuf(一个存放mac头+ip头大小的包,另一个存放分片包的数据),当时ls1043时,realloc_mbuf=1,所以会走rellocate_mbuf(会把两个mbuf合成一个mbuf).
5,当mbuf都转换为fd格式之后,通过qman_enqueue_multi进行入队操作,把数据包放到eqcr队列。