Previous patch fixed the setting of port-id for eswitch rules, which are ingress only. This patch expands the fix, to support nic rules as well, which can be ingress or egress.
Fixes: ce777b147bf8 ("net/mlx5: fix E-Switch flow without port item") Cc: sta...@dpdk.org Signed-off-by: Dekel Peled <dek...@mellanox.com> Acked-by: Ori Kam <or...@mellanox.com> --- drivers/net/mlx5/mlx5_flow_dv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index 5a1b426..7a169c7 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -7645,13 +7645,13 @@ struct field_modify_info modify_tcp[] = { item_flags |= last_item; } /* - * In case of ingress traffic when E-Switch mode is enabled, - * we have two cases where we need to set the source port manually. + * When E-Switch mode is enabled, we have two cases where we need to + * set the source port manually. * The first one, is in case of Nic steering rule, and the second is * E-Switch rule where no port_id item was found. In both cases * the source port is set according the current port in use. */ - if ((attr->ingress && !(item_flags & MLX5_FLOW_ITEM_PORT_ID)) && + if (!(item_flags & MLX5_FLOW_ITEM_PORT_ID) && (priv->representor || priv->master)) { if (flow_dv_translate_item_port_id(dev, match_mask, match_value, NULL)) -- 1.8.3.1