Skip to content

Commit

Permalink
net/mlx5e: Improve IPsec flow steering autogroup
Browse files Browse the repository at this point in the history
Flow steering API separates newly created rules based on their
match criteria. Right now, all IPsec tables are created with one
group and suffers from not-optimal FS performance.

Count number of different match criteria for relevant tables, and
set proper value at the table creation.

Reviewed-by: Raed Salem <raeds@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
  • Loading branch information
Leon Romanovsky authored and Steffen Klassert committed Dec 8, 2022
1 parent 6b5c45e commit 18f38fd
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ static int rx_create(struct mlx5_core_dev *mdev, struct mlx5e_ipsec *ipsec,

/* Create FT */
ft = ipsec_ft_create(ns, MLX5E_ACCEL_FS_ESP_FT_LEVEL, MLX5E_NIC_PRIO,
1);
2);
if (IS_ERR(ft)) {
err = PTR_ERR(ft);
goto err_fs_ft;
Expand All @@ -208,7 +208,7 @@ static int rx_create(struct mlx5_core_dev *mdev, struct mlx5e_ipsec *ipsec,
goto err_fs;

ft = ipsec_ft_create(ns, MLX5E_ACCEL_FS_POL_FT_LEVEL, MLX5E_NIC_PRIO,
1);
2);
if (IS_ERR(ft)) {
err = PTR_ERR(ft);
goto err_pol_ft;
Expand Down Expand Up @@ -307,13 +307,13 @@ static int tx_create(struct mlx5_core_dev *mdev, struct mlx5e_ipsec_tx *tx)
struct mlx5_flow_table *ft;
int err;

ft = ipsec_ft_create(tx->ns, 1, 0, 1);
ft = ipsec_ft_create(tx->ns, 1, 0, 4);
if (IS_ERR(ft))
return PTR_ERR(ft);

tx->ft.sa = ft;

ft = ipsec_ft_create(tx->ns, 0, 0, 1);
ft = ipsec_ft_create(tx->ns, 0, 0, 2);
if (IS_ERR(ft)) {
err = PTR_ERR(ft);
goto err_pol_ft;
Expand Down

0 comments on commit 18f38fd

Please sign in to comment.