• Ido Schimmel's avatar
    net: nexthop: Expose nexthop group HW stats to user space · 5072ae00
    Ido Schimmel authored
    Add netlink support for reading NH group hardware stats.
    
    Stats collection is done through a new notifier,
    NEXTHOP_EVENT_HW_STATS_REPORT_DELTA. Drivers that implement HW counters for
    a given NH group are thereby asked to collect the stats and report back to
    core by calling nh_grp_hw_stats_report_delta(). This is similar to what
    netdevice L3 stats do.
    
    Besides exposing number of packets that passed in the HW datapath, also
    include information on whether any driver actually realizes the counters.
    The core can tell based on whether it got any _report_delta() reports from
    the drivers. This allows enabling the statistics at the group at any time,
    with drivers opting into supporting them. This is also in line with what
    netdevice L3 stats are doing.
    
    So as not to waste time and space, tie the collection and reporting of HW
    stats with a new op flag, NHA_OP_FLAG_DUMP_HW_STATS.
    Co-developed-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Reviewed-by: Kees Cook <keescook@chromium.org> # For the __counted_by bits
    Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5072ae00
nexthop.c 97.2 KB