Skip to content
  • Maor Gottlieb's avatar
    net/mlx5_core: Introduce flow steering API · 0c56b975
    Maor Gottlieb authored
    
    
    Introducing the following objects:
    
    mlx5_flow_root_namespace: represent the root of specific flow table
    type tree(e.g NIC receive, FDB, etc..)
    
    mlx5_flow_group: define the mask of the flow specification.
    
    fs_fte(flow steering flow table entry): defines the value of the
    flow specification.
    
    The following describes the relationships between the tree objects:
    root_namespace --> priorities -->namespaces -->
    priorities -->flow-tables --> flow-groups -->
    flow-entries --> destinations
    
    When we create new object(flow table/flow group/flow table entry), we
    call to the FW command and then we add the related sw object to the tree.
    
    When we destroy object, e.g. call to mlx5_destroy_flow_table, we use
    the tree node destructor for destroying the FW object and remove the
    node from the tree.
    
    Signed-off-by: default avatarMaor Gottlieb <maorg@mellanox.com>
    Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
    Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0c56b975