net/mlx5: block RSS action without Rx queue
authorDekel Peled <dekelp@mellanox.com>
Tue, 22 Jan 2019 08:22:24 +0000 (10:22 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 24 Jan 2019 13:53:10 +0000 (14:53 +0100)
This patch modifies function mlx5_flow_validate_action_rss(), to
prevent the setting of rule with rss action, but without specifying
any queues.
For example:
flow create 0 ingress pattern end actions rss queues end / end

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5_flow.c

index f91aecd..11213e2 100644 (file)
@@ -947,6 +947,10 @@ mlx5_flow_validate_action_rss(const struct rte_flow_action *action,
                return rte_flow_error_set(error, EINVAL,
                                          RTE_FLOW_ERROR_TYPE_ACTION_CONF,
                                          NULL, "No Rx queues configured");
+       if (!rss->queue_num)
+               return rte_flow_error_set(error, EINVAL,
+                                         RTE_FLOW_ERROR_TYPE_ACTION_CONF,
+                                         NULL, "No queues configured");
        for (i = 0; i != rss->queue_num; ++i) {
                if (!(*priv->rxqs)[rss->queue[i]])
                        return rte_flow_error_set