Re: [PATCH AUTOSEL 6.0 37/77] net: mscc: ocelot: report FIFO drop counters through stats->rx_dropped

From: Vladimir Oltean
Date: Mon Oct 10 2022 - 07:57:35 EST


On Sun, Oct 09, 2022 at 06:07:14PM -0400, Sasha Levin wrote:
> From: Vladimir Oltean <vladimir.oltean@xxxxxxx>
>
> [ Upstream commit cc160fc29a264726b2bfbc2f551081430db3df03 ]
>
> 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: Vladimir Oltean <vladimir.oltean@xxxxxxx>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---

Not needed for stable kernels, please drop, thanks.