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

2013-11-20 Thread Ivan Boule
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 
> ---
>   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
6WIND Development Engineer



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

2013-11-19 Thread Maxime Leroy
We should be able to enable RSS with one Rx queue.
RSS hash can be useful independently of the number of queues.
Applications can use RSS hash to identify different flows.

Signed-off-by: Maxime Leroy 
---
 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) {
/*
-- 
1.7.10.4