• Yotam Gigi's avatar
    mlxsw: spectrum: Add support in matchall mirror TC offloading · 763b4b70
    Yotam Gigi authored
    This patch offloads port mirroring directives to hw using the matchall TC
    with action mirror. It includes both the implementation of the
    ndo_setup_tc function for the spectrum driver and the spectrum hardware
    offload configuration code.
    
    The hardware offload code is basically two new functions which are capable
    of adding and removing a new mirror ports pair. It is done using the MPAT,
    MPAR and SBIB registers:
     - A new Switch-Port Analyzer (SPAN) entry is added using MPAT to the 'to'
       port.
     - The 'to' port is bound to the SPAN entry using MPAR register.
     - In case of egress SPAN, the 'to' port gets a new internal shared
       buffer using SBIB register.
    
    In addition, a new database was added to the mlxsw_sp struct to store all
    the SPAN entries and their bound ports list. The number of supported SPAN
    entries is determined by resource query.
    Signed-off-by: default avatarYotam Gigi <yotamg@mellanox.com>
    Reviewed-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    763b4b70
spectrum.c 119 KB