是什么导致DPDK引起EIO(-5)?
试图使Intel适配器E810-XXVDA2与VPP一起工作(使用VFIO-PCI驱动程序),并且无法弄清楚该错误。当我在VPP/DPDK外部使用适配器时,它可以正常工作(使用ICE驱动程序)。
适配器:Intel(R)以太网网络适配器E810-XXVDA2,驱动程序:VFIO-PCI VPP:V22.02 Linux:内核5.13.0-40代,Ubuntu焦点20.04.3 LTS
在/etc/vpp/startup.conf中指定接口时,从vppctl开始:
vpp# show hardware-interfaces TwentyFiveGigabitEthernet37/0/0
Name Idx Link Hardware
TwentyFiveGigabitEthernet37/0/0 1 up TwentyFiveGigabitEthernet37/0/0
...
rx bytes ok 2613819
rx missed 18468
Errors:
rte_eth_dev_start[port:0, errno:-5]: Unknown error -5
rte_eth_dev_start[port:0, errno:-5]: Unknown error -5
dpdk的-5(eio)是什么意思?提前致谢!
编辑:
我能够克服此错误。根据@vipinvarghese的建议,我打开了日志记录(对于VPP用户,这意味着在DPDK段中添加log级PMD,8
default-log log级调试
/etc/vpp/startup.conf的记录部分。
在那里,我看到有第二个错误需要我更新ICE驱动程序。我当时是1.3.4,将其移至1.8.8。之后,两个错误都解决了。 错误是:
2022/05/04 19:58:48:594 error dpdk Interface TwentyFiveGigabitEthernet37/0/0 error -5: Unknown error -5
2022/05/04 19:58:48:594 error interface sw_set_flags_helper: dpdk_interface_admin_up_down: Interface start failed
2022/05/04 19:58:48:595 notice dpdk ice_tx_queue_start(): >>
2022/05/04 19:58:48:595 notice dpdk ice_rx_queue_start(): >>
2022/05/04 19:58:48:595 notice dpdk ice_program_hw_rx_queue(): Port (0) - Rx queue (0) is set with RXDID : 22
2022/05/04 19:58:48:595 notice dpdk ice_program_hw_rx_queue(): currently package doesn't support RXDID (22)
2022/05/04 19:58:48:595 notice dpdk ice_rx_queue_start(): fail to program RX queue 0
2022/05/04 19:58:48:595 notice dpdk ice_dev_start(): fail to start Rx queue 0
RXDID#22(ICE_RXDID_COMMS_OVS)直到以后版本。
Trying to get Intel adapter E810-XXVDA2 to work with VPP (using vfio-pci driver) and cannot figure out the error. When I use the adapter outside of VPP/DPDK, it works just fine (uses ice driver).
Adapter: Intel(R) Ethernet Network Adapter E810-XXVDA2, driver: vfio-pci
VPP: v22.02
Linux: kernel 5.13.0-40-generic, Ubuntu focal 20.04.3 LTS
When interface is specified in /etc/vpp/startup.conf and started with vppctl:
vpp# show hardware-interfaces TwentyFiveGigabitEthernet37/0/0
Name Idx Link Hardware
TwentyFiveGigabitEthernet37/0/0 1 up TwentyFiveGigabitEthernet37/0/0
...
rx bytes ok 2613819
rx missed 18468
Errors:
rte_eth_dev_start[port:0, errno:-5]: Unknown error -5
rte_eth_dev_start[port:0, errno:-5]: Unknown error -5
What does the -5 (EIO) from dpdk mean? Thanks in advance!
EDIT:
I was able to get past this error. Going by the suggestion from @VipinVarghese, I turned on logging (which for VPP users means adding log-level pmd,8
to dpdk section and default-log-level debug
in logging section of /etc/vpp/startup.conf).
There I saw that there was a second error which needed me to update ice driver. I was at 1.3.4, I moved it to 1.8.8. After that, both errors got resolved.
The errors were:
2022/05/04 19:58:48:594 error dpdk Interface TwentyFiveGigabitEthernet37/0/0 error -5: Unknown error -5
2022/05/04 19:58:48:594 error interface sw_set_flags_helper: dpdk_interface_admin_up_down: Interface start failed
2022/05/04 19:58:48:595 notice dpdk ice_tx_queue_start(): >>
2022/05/04 19:58:48:595 notice dpdk ice_rx_queue_start(): >>
2022/05/04 19:58:48:595 notice dpdk ice_program_hw_rx_queue(): Port (0) - Rx queue (0) is set with RXDID : 22
2022/05/04 19:58:48:595 notice dpdk ice_program_hw_rx_queue(): currently package doesn't support RXDID (22)
2022/05/04 19:58:48:595 notice dpdk ice_rx_queue_start(): fail to program RX queue 0
2022/05/04 19:58:48:595 notice dpdk ice_dev_start(): fail to start Rx queue 0
RXDID #22 (ICE_RXDID_COMMS_OVS) was not supported until later versions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
DPDK ICE(Columibaville E810)PMD可以返回
eio
在2个不同的位置因此,请始终在确切的问题上确定使用DPDK EAL_INIT选项
- log-level = pmd,8
运行它。这将有助于捕获有关PMD的更多详细信息。我强烈建议使用适当的驱动程序和固件版本针对dpdk版本,为在第25.3节中提到的“ nofollow noreferrer”> 。[更新]更新Linux驱动程序(又包含DDP和固件的Linux驱动程序)解决了@schugcove的问题。
DPDK ICE (columibaville E810) PMD can return
EIO
at 2 different placesHence to nail down on the exact problem, always run it with DPDK EAL_INIT option
--log-level=pmd,8
. This will help to capture more details with respect to PMD. I highly recommend to use the appropriate driver and firmware version against the DPDK version as mentioned in section 25.3.[Update] updating the linux driver (which in turn houses the DDP and firmware) has solved the issue for @schugcove.