• Roi Dayan's avatar
    net/mlx5e: Add tc action infrastructure · fad54790
    Roi Dayan authored
    Add an infrastructure to help parsing tc actions in a generic way.
    
    Supporting an action parser means implementing struct mlx5e_tc_act
    for that action.
    
    The infrastructure will give the possibility to be generic when parsing tc
    actions, i.e. parse_tc_nic_actions() and parse_tc_fdb_actions().
    To parse tc actions a user needs to allocate a parse_state instance
    and pass it when iterating over the tc actions parsers.
    If a parser doesn't exists then a user can treat it as unsupported.
    
    To add an action parser a user needs to implement two callbacks.
    The can_offload() callback to quickly check if an action can be offloaded.
    The parse_action() callback to do actual parsing and prepare for offload.
    
    Add implementation for drop, trap, mark and accept action parsers with this
    commit to act as examples and implement usage of the new infrastructure for
    those actions.
    Signed-off-by: default avatarRoi Dayan <roid@nvidia.com>
    Reviewed-by: default avatarOz Shlomo <ozsh@nvidia.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
    fad54790
mark.c 880 Bytes