In HWS(dv_flow_en=2) mode, in the routine that enables traffic,  isolated
mode check was before LACP default rules creation as opposed to
legacy mode handling.

As a result, the LACP default rules were not created in HWS mode
and LACP packets arrived to testpmd.
The fix was to create the LACP default rules in isolated mode.

Fixes: 87e4384d2662 ("net/mlx5: fix condition of LACP miss flow")
Cc: sta...@dpdk.org

Signed-off-by: Maayan Kashani <mkash...@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnow...@nvidia.com>
---
 drivers/net/mlx5/mlx5_trigger.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 79b3d4d9821..4ee44e91658 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -1533,11 +1533,11 @@ mlx5_traffic_enable_hws(struct rte_eth_dev *dev)
        } else {
                DRV_LOG(INFO, "port %u FDB default rule is disabled", 
dev->data->port_id);
        }
-       if (priv->isolated)
-               return 0;
        if (!priv->sh->config.lacp_by_user && priv->pf_bond >= 0 && 
priv->master)
                if (mlx5_flow_hw_lacp_rx_flow(dev))
                        goto error;
+       if (priv->isolated)
+               return 0;
        if (dev->data->promiscuous)
                flags |= MLX5_CTRL_PROMISCUOUS;
        if (dev->data->all_multicast)
-- 
2.21.0

Reply via email to