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