Blame SOURCES/0149-netdrv-net-mlx5-DR-Allow-connecting-flow-table-to-a-.patch

d8f823
From d47363e4069aca93d2aad93d44daeaf8f187cbac Mon Sep 17 00:00:00 2001
d8f823
From: Alaa Hleihel <ahleihel@redhat.com>
d8f823
Date: Tue, 12 May 2020 10:54:09 -0400
d8f823
Subject: [PATCH 149/312] [netdrv] net/mlx5: DR, Allow connecting flow table to
d8f823
 a lower/same level table
d8f823
d8f823
Message-id: <20200512105530.4207-44-ahleihel@redhat.com>
d8f823
Patchwork-id: 306915
d8f823
Patchwork-instance: patchwork
d8f823
O-Subject: [RHEL8.3 BZ 1789382 043/124] net/mlx5: DR, Allow connecting flow table to a lower/same level table
d8f823
Bugzilla: 1789384 1789382
d8f823
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
d8f823
RH-Acked-by: Kamal Heib <kheib@redhat.com>
d8f823
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
d8f823
d8f823
Bugzilla: http://bugzilla.redhat.com/1789382
d8f823
Bugzilla: http://bugzilla.redhat.com/1789384
d8f823
Upstream: v5.6-rc1
d8f823
d8f823
commit 4c7cea2f31f1dde9c578e4729e0d34f340052037
d8f823
Author: Yevgeny Kliteynik <kliteyn@mellanox.com>
d8f823
Date:   Mon Jan 20 11:51:36 2020 +0200
d8f823
d8f823
    net/mlx5: DR, Allow connecting flow table to a lower/same level table
d8f823
d8f823
    Allow connecting SW steering source table to a lower/same level
d8f823
    destination table.
d8f823
    Lifting this limitation is required to support Connection Tracking.
d8f823
d8f823
    Signed-off-by: Yevgeny Kliteynik <kliteyn@mellanox.com>
d8f823
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
d8f823
d8f823
Signed-off-by: Alaa Hleihel <ahleihel@redhat.com>
d8f823
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
d8f823
---
d8f823
 drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c | 7 +++++--
d8f823
 1 file changed, 5 insertions(+), 2 deletions(-)
d8f823
d8f823
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
d8f823
index 286fcec5eff2..6dec2a550a10 100644
d8f823
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
d8f823
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
d8f823
@@ -677,9 +677,12 @@ int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher,
d8f823
 					goto out_invalid_arg;
d8f823
 				}
d8f823
 				if (action->dest_tbl.tbl->level <= matcher->tbl->level) {
d8f823
+					mlx5_core_warn_once(dmn->mdev,
d8f823
+							    "Connecting table to a lower/same level destination table\n");
d8f823
 					mlx5dr_dbg(dmn,
d8f823
-						   "Destination table level should be higher than source table\n");
d8f823
-					goto out_invalid_arg;
d8f823
+						   "Connecting table at level %d to a destination table at level %d\n",
d8f823
+						   matcher->tbl->level,
d8f823
+						   action->dest_tbl.tbl->level);
d8f823
 				}
d8f823
 				attr.final_icm_addr = rx_rule ?
d8f823
 					action->dest_tbl.tbl->rx.s_anchor->chunk->icm_addr :
d8f823
-- 
d8f823
2.13.6
d8f823