• Petr Machata's avatar
    mlxsw: spectrum: Move handling of HW stats events to router code · f40e600b
    Petr Machata authored
    L3 HW stats are implemented in mlxsw as RIF counters, and therefore the
    code resides in spectrum_router. Exclude the offload xstats events from the
    mlxsw_sp_netdevice_event_is_router() predicate, and instead recreate the
    glue code in the router module.
    
    Previously, the order of dispatch was that for events on tunnels, a
    dedicated handler was called, which however did not handle HW stats events.
    But there is nothing special about tunnel devices as far as HW stats: there
    is a RIF associated with the tunnel netdevice, and that RIF is where the
    counter should be installed. Therefore now, HW stats events are tested
    first, independent of netdevice type. The upshot is that as of this commit,
    mlxsw supports L3 HW stats work on GRE tunnels.
    Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f40e600b
spectrum_router.c 294 KB