net/mlx4: fix targetless internal rule creation
The corrupted code allowed to create internal rule with no any target queue in case the rule creation occurred before queues creation. For example, when user calls rte_eth_dev_default_mac_addr_set after probe and before dev_configure, mlx4 fails because the RSS queue number was 0. The fix prevents internal rules creation before queues creation based on future creation before traffic start. Fixes:7d8675956f
("net/mlx4: add RSS support outside flow API") Fixes:bdcad2f484
("net/mlx4: refactor internal flow rules") Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
This commit is contained in:
parent
412f60a0e1
commit
a76bec521a
@ -1290,6 +1290,9 @@ mlx4_flow_internal(struct priv *priv, struct rte_flow_error *error)
|
||||
unsigned int i;
|
||||
int err = 0;
|
||||
|
||||
/* Nothing to be done if there are no Rx queues. */
|
||||
if (!queues)
|
||||
goto error;
|
||||
/* Prepare default RSS configuration. */
|
||||
*rss_conf = (struct rte_flow_action_rss){
|
||||
.rss_conf = NULL, /* Rely on default fallback settings. */
|
||||
|
Loading…
Reference in New Issue
Block a user