• Vladimir Oltean's avatar
    net: mscc: ocelot: report FIFO drop counters through stats->rx_dropped · cc160fc2
    Vladimir Oltean authored
    
    
    if_link.h says:
    
     * @rx_dropped: Number of packets received but not processed,
     *   e.g. due to lack of resources or unsupported protocol.
     *   For hardware interfaces this counter may include packets discarded
     *   due to L2 address filtering but should not include packets dropped
     *   by the device due to buffer exhaustion which are counted separately in
     *   @rx_missed_errors (since procfs folds those two counters together).
    
    Currently we report "stats->rx_dropped = dev->stats.rx_dropped", the
    latter being incremented by various entities in the stack. This is not
    wrong, but we'd like to move ocelot_get_stats64() in the common ocelot
    switch lib which is independent of struct net_device.
    
    To do that, report the hardware RX drop counters instead. These drops
    are due to policer action, or due to no destinations. When we have no
    memory in the queue system, report this through rx_missed_errors, as
    instructed.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cc160fc2
ocelot_net.c 51.1 KB