net/mlx5_core: Add flow steering base data structures
authorMaor Gottlieb <maorg@mellanox.com>
Thu, 10 Dec 2015 15:12:40 +0000 (17:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Dec 2015 05:15:23 +0000 (00:15 -0500)
commitde8575e014685034728396f9d69169428be9cc3d
tree05b8f799c737ef89fc7b9048e91c0e29ff669ec4
parent26a8145390b36cbe97a5bd0b9e97249f21af6aea
net/mlx5_core: Add flow steering base data structures

Introducing the base data structure and its operations that are
going to represent ConnectX-4 Flow Steering, this data structure
is basically a tree and all Flow steering objects such as
(Flow Table/Flow Group/FTE/etc ..) are represented as fs_node(s).

fs_node is the base object which describes a basic tree node, with the
following extra info:
    type: describes the runtime type of the node (Object).
    lock: lock this node sub-tree.
    ref_count: number of children + current references.
    remove_func: a generic destructor.

fs_node types will be used and explained once the usage is added in the
following patches.

Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h