net/ixgbe: fix max queue number for VF
authorYanglong Wu <yanglong.wu@intel.com>
Tue, 9 Jan 2018 06:32:05 +0000 (14:32 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 16 Jan 2018 17:47:49 +0000 (18:47 +0100)
commit03231aec448e0596da1cac6ad8543ff937c24eae
tree9dfbef846740034df34f3dec9eb3fa96dbd3ab33
parentecad87d22383e4cfe4b6838342c2de6e18b05c28
net/ixgbe: fix max queue number for VF

VF can't run in multiple queue mode, if nb_q_per_pool is set to 1.
Nb_q_per_pool is passed through to max_rx_q and max_tx_q in VF.
So if nb_q_per_pool is equal to 1, max_rx_q and max_tx_q shouldn't
be more than 1, otherwise VF multiple queue mode will fail.

RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool is the Max number of queue can be
used in VF, that would be assigned as IXGBE_MAX_RX_QUEUE_NUM /
RTE_ETH_DEV_SRIOV(dev).active, so that assigning nb_q_per_pool  as 1
when PF is in ETH_MQ_RX_NONE, which will make VF can just use only 1
queue, is not right.

Fixes: 27b609cbd1c6 ("ethdev: move the multi-queue mode check to specific drivers")
Cc: stable@dpdk.org
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c