From: Yanglong Wu Date: Tue, 9 Jan 2018 06:32:05 +0000 (+0800) Subject: net/ixgbe: fix max queue number for VF X-Git-Tag: spdx-start~326 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=03231aec448e0596da1cac6ad8543ff937c24eae;p=dpdk.git 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 Acked-by: Wei Dai --- diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 2fb9d52669..6284ad89b4 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -2214,8 +2214,6 @@ ixgbe_check_mq_mode(struct rte_eth_dev *dev) case ETH_MQ_RX_NONE: /* if nothing mq mode configure, use default scheme */ dev->data->dev_conf.rxmode.mq_mode = ETH_MQ_RX_VMDQ_ONLY; - if (RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool > 1) - RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool = 1; break; default: /* ETH_MQ_RX_DCB, ETH_MQ_RX_DCB_RSS or ETH_MQ_TX_DCB*/ /* SRIOV only works in VMDq enable mode */