[dpdk-dev] [PATCH 2/2] igb/ixgbe: allow RSS with only one Rx queue

Ivan Boule ivan.boule at 6wind.com
Wed Nov 20 10:37:34 CET 2013


On 11/19/2013 02:03 PM, Maxime Leroy wrote:
> It should be possible to enable RSS with a single Rx queue.
> The RSS hash can be useful independently of the number of RX queues.
> Hence, DPDK applications can use the hardware-computed RSS hash to 
> manage in software different IP packet flows.
>
> Signed-off-by: Maxime Leroy <maxime.leroy at 6wind.com>
> ---
>   lib/librte_pmd_e1000/igb_rxtx.c   |    7 ++-----
>   lib/librte_pmd_ixgbe/ixgbe_rxtx.c |    7 ++-----
>   2 files changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/lib/librte_pmd_e1000/igb_rxtx.c 
> b/lib/librte_pmd_e1000/igb_rxtx.c
> index 641ceea..8c1e2cc 100644
> --- a/lib/librte_pmd_e1000/igb_rxtx.c
> +++ b/lib/librte_pmd_e1000/igb_rxtx.c
> @@ -1743,8 +1743,7 @@ igb_dev_mq_rx_configure(struct rte_eth_dev *dev)
>           /*
>            * SRIOV inactive scheme
>            */
> -        if (dev->data->nb_rx_queues > 1)
> -            switch (dev->data->dev_conf.rxmode.mq_mode) {
> +        switch (dev->data->dev_conf.rxmode.mq_mode) {
>               case ETH_MQ_RX_RSS:
>                   igb_rss_configure(dev);
>                   break;
> @@ -1757,9 +1756,7 @@ igb_dev_mq_rx_configure(struct rte_eth_dev *dev)
>               default:
>                   igb_rss_disable(dev);
>                   break;
> -            }
> -        else
> -            igb_rss_disable(dev);
> +        }
>       }
>          return 0;
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> index e1b90f9..ae9eda8 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
> @@ -3215,8 +3215,7 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
>             * SRIOV inactive scheme
>            * any DCB/RSS w/o VMDq multi-queue setting
>            */
> -        if (dev->data->nb_rx_queues > 1)
> -            switch (dev->data->dev_conf.rxmode.mq_mode) {
> +        switch (dev->data->dev_conf.rxmode.mq_mode) {
>               case ETH_MQ_RX_RSS:
>                   ixgbe_rss_configure(dev);
>                   break;
> @@ -3232,9 +3231,7 @@ ixgbe_dev_mq_rx_configure(struct rte_eth_dev *dev)
>               case ETH_MQ_RX_NONE:
>                   /* if mq_mode is none, disable rss mode.*/
>               default: ixgbe_rss_disable(dev);
> -            }
> -        else
> -            ixgbe_rss_disable(dev);
> +        }
>       } else {
>           switch (RTE_ETH_DEV_SRIOV(dev).active) {
>           /*

Acked by Ivan Boule <ivan.boule at 6wind.com>

-- 
Ivan Boule
6WIND Development Engineer



More information about the dev mailing list