]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5: CT: Introduce a platform for multiple flow steering providers
authorPaul Blakey <paulb@nvidia.com>
Tue, 23 Nov 2021 12:41:18 +0000 (14:41 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 11 Mar 2022 07:38:23 +0000 (23:38 -0800)
commit9769b58e2f31566b58624e28de661940740a874e
tree477b1fe97297ddedf512cfd80a252f2f1c6508a1
parent53b30ab8ca6d1b907c42727b23da31de06fe37d2
net/mlx5: CT: Introduce a platform for multiple flow steering providers

Currently, fs_core layer provides flow steering services to the driver
including: autogroups, allocating FTEs (flow table entries) and FTE ids,
and support of fte action modification. If then software steering is
configured, rule insertion will go through a translation layer from
firmware buffers to software steering objects (see fs_dr.c).

The connection tracking table is a system table that is not directly
controlled by the user and is a very high scale table. These fs_core
services introduces an overhead that may be optimized by using software
steering API directly.

Introduce ct flow steering interface to allow multiple flow steering
providers. Use the new interface to implement the current dmfs (device
managed flow steering) provider which uses fs_core insertion.

Signed-off-by: Paul Blakey <paulb@nvidia.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs.h [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c