63 lines
2.1 KiB
Diff
63 lines
2.1 KiB
Diff
From ffafacde352f98dec23fba49d1430594a39ee7f8 Mon Sep 17 00:00:00 2001
|
|
From: Kamal Heib <kheib@redhat.com>
|
|
Date: Fri, 17 Apr 2026 11:27:02 -0400
|
|
Subject: [PATCH] net/mlx5: Prevent flow steering mode changes in switchdev
|
|
mode
|
|
|
|
JIRA: https://redhat.atlassian.net/browse/RHEL-169055
|
|
|
|
commit cf9a8627b9a369ba01d37be6f71b297beb688faa
|
|
Author: Moshe Shemesh <moshe@nvidia.com>
|
|
Date: Mon Aug 25 17:34:31 2025 +0300
|
|
|
|
net/mlx5: Prevent flow steering mode changes in switchdev mode
|
|
|
|
Changing flow steering modes is not allowed when eswitch is in switchdev
|
|
mode. This fix ensures that any steering mode change, including to
|
|
firmware steering, is correctly blocked while eswitch mode is switchdev.
|
|
|
|
Fixes: e890acd5ff18 ("net/mlx5: Add devlink flow_steering_mode parameter")
|
|
Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
|
|
Signed-off-by: Mark Bloch <mbloch@nvidia.com>
|
|
Link: https://patch.msgid.link/20250825143435.598584-9-mbloch@nvidia.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
|
|
Signed-off-by: Kamal Heib <kheib@redhat.com>
|
|
|
|
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
index 0de287392c32..fafccfe9fb64 100644
|
|
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
@@ -3734,6 +3734,13 @@ static int mlx5_fs_mode_validate(struct devlink *devlink, u32 id,
|
|
char *value = val.vstr;
|
|
u8 eswitch_mode;
|
|
|
|
+ eswitch_mode = mlx5_eswitch_mode(dev);
|
|
+ if (eswitch_mode == MLX5_ESWITCH_OFFLOADS) {
|
|
+ NL_SET_ERR_MSG_FMT_MOD(extack,
|
|
+ "Changing fs mode is not supported when eswitch offloads enabled.");
|
|
+ return -EOPNOTSUPP;
|
|
+ }
|
|
+
|
|
if (!strcmp(value, "dmfs"))
|
|
return 0;
|
|
|
|
@@ -3759,14 +3766,6 @@ static int mlx5_fs_mode_validate(struct devlink *devlink, u32 id,
|
|
return -EINVAL;
|
|
}
|
|
|
|
- eswitch_mode = mlx5_eswitch_mode(dev);
|
|
- if (eswitch_mode == MLX5_ESWITCH_OFFLOADS) {
|
|
- NL_SET_ERR_MSG_FMT_MOD(extack,
|
|
- "Moving to %s is not supported when eswitch offloads enabled.",
|
|
- value);
|
|
- return -EOPNOTSUPP;
|
|
- }
|
|
-
|
|
return 0;
|
|
}
|
|
|
|
--
|
|
2.50.1 (Apple Git-155)
|
|
|