[ Upstream commit f53297d67800feb5fafd94abd926c889aefee690 ]

The ingress and egress ACL root namespaces are created per vport and
stored into arrays. However, the vport number is not the same as the
index. Passing the array index, instead of vport number, to get the
correct ingress and egress acl namespace.

Fixes: 9b93ab981e3b ("net/mlx5: Separate ingress/egress namespaces for each 
vport")
Signed-off-by: Jianbo Liu <[email protected]>
Reviewed-by: Oz Shlomo <[email protected]>
Reviewed-by: Eli Britstein <[email protected]>
Reviewed-by: Roi Dayan <[email protected]>
Reviewed-by: Mark Bloch <[email protected]>
Signed-off-by: Saeed Mahameed <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c 
b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
index 6a921e24cd5e..acab26b88261 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
@@ -939,7 +939,7 @@ int esw_vport_enable_egress_acl(struct mlx5_eswitch *esw,
                  vport->vport, MLX5_CAP_ESW_EGRESS_ACL(dev, log_max_ft_size));
 
        root_ns = mlx5_get_flow_vport_acl_namespace(dev, 
MLX5_FLOW_NAMESPACE_ESW_EGRESS,
-                                                   vport->vport);
+                       mlx5_eswitch_vport_num_to_index(esw, vport->vport));
        if (!root_ns) {
                esw_warn(dev, "Failed to get E-Switch egress flow namespace for 
vport (%d)\n", vport->vport);
                return -EOPNOTSUPP;
@@ -1057,7 +1057,7 @@ int esw_vport_enable_ingress_acl(struct mlx5_eswitch *esw,
                  vport->vport, MLX5_CAP_ESW_INGRESS_ACL(dev, log_max_ft_size));
 
        root_ns = mlx5_get_flow_vport_acl_namespace(dev, 
MLX5_FLOW_NAMESPACE_ESW_INGRESS,
-                                                   vport->vport);
+                       mlx5_eswitch_vport_num_to_index(esw, vport->vport));
        if (!root_ns) {
                esw_warn(dev, "Failed to get E-Switch ingress flow namespace 
for vport (%d)\n", vport->vport);
                return -EOPNOTSUPP;
-- 
2.20.1



Reply via email to