Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* [PATCH net] net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule
@ 2026-07-17  7:33 Tariq Toukan
  2026-07-23 15:30 ` patchwork-bot+netdevbpf
  0 siblings, 1 reply; 2+ messages in thread
From: Tariq Toukan @ 2026-07-17  7:33 UTC (permalink / raw)
  To: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	netdev, Paolo Abeni
  Cc: Cosmin Ratiu, Kees Cook, Leon Romanovsky, linux-kernel,
	linux-rdma, Mark Bloch, Saeed Mahameed, Tariq Toukan, Yael Chemla

From: Yael Chemla <ychemla@nvidia.com>

esw_egress_acl_vlan_create() hardcodes num_dest=0 in its
mlx5_add_flow_rules() call. When invoked from the non-bond path
fwd_dest is NULL and num_dest=0 is correct. When invoked from
esw_acl_egress_ofld_rules_create() during a bond event, fwd_dest is
non-NULL and flow_act.action carries MLX5_FLOW_CONTEXT_ACTION_FWD_DEST,
but _mlx5_add_flow_rules() rejects a non-NULL dest pointer paired with
dest_num<=0 and returns -EINVAL. The error propagates as
"configure slave vport egress fwd, err(-22)". The passive vport's egress
ACL table ends up with its flow groups allocated but no FTEs, so
prio-tagged packets are not popped and bond failover is broken on
prio_tag_required devices.

Fix by passing fwd_dest ? 1 : 0 as num_dest to match the actual number
of destinations supplied.

Fixes: bf773dc0e6d5 ("net/mlx5: E-Switch, Introduce APIs to enable egress acl forward-to-vport rule")
Signed-off-by: Yael Chemla <ychemla@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c
index ba5cce706ea2..9693c74e9b16 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c
@@ -71,7 +71,7 @@ int esw_egress_acl_vlan_create(struct mlx5_eswitch *esw,
 	flow_act.action = flow_action;
 	vport->egress.allowed_vlan =
 		mlx5_add_flow_rules(vport->egress.acl, spec,
-				    &flow_act, fwd_dest, 0);
+				    &flow_act, fwd_dest, fwd_dest ? 1 : 0);
 	if (IS_ERR(vport->egress.allowed_vlan)) {
 		err = PTR_ERR(vport->egress.allowed_vlan);
 		esw_warn(esw->dev,

base-commit: 3f1f755366687d051174739fb99f7d560202f60b
-- 
2.44.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net] net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule
  2026-07-17  7:33 [PATCH net] net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule Tariq Toukan
@ 2026-07-23 15:30 ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-07-23 15:30 UTC (permalink / raw)
  To: Tariq Toukan
  Cc: andrew+netdev, davem, edumazet, kuba, netdev, pabeni, cratiu,
	kees, leon, linux-kernel, linux-rdma, mbloch, saeedm, ychemla

Hello:

This patch was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 17 Jul 2026 10:33:06 +0300 you wrote:
> From: Yael Chemla <ychemla@nvidia.com>
> 
> esw_egress_acl_vlan_create() hardcodes num_dest=0 in its
> mlx5_add_flow_rules() call. When invoked from the non-bond path
> fwd_dest is NULL and num_dest=0 is correct. When invoked from
> esw_acl_egress_ofld_rules_create() during a bond event, fwd_dest is
> non-NULL and flow_act.action carries MLX5_FLOW_CONTEXT_ACTION_FWD_DEST,
> but _mlx5_add_flow_rules() rejects a non-NULL dest pointer paired with
> dest_num<=0 and returns -EINVAL. The error propagates as
> "configure slave vport egress fwd, err(-22)". The passive vport's egress
> ACL table ends up with its flow groups allocated but no FTEs, so
> prio-tagged packets are not popped and bond failover is broken on
> prio_tag_required devices.
> 
> [...]

Here is the summary with links:
  - [net] net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule
    https://git.kernel.org/netdev/net/c/d12956d083eb

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-07-23 15:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17  7:33 [PATCH net] net/mlx5: E-Switch, fix zero num_dest in prio_tag egress vlan rule Tariq Toukan
2026-07-23 15:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox