Vmware DPDK中vmxnet3 PMD中的命令、数据和补偿是什么

Vmware DPDK中vmxnet3 PMD中的命令、数据和补偿是什么,vmware,dpdk,Vmware,Dpdk,我开始学习并理解DPDK的基础知识,以及它与VMWare(VMXNET3 PMD)的配合。我开始浏览代码库,并在vmxnet3_tx_queue_t(位于vmxnet3_ring.h)中找到了对3个环结构的引用,即cmd_ring、data_ring和comp_ring 我试着上网去了解用例和它们的工作原理,但是没有得到关于它的文档或者无法理解 任何指针/方向都会有很大帮助。DPDK NIC文档中对vmxnet3进行了非常得体的描述: 驱动程序预先分配数据包缓冲区并加载命令环描述符。虚拟机监控

我开始学习并理解DPDK的基础知识,以及它与VMWare(VMXNET3 PMD)的配合。我开始浏览代码库,并在vmxnet3_tx_queue_t(位于vmxnet3_ring.h)中找到了对3个环结构的引用,即cmd_ring、data_ring和comp_ring

我试着上网去了解用例和它们的工作原理,但是没有得到关于它的文档或者无法理解


任何指针/方向都会有很大帮助。

DPDK NIC文档中对
vmxnet3
进行了非常得体的描述:

驱动程序预先分配数据包缓冲区并加载命令环描述符。虚拟机监控程序在数据包到达时填充这些数据包缓冲区,并写入完成环描述符,这些描述符最终由PMD提取。接收后,DPDK应用程序释放描述符并为即将到来的数据包加载新的数据包缓冲区

在传输例程中,DPDK应用程序填充命令环描述符中的数据包缓冲区指针,并通知虚拟机监控程序。作为响应,虚拟机监控程序获取数据包并将其传递给vSwitch,然后写入完成描述符环。PMD在下一次传输例程调用中读取环,并从内存中释放缓冲区和描述符

但不确定这些细节是否是“DPDK的基础”,因为这些低级队列是由DPDK轮询模式驱动程序API抽象的:


因此,您最好参考此文档并使用此API,因为无论如何,您都无法在应用程序中直接使用
vmxnet3
铃声…

谢谢您的支持或输入,这非常有用。我试图理解vmxnet3驱动程序本身的流程,因此对环的工作也很感兴趣。