diff options
author | Lama Kayal <lkayal@nvidia.com> | 2022-01-30 12:23:39 +0300 |
---|---|---|
committer | Saeed Mahameed <saeedm@nvidia.com> | 2022-08-23 08:44:23 +0300 |
commit | 45b83c6c6831b2b85721f03cdc180a3ceab1e2e8 (patch) | |
tree | 3b3ea2255f2a66c917e7da980520bb9a75f37a96 /drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | |
parent | 93a07599ee0aee9947cd2df510667e5af0dcdc49 (diff) | |
download | linux-45b83c6c6831b2b85721f03cdc180a3ceab1e2e8.tar.xz |
net/mlx5e: Make flow steering arfs independent of priv
Decouple arfs flow steering functionality from priv.
Make all arfs functions defined under fs.h get flow_steering
struct as an argument, thus helping with the process of decoupling the
whole flow steering API from en.h.
Signed-off-by: Lama Kayal <lkayal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_fs.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_fs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index 734faf7e821d..1c7842dd0462 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -1303,7 +1303,8 @@ int mlx5e_create_flow_steering(struct mlx5e_priv *priv) return -EOPNOTSUPP; mlx5e_fs_set_ns(priv->fs, ns, false); - err = mlx5e_arfs_create_tables(priv); + err = mlx5e_arfs_create_tables(priv->fs, priv->rx_res, + !!(priv->netdev->hw_features & NETIF_F_NTUPLE)); if (err) { fs_err(fs, "Failed to create arfs tables, err=%d\n", err); priv->netdev->hw_features &= ~NETIF_F_NTUPLE; @@ -1350,7 +1351,8 @@ err_destroy_ttc_table: err_destroy_inner_ttc_table: mlx5e_destroy_inner_ttc_table(priv); err_destroy_arfs_tables: - mlx5e_arfs_destroy_tables(priv); + mlx5e_arfs_destroy_tables(priv->fs, + !!(priv->netdev->hw_features & NETIF_F_NTUPLE)); return err; } @@ -1362,7 +1364,8 @@ void mlx5e_destroy_flow_steering(struct mlx5e_priv *priv) mlx5e_destroy_l2_table(priv); mlx5e_destroy_ttc_table(priv); mlx5e_destroy_inner_ttc_table(priv); - mlx5e_arfs_destroy_tables(priv); + mlx5e_arfs_destroy_tables(priv->fs, + !!(priv->netdev->hw_features & NETIF_F_NTUPLE)); mlx5e_ethtool_cleanup_steering(priv->fs); } |