[dpdk-dev] ixgbe network card has dev_info.max_rx_queues == 0
Sergey Mironov
grrwlf at gmail.com
Fri Aug 22 09:12:21 CEST 2014
Thanks, I understand that. I see in the ixgbe's code, that
dev_info.max_rx_queues is initialized from the hw->mac.max_rx_queues
value
dev_info->max_rx_queues = (uint16_t)hw->mac.max_rx_queues;
dev_info->max_tx_queues = (uint16_t)hw->mac.max_tx_queues;
but I can't figure out how this hw->mac is produced. Is it mapped to
the memory region controlled by the network adapter directly?
2014-08-21 16:52 GMT+04:00 Alex Markuze <alex at weka.io>:
> RX and TX Are short hand for Receive and Transmit Queues.
> These Queues Store the in/egress packets.
>
> Just looking at the info you've sent it tells you that max_rx_queues
> for this dev is 0 (Clearly something is wrong here) so the nb_rx_q
> which is 3 is an Invalid Value -EINVAL == -22.
>
> On Thu, Aug 21, 2014 at 3:26 PM, Sergey Mironov <grrwlf at gmail.com> wrote:
>> Hi. I have face a strange error on one of my network cards. Call to
>> rte_eth_dev_configure returns with error code -22. Increaing the
>> verbosity level shows the following:
>>
>>
>> PMD: rte_eth_dev_configure: ethdev port_id=2 nb_rx_queues=3 > 0
>> EAL: Error - exiting with code: 1
>>
>> here is the snippet of code which returns the error
>>
>>
>> ./lib/librte_ether/rte_ethdev.c : 513
>>
>> (*dev->dev_ops->dev_infos_get)(dev, &dev_info);
>> if (nb_rx_q > dev_info.max_rx_queues) {
>> PMD_DEBUG_TRACE("ethdev port_id=%d nb_rx_queues=%d > %d\n",
>> port_id, nb_rx_q, dev_info.max_rx_queues);
>> return (-EINVAL);
>> }
>>
>> What does this error means (what is rx queues of an adapter?) What may
>> cause such a problem? I am using dpdk 1.5.1r1.
>>
>> Thanks in advance,
>> Sergey
More information about the dev
mailing list