net/mlx5: fix adjust priority for drop queue
authorNélio Laranjeiro <nelio.laranjeiro@6wind.com>
Wed, 25 Oct 2017 08:25:22 +0000 (10:25 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 26 Oct 2017 00:33:01 +0000 (02:33 +0200)
Drop queue should also adjust their priority according the most specific
layer in the pattern they are matching to avoid dropping all the
traffic.

Fixes: 8086cf08b2f0 ("net/mlx5: handle RSS hash configuration in RSS flow")

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
drivers/net/mlx5/mlx5_flow.c

index 26cf593..f392f1f 100644 (file)
@@ -1174,9 +1174,17 @@ priv_flow_convert(struct priv *priv,
         * Last step. Complete missing specification to reach the RSS
         * configuration.
         */
-       if (parser->queues_n > 1) {
+       if (parser->drop) {
+               /*
+                * Drop queue priority needs to be adjusted to
+                * their most specific layer priority.
+                */
+               parser->drop_q.ibv_attr->priority =
+                       attr->priority +
+                       hash_rxq_init[parser->layer].flow_priority;
+       } else if (parser->queues_n > 1) {
                priv_flow_convert_finalise(priv, parser);
-       } else if (!parser->drop) {
+       } else {
                /*
                 * Action queue have their priority overridden with
                 * Ethernet priority, this priority needs to be adjusted to