Hi Wenzhuo, <snip>
> > > > If nb_rxq and nb_txq are set to max_rx_queues and max_tx_queues > > > > respectively, there is a failure when the port is started in > > > > ixgbe_check_mq_mode() at line > > > > 1990 in ixgbe_ethdev.c. > > > > SRIOV is active, nb_rx_q=128 nb_tx_q=128 queue number must be less > > > > than or equal to 1. > > > I haven't hit this issue. Would you like to give more details about > > > how to hit it? I'll check if I miss something. > > > > There is a Niantic PF and VF bound to igb_uio. Port 0 is the PF and > > Port 1 is the VF. > > ./testpmd -c 3f -l 1-5 -n 4 -- -i > > testpmd> set corelist 2,3,4,5 > > testpmd> port stop 0 /* PF is 0 */ > > testpmd> port config 0 dcb vt on 4 pfc on port start 0 /* PF is 0 */ > > line 1990 ixgbe_ethdev.c > > SRIOV is active, nb_rx_q=128 nb_tx_q=128 queue number must be less > > than or equal to 1. > > /* Works if nb_rx_q and nb_tx_q set to 1 */ > To my opinion, it's a by-design limitation. After using the DCB configuration > CLI, the queue number is set to a fix number which is the max number. But > as you pointed, when SRIOV is active there's another requirement for the > queue number. > We need to investigate deeper and find a solution for it. But I think it's > another story. We need another patch for it. Line 1997 in testpmd.c 1997 if (dcb_mode == DCB_VT_ENABLED) { nb_rxq = rte_port->dev_info.max_rx_queues; nb_txq = rte_port->dev_info.max_tx_queues; } else { 2001 /*if vt is disabled, use all pf queues */ if (rte_port->dev_info.vmdq_pool_base == 0) { nb_rxq = rte_port->dev_info.max_rx_queues; nb_txq = rte_port->dev_info.max_tx_queues; } else { nb_rxq = (queueid_t)num_tcs; nb_txq = (queueid_t)num_tcs; } } The comment at line 2001 implies that when dcb_mode is DCB_VT_ENABLED all pf queues should not be used. When dcb_mode is DCB_VT_ENABLED, setting nb_rxq and nb_txq equal to 1 works when the PF (port 0) is started. When dcb_mode is DCB_VT_ENABLED, setting nb_rxq to max_rx_queues and nb_txq to max_tx_queues results in the following failure in ixgbe when the PF (port 0) is started. SRIOV is active, nb_rx_q=128 nb_tx_q=128 queue number must be less than or equal to 1. <snip> Regards, Bernard