Set VMDq RSS mode if it has VF(VF number is more than 1) and has RSS information.
Signed-off-by: Changchun Ouyang <changchun.ouyang at intel.com> changes in v5 - Assign txmode.mq_mode with ETH_MQ_TX_NONE explicitly; - Remove one line wrong comment. --- app/test-pmd/testpmd.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index 8c69756..64fd4ee 100644 --- a/app/test-pmd/testpmd.c +++ b/app/test-pmd/testpmd.c @@ -1700,7 +1700,6 @@ init_port_config(void) port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0; } - /* In SR-IOV mode, RSS mode is not available */ if (port->dcb_flag == 0 && port->dev_info.max_vfs == 0) { if( port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_RSS; @@ -1708,6 +1707,20 @@ init_port_config(void) port->dev_conf.rxmode.mq_mode = ETH_MQ_RX_NONE; } + if (port->dev_info.max_vfs != 0) { + if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) { + port->dev_conf.rxmode.mq_mode = + ETH_MQ_RX_VMDQ_RSS; + port->dev_conf.txmode.mq_mode = + ETH_MQ_TX_NONE; + } else { + port->dev_conf.rxmode.mq_mode = + ETH_MQ_RX_NONE; + port->dev_conf.txmode.mq_mode = + ETH_MQ_TX_NONE; + } + } + port->rx_conf.rx_thresh = rx_thresh; port->rx_conf.rx_free_thresh = rx_free_thresh; port->rx_conf.rx_drop_en = rx_drop_en; -- 1.8.4.2