net/i40e: forbid two RSS flow rules
authorWei Zhao <wei.zhao1@intel.com>
Thu, 9 May 2019 02:59:30 +0000 (10:59 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 May 2019 16:40:06 +0000 (18:40 +0200)
Refuse to create the second RSS flow rule as only one RSS key and
HASH register for each PF port. Users should delete the first rule
before setup the second rule.

Fixes: ecad87d22383 ("net/i40e: move RSS to flow API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Tested-by: Wenjie Li <wenjiex.a.li@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/i40e/i40e_flow.c

index 5447e4e..bca93b6 100644 (file)
@@ -4444,6 +4444,14 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev,
                }
        }
 
+       if (rss_info->conf.queue_num) {
+               rte_flow_error_set(error, EINVAL,
+                               RTE_FLOW_ERROR_TYPE_ACTION,
+                               act,
+                               "rss only allow one valid rule");
+               return -rte_errno;
+       }
+
        /* Parse RSS related parameters from configuration */
        if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT)
                return rte_flow_error_set