Re: [RFC Patch net-next 3/5] net: dsa: microchip: add eth mac grouping for ethtool statistics

From: Jakub Kicinski
Date: Thu Dec 01 2022 - 23:03:07 EST


On Wed, 30 Nov 2022 18:59:00 +0530 Rakesh Sankaranarayanan wrote:
> + mac_stats->FramesTransmittedOK = ctr[ksz9477_tx_mcast] +
> + ctr[ksz9477_tx_bcast] +
> + ctr[ksz9477_tx_ucast] +
> + ctr[ksz9477_tx_pause];

do control frames count towards FramesTransmittedOK?
Please check the standard I don't recall.

> + mac_stats->SingleCollisionFrames = ctr[ksz9477_tx_single_col];
> + mac_stats->MultipleCollisionFrames = ctr[ksz9477_tx_mult_col];
> + mac_stats->FramesReceivedOK = ctr[ksz9477_rx_mcast] +
> + ctr[ksz9477_rx_bcast] +
> + ctr[ksz9477_rx_ucast] +
> + ctr[ksz9477_rx_pause];
> + mac_stats->FrameCheckSequenceErrors = ctr[ksz9477_rx_crc_err];
> + mac_stats->AlignmentErrors = ctr[ksz9477_rx_align_err];
> + mac_stats->OctetsTransmittedOK = ctr[ksz9477_tx_total_col];

OctetsTransmittedOK = ksz9477_tx_total_col[lisons] ?

> + mac_stats->InRangeLengthErrors = ctr[ksz9477_rx_oversize];

You use the same counter for RMON oversize statistic, the two
definitely have different semantics, please check the standard
and the datasheet.

Remember that you don't have to fill in all the stats, if the HW does
not maintain a matching statistic - leave the field be. Kernel will
not report to user space unset fields.