Hi, Yes, I think so, we can change it. nb_rx_q just means the number of queue used for a port and RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool means max queue can be used.
-----Original Message----- From: Ananyev, Konstantin Sent: Monday, November 20, 2017 6:44 PM To: Wu, Yanglong <yanglong...@intel.com>; dev@dpdk.org Cc: Wu, Yanglong <yanglong...@intel.com> Subject: RE: [dpdk-dev] [PATCH v4] net/ixgbe: fix l3fwd start failed on PF > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Yanglong Wu > Sent: Monday, November 20, 2017 2:40 AM > To: dev@dpdk.org > Cc: Wu, Yanglong <yanglong...@intel.com> > Subject: [dpdk-dev] [PATCH v4] net/ixgbe: fix l3fwd start failed on PF > > L3fwd start failed on PF, for tx_q check failed. > That occurred when the SRIOV is active and tx_q > rx_q. > The tx_q is equal to nb_q_per_pool. The number of nb_q_per_pool should > equeal to max number of queues supported by HW not nb_rx_q. > > Fixes: 27b609cbd1c6 (ethdev: move the multi-queue mode check to > specific drivers) > > Signed-off-by: Yanglong Wu <yanglong...@intel.com> > --- > drivers/net/ixgbe/ixgbe_ethdev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c > b/drivers/net/ixgbe/ixgbe_ethdev.c > index ae9c44421..0f0641da1 100644 > --- a/drivers/net/ixgbe/ixgbe_ethdev.c > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c > @@ -2180,7 +2180,7 @@ ixgbe_check_vf_rss_rxq_num(struct rte_eth_dev *dev, > uint16_t nb_rx_q) > return -EINVAL; > } > > - RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool = nb_rx_q; > + RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool = 128 / > +RTE_ETH_DEV_SRIOV(dev).active; Please use appropriate macros instead of constants (s/128/IXGBE_MAX_RX_QUEUE_NUM). > RTE_ETH_DEV_SRIOV(dev).def_pool_q_idx = pci_dev->max_vfs * nb_rx_q; Shouldn't we also change that line to: RTE_ETH_DEV_SRIOV(dev).def_pool_q_idx = pci_dev->max_vfs * RTE_ETH_DEV_SRIOV(dev).nb_q_per_pool; ? Konstantin > > return 0; > -- > 2.11.0