igb/ixgbe: ETH_MQ_RX_NONE should disable RSS
authorMaxime Leroy <maxime.leroy@6wind.com>
Mon, 2 Sep 2013 15:07:55 +0000 (17:07 +0200)
committerDavid Marchand <david.marchand@6wind.com>
Wed, 26 Feb 2014 09:22:32 +0000 (10:22 +0100)
As explained in rte_ethdev.h, ETH_MQ_RX_NONE allows to not choose RSS, DCB
or VMDQ mode.

But the igb/ixgbe code always silently select the RSS mode with ETH_MQ_RX_NONE.
This patch fixes this incoherence between the API and the implementation.

Signed-off-by: Maxime Leroy <maxime.leroy@6wind.com>
Acked-by: Ivan Boule <ivan.boule@6wind.com>
lib/librte_pmd_e1000/igb_rxtx.c
lib/librte_pmd_ixgbe/ixgbe_rxtx.c

index 4295539..7e7bd4b 100644 (file)
@@ -1755,8 +1755,6 @@ igb_dev_mq_rx_configure(struct rte_eth_dev *dev)
                */
                if (dev->data->nb_rx_queues > 1)
                        switch (dev->data->dev_conf.rxmode.mq_mode) {
-                       case ETH_MQ_RX_NONE:
-                               /* if mq_mode not assign, we use rss mode.*/
                        case ETH_MQ_RX_RSS:
                                igb_rss_configure(dev);
                                break;
@@ -1764,6 +1762,8 @@ igb_dev_mq_rx_configure(struct rte_eth_dev *dev)
                                /*Configure general VMDQ only RX parameters*/
                                igb_vmdq_rx_hw_configure(dev); 
                                break;
+                       case ETH_MQ_RX_NONE:
+                               /* if mq_mode is none, disable rss mode.*/
                        default: 
                                igb_rss_disable(dev);
                                break;
index d577580..b63aefe 100644 (file)
@@ -3228,8 +3228,6 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
                 */
                if (dev->data->nb_rx_queues > 1)
                        switch (dev->data->dev_conf.rxmode.mq_mode) {
-                       case ETH_MQ_RX_NONE:
-                               /* if mq_mode not assign, we use rss mode.*/
                        case ETH_MQ_RX_RSS:
                                ixgbe_rss_configure(dev);
                                break;
@@ -3242,6 +3240,8 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
                                ixgbe_vmdq_rx_hw_configure(dev);
                                break;
                        
+                       case ETH_MQ_RX_NONE:
+                               /* if mq_mode is none, disable rss mode.*/
                        default: ixgbe_rss_disable(dev);
                        }
                else