首页 > 解决方案 > 从 RX 环接收并在 TX 路径上释放的 DPDK 缓冲区

问题描述

考虑一个 DPDK 程序,其中每个 EAL 线程:

RX 缓冲区没有被明确地释放,因为它们在 TX 环上被重新使用。依靠 NIC 处理的 TX 队列来释放 RX 环中的条目是一种好习惯吗?

标签: dpdk

解决方案


成功放入 Tx 队列的缓冲区将由 PMD 释放。这是唯一的选择,所以是的,这是一个很好的做法。

但请注意,将数据包突发放入 Tx 队列可能会失败,因为队列可能由于某种原因已满。因此,如果在 之后有任何未排队的数据包rte_eth_tx_burst(),则必须手动释放这些数据包,否则必须重试传输。


推荐阅读