DPDK无法使用err no:-22,tx_queues配置ETH设备,大于一个(ethdev port_id = 0 nb_tx_queues = 2> 1)
我有一个将DPDK用于快速路径的应用程序。在DPDK初始化期间,我正在尝试为端口配置两个TX队列,但未能配置ETH设备。
我在裸露的金属设置上使用英特尔IGB驱动程序(I350 NIC)。根据DPDK文档IGB轮询模式驱动程序( https://doc.dpdk.org/guides /nics/igb.html )应支持端口的多个RX/TX队列。我正在尝试为端口配置两个TX队列(port_id = 0),当调用API“ rte_eth_eth_dev_configure(portid = 0,nb_rx_queue = 1,nb_tx_queue = 1,nb_tx_queue = 2,返回错误代码:-22,“ ethdev port_id = 0 nb_tx_queues = 2> 1 ”。
IGB PMD驱动程序是否支持端口的多个TX队列?还是我需要进行任何配置更改以支持多个TX队列?
I have an application that uses DPDK for Fast Path. During DPDK initialization, am trying to configure two TX queues for a port, but it failed to configure the eth device.
I am using Intel IGB driver(I350 NIC) on a Bare Metal setup. As per DPDK documentation IGB Poll Mode Driver (https://doc.dpdk.org/guides/nics/igb.html) should support multiple RX/TX queues for a port. Am trying to configure two TX queues for a port(port_id = 0), when invoking the API "rte_eth_dev_configure(portid = 0, nb_rx_queue = 1, nb_tx_queue = 2, &local_port_conf)", it is returning error code: -22, "Ethdev port_id=0 nb_tx_queues=2 > 1".
Does the IGB PMD driver support multiple TX queues for a port? Or do I need to do any configuration changes to support multiple TX queues?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于虚拟函数(vfs),所讨论的NIC模型仅支持单格模式( source )。
要测试多标题支持,请考虑将A 物理功能(PF)转到设置。
For virtual functions (VFs), the NIC model in question supports only single-queue mode (source).
To test multi-queue support, consider passing a physical function (PF) to the setup instead.
Intel基础NIC I350分配
根据
。关于每个VF 的每个端口产品简介Intel®以太网控制器i350
,每个端口最多八个队列1个队列的虚拟功能,总共每个端口总计8 VF最大值根据
Intel®以太网控制器i350 DataSheet
。在Linux中,可以通过EthTool验证这些
-s
检查每个队列实例,因为每个队列都支持统计信息。rte_eth_dev_info_get
获取属性max_rx_queues and max_tx_queues and max_tx_queues
注意:随着VF的分配给1 rx-tx Queue Pair,ERROR提及
-22,Ethdev Port_id = -22,Ethdev Port_id = -22,Ethdev port_id = -22 0 nb_tx_queues = 2> 1
可以使用正在使用的VF。因此,首先,正确的配置方法是获得DPDK端口最大RX-TX队列并确保其处于范围。示例代码段:
Intel Foundational NIC i350 assign
Up to eight queues per port
for Physical Funtion driver as perPRODUCT BRIEF Intel® Ethernet Controller I350
. With respect to virtual function per port1 queue for each VF
with a total of 8 VF max per port defined underIntel® Ethernet Controller I350 Datasheet
.In Linux, these can be validated by
-S
, as statistics is supported per queue.rte_eth_dev_info_get
to get attributesmax_rx_queues and max_tx_queues
Note: as VF gets allocated with 1 RX-TX queue pair, the error mentioned
-22, Ethdev port_id=0 nb_tx_queues=2 > 1
can be of VF in use. Hence the right way of configuration is first get the DPDK port max rx-tx queues and ensure it is in bounds.Sample Code Snippet: