gpt4 book ai didi

c++ - NIC的TX/RX buffer中的数据是如何传输到dpdk ring buffer而不是kernel ring buffer的?

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:01 29 4
gpt4 key购买 nike

我想知道 dpdk 是如何绕过内核的。用户空间应用程序如何访问 NIC 空间。 dpdk访问网卡用什么工具?我知道,dpdk 使用 uio_pci_generic 或 igb_uio 或 vfio-pci 驱动程序。这如何附加到 NIC 空间。轮询模式驱动程序如何知道轮询到哪里?

我知道网卡的RX被重定向到了dpdk ring buffer而不是kernel ring buffer。

最佳答案

dpdk uses uio_pci_generic or igb_uio or vfio-pci

这正是 DPDK 连接到 NIC 的方式——通过将 DPDK 兼容的驱动程序绑定(bind)到 NIC PCI 地址(在大多数情况下,例如使用 Mellanox,使用 RDMA)。嗯,实际上,it's you who has to bind the drivers .

然后,如您所说,DPDK 将 NIC 缓冲区映射到用户空间内存(大页面)并通过 PCI 与 NIC 接口(interface),直接与寄存器“对话”。

如果您想更深入地了解架构,these slides我认为做得很好。

关于c++ - NIC的TX/RX buffer中的数据是如何传输到dpdk ring buffer而不是kernel ring buffer的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56342048/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com