app/testpmd: set Rx VMDq RSS mode
authorOuyang Changchun <changchun.ouyang@intel.com>
Mon, 12 Jan 2015 05:59:12 +0000 (13:59 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 18 Jan 2015 22:15:55 +0000 (23:15 +0100)
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@intel.com>
Reviewed-by: Vlad Zolotarov <vladz@cloudius-systems.com>
app/test-pmd/testpmd.c

index 8c69756..773b8af 100644 (file)
@@ -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,17 @@ 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;
+                       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;