net/mlx5: fs, add HWS get capabilities
authorMoshe Shemesh <moshe@nvidia.com>
Thu, 9 Jan 2025 16:05:43 +0000 (18:05 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 14 Jan 2025 03:21:09 +0000 (19:21 -0800)
Add API function get capabilities to HW Steering flow commands.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20250109160546.1733647-13-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c

index dd9afde60070aad4d7d94afbf7aa105f02554218..ccee230b39920645fae56e45fea7d2054bc40179 100644 (file)
@@ -1333,6 +1333,17 @@ static int mlx5_cmd_hws_destroy_match_definer(struct mlx5_flow_root_namespace *n
        return -EOPNOTSUPP;
 }
 
+static u32 mlx5_cmd_hws_get_capabilities(struct mlx5_flow_root_namespace *ns,
+                                        enum fs_flow_table_type ft_type)
+{
+       if (ft_type != FS_FT_FDB)
+               return 0;
+
+       return MLX5_FLOW_STEERING_CAP_VLAN_PUSH_ON_RX |
+              MLX5_FLOW_STEERING_CAP_VLAN_POP_ON_TX |
+              MLX5_FLOW_STEERING_CAP_MATCH_RANGES;
+}
+
 static const struct mlx5_flow_cmds mlx5_flow_cmds_hws = {
        .create_flow_table = mlx5_cmd_hws_create_flow_table,
        .destroy_flow_table = mlx5_cmd_hws_destroy_flow_table,
@@ -1352,6 +1363,7 @@ static const struct mlx5_flow_cmds mlx5_flow_cmds_hws = {
        .create_ns = mlx5_cmd_hws_create_ns,
        .destroy_ns = mlx5_cmd_hws_destroy_ns,
        .set_peer = mlx5_cmd_hws_set_peer,
+       .get_capabilities = mlx5_cmd_hws_get_capabilities,
 };
 
 const struct mlx5_flow_cmds *mlx5_fs_cmd_get_hws_cmds(void)