是什么导致DPDK引起EIO(-5)?

发布于 2025-01-26 01:15:51 字数 1957 浏览 3 评论 0原文

试图使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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

三生路 2025-02-02 01:15:51

DPDK ICE(Columibaville E810)PMD可以返回eio在2个不同的位置

  1. hw或设备重置-HW->重置
  2. 流量管理器配置-HW-> tm_conf

因此,请始终在确切的问题上确定使用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 places

  1. HW or device reset - hw->resetting
  2. Traffic Manager configuration - hw->tm_conf

Hence 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文