我们正在尝试在 Connectx-6 LX 上使用发送调度。如果我们没有在数据包缓冲区上设置时间戳,并在大约正确的时间手动发送每个数据包,那么一切正常。但是,如果我们在缓冲区中设置时间戳,则发送前 25 个数据包并在预期时间接收数据包,但所有后续调用都rte_eth_tx_burst
返回 0。如果相关,我们将在每个突发中发送一个数据包,时间戳相距 125 us。
我们尝试将时间戳设置为较低的值,并且数据包被正确传输,并且按预期tx_pp_timestamp_past_errors
值增加了。我们还设置了较高的值,这也适用于tx_pp_timestamp_future_errors
递增。
任何想法从哪里开始调试?我看不到任何会给出rte_eth_tx_burst
失败错误代码的 API。
我们在 Ubuntu 20.04 上使用 DPDK 21.08 和 5.4.3.1 Mellanox 驱动程序。