net/mlx5: add table management
authorSuanming Mou <suanmingm@nvidia.com>
Thu, 24 Feb 2022 13:40:44 +0000 (15:40 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Thu, 24 Feb 2022 21:10:19 +0000 (22:10 +0100)
commitd1559d66ed2da4cb5403ce4daa4d1c92fb339b0d
tree0b125fc3ae3d6949eecda8eaf9b76ef8ee27ad01
parent836b5c9b5e0e287933964197fa38819de4de5b30
net/mlx5: add table management

Flow table is a group of flows with the same matching criteria
and the same actions defined for them. The table defines rules
that have the same matching fields but with different matching
values. For example, matching on 5 tuple, the table will be
(IPv4 source + IPv4 dest + s_port + d_port + next_proto)
while the values for each rule will be different.

The templates' relevant matching criteria and action instances
will be created in the table creation and saved in the table.
As table attributes indicate the supported flow number, the flow
memory will also be allocated at the same time.

This commit adds the table management functions.

Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5.c
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_flow.c
drivers/net/mlx5/mlx5_flow.h
drivers/net/mlx5/mlx5_flow_hw.c