Skip to content

Commit ffdb882

Browse files
Erez Shitritdavem330
authored andcommitted
net/mlx5: Enable flow-steering for IB link
Get the relevant capabilities if supports ipoib_enhanced_offloads and init the flow steering table accordingly. Signed-off-by: Erez Shitrit <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent b3ba514 commit ffdb882

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1905,9 +1905,6 @@ void mlx5_cleanup_fs(struct mlx5_core_dev *dev)
19051905
{
19061906
struct mlx5_flow_steering *steering = dev->priv.steering;
19071907

1908-
if (MLX5_CAP_GEN(dev, port_type) != MLX5_CAP_PORT_TYPE_ETH)
1909-
return;
1910-
19111908
cleanup_root_ns(steering->root_ns);
19121909
cleanup_root_ns(steering->esw_egress_root_ns);
19131910
cleanup_root_ns(steering->esw_ingress_root_ns);
@@ -2010,9 +2007,6 @@ int mlx5_init_fs(struct mlx5_core_dev *dev)
20102007
struct mlx5_flow_steering *steering;
20112008
int err = 0;
20122009

2013-
if (MLX5_CAP_GEN(dev, port_type) != MLX5_CAP_PORT_TYPE_ETH)
2014-
return 0;
2015-
20162010
err = mlx5_init_fc_stats(dev);
20172011
if (err)
20182012
return err;
@@ -2023,7 +2017,10 @@ int mlx5_init_fs(struct mlx5_core_dev *dev)
20232017
steering->dev = dev;
20242018
dev->priv.steering = steering;
20252019

2026-
if (MLX5_CAP_GEN(dev, nic_flow_table) &&
2020+
if ((((MLX5_CAP_GEN(dev, port_type) == MLX5_CAP_PORT_TYPE_ETH) &&
2021+
(MLX5_CAP_GEN(dev, nic_flow_table))) ||
2022+
((MLX5_CAP_GEN(dev, port_type) == MLX5_CAP_PORT_TYPE_IB) &&
2023+
MLX5_CAP_GEN(dev, ipoib_enhanced_offloads))) &&
20272024
MLX5_CAP_FLOWTABLE_NIC_RX(dev, ft_support)) {
20282025
err = init_root_ns(steering);
20292026
if (err)

drivers/net/ethernet/mellanox/mlx5/core/fw.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ int mlx5_query_hca_caps(struct mlx5_core_dev *dev)
137137
return err;
138138
}
139139

140-
if (MLX5_CAP_GEN(dev, nic_flow_table)) {
140+
if (MLX5_CAP_GEN(dev, nic_flow_table) ||
141+
MLX5_CAP_GEN(dev, ipoib_enhanced_offloads)) {
141142
err = mlx5_core_get_caps(dev, MLX5_CAP_FLOW_TABLE);
142143
if (err)
143144
return err;

0 commit comments

Comments
 (0)