如何解决DPDK ixgbe驱动程序未呈现正确的链接状态
我在以太网控制器10G X550T卡上调用了rte_eth_dev_stop(),此后,当我在同一设备上调用rte_eth_get_link_nowait()时,从该设备的链接寄存器读取的链接仍然显示为UP!
但是当我通过物理断开连接的另一端来断开设备链接时,rte_eth_get_link_nowait()调用将链接显示为DOWN!
服务器在裸机架构上运行。 DPDK PMD是ixgbe。 DPDK版本18.05
为什么会这样?有什么主意吗?
解决方法
DPDK API useEffect
负责链接状态关闭。 DPDK API []
负责内部停止rx-tx队列,从而使rte_eth_dev_set_link_down
和rte_eth_tx_burst`始终为0。
因此,对于DPDK PMD ixgbe,期望rte_eth_dev_stop降低X550的链接状态是不正确的。
注意:
- 与Linux
rte_eth_dev_stop
不同,用户空间PMD dev_configure,启动和停止是不同的。请随时检查代码中的详细信息。 - 使用DPDK 20.11的返回值从
rte_eth_rx_burst
更新为ifconfig up and ifconfig down
https://doc.dpdk.org/guides/rel_notes/release_20_11.html?highlight=rte_eth_dev_stop - 自
void
起。因此,请检查其他PMD的代码以了解更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。