问题一:
在82599上创建了两个VF之后,各自绑定到vfio,启动DPDK时初始化出现错误:
PMD: eth_ixgbevf_dev_init(): VF Initialization Failure: -15
EAL: Error - exiting with code: 1
Cause: Requested device 0000:01:10.0 cannot be used
在DPDK源码目录下执行grep -r “eth_ixgbevf_dev_init” ./搜索代码报错位置如下:

问题原因:-15是#define IXGBE_ERR_RESET_FAILED -15网卡PF reset失败;
解决办法:最终确认是PF没有UP导致,ifconfig或ip link set xxx up后问题消失;
问题二:
在82599上创建了两个VF之后,使能多队列为4,启动DPDK时多队列配置出现错误:
PMD: ixgbevf_dev_rx_init(): The number of Rx queue invalid, it should be power of 2
PMD: ixgbevf_dev_start(): Unable to initialize RX hardware (-1)
问题原因:gdb查看网卡队列初始化为0,并且没有走到rte_eth_dev_rx_queue_config函数,在rte_eth_dev_configure函数中判断dev_conf->intr_conf.lsc地方返回;
(gdb) p rte_eth_devices[1]->d

在使用DPDK时遇到82599网卡VF初始化失败、多队列配置错误及接口无法正常UP的问题。初始化失败原因是PF未UP,解决方法是启用PF;多队列配置错误是由于队列数量不合法,关闭LSC中断可解决;接口无法UP则可能因OPEN函数未调用或状态寄存器读取错误,确保正确调用并读取状态。
最低0.47元/天 解锁文章
1427

被折叠的 条评论
为什么被折叠?



