48 строки
1.7 KiB
Diff
48 строки
1.7 KiB
Diff
From 59f32703ad9c2fcc0e7163d5e106aec72c9411ab Mon Sep 17 00:00:00 2001
|
|
From: Yevgeny Kliteynik <kliteyn@nvidia.com>
|
|
Date: Sun, 28 Nov 2021 21:48:47 +0200
|
|
Subject: [PATCH 13/22] net/mlx5: Set SMFS as a default steering mode if device
|
|
supports it
|
|
|
|
Set SMFS (SW-managed flow steering) as a default steering mode
|
|
instead of DMFS (device-managed flow steering)
|
|
|
|
In SMFS, the driver writes the STEs (Steering Table Entries) directly
|
|
to the device's ICM, which allows for a higher rule insertion rate
|
|
than through using FW command interface, as it is done in DMFS.
|
|
|
|
SMFS/DMFS steering modes can be configured through devlink param
|
|
'flow_steering_mode'. The possible values are 'smfs' or 'dmfs'.
|
|
The desired 'flow_steering_mode' param value should be set before
|
|
enabling switchdev mode.
|
|
|
|
Example:
|
|
|
|
# devlink dev param set pci/0000:05:00.0 name flow_steering_mode smfs
|
|
# devlink dev eswitch set pci/0000:05:00.0 mode switchdev
|
|
|
|
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
|
|
---
|
|
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
index 3caaf8812d88..3d437d1f99b0 100644
|
|
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
|
|
@@ -3031,6 +3031,11 @@ int mlx5_init_fs(struct mlx5_core_dev *dev)
|
|
steering->dev = dev;
|
|
dev->priv.steering = steering;
|
|
|
|
+ if (mlx5_fs_dr_is_supported(dev))
|
|
+ steering->mode = MLX5_FLOW_STEERING_MODE_SMFS;
|
|
+ else
|
|
+ steering->mode = MLX5_FLOW_STEERING_MODE_DMFS;
|
|
+
|
|
steering->fgs_cache = kmem_cache_create("mlx5_fs_fgs",
|
|
sizeof(struct mlx5_flow_group), 0,
|
|
0, NULL);
|
|
--
|
|
2.25.1
|
|
|