net/mlx5: Refactor multi chains and prios support
authorAriel Levkovich <lariel@mellanox.com>
Fri, 24 Apr 2020 21:06:19 +0000 (00:06 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 23 Sep 2020 22:44:34 +0000 (15:44 -0700)
commitae430332557acf59272ec994b20c0c3d0a3fb37f
tree4c06d99a624193e8e7e8c21a01774dd7c444e08d
parent748d1c8a425ec529d541f082ee7a81f6a51fa120
net/mlx5: Refactor multi chains and prios support

Decouple the chains infrastructure from eswitch and make
it generic to support other steering namespaces.

The change defines an agnostic data structure to keep
all the relevant information for maintaining flow table
chaining in any steering namespace. Each namespace that
requires table chaining will be required to allocate
such data structure.

The chains creation code will receive the steering namespace
and flow table parameters from the caller so it will operate
agnosticly when creating the required resources to
maintain the table chaining function while Parts of the code
that are relevant to eswitch specific functionality are moved
to eswitch files.

Signed-off-by: Ariel Levkovich <lariel@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
drivers/net/ethernet/mellanox/mlx5/core/esw/chains.c [deleted file]
drivers/net/ethernet/mellanox/mlx5/core/esw/chains.h [deleted file]
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.h [new file with mode: 0644]