rx_packets/bytes stats for error frames (was: Re: [PATCH v2 1/1] can: ucan: add driver for Theobroma Systems UCAN devices)
From: Marc Kleine-Budde
Date: Wed Mar 14 2018 - 05:37:14 EST
On 03/14/2018 10:09 AM, Jakob Unterwurzacher wrote:
> On 14.03.18 08:51, Marc Kleine-Budde wrote:
>>> + memcpy(cf->data, m->msg.can_msg.data, cf->can_dlc);
>>> +
>>> + /* don't count error frames as real packets */
>>> + if (!(canid & CAN_ERR_FLAG)) {
>>> + stats->rx_packets++;
>>> + stats->rx_bytes += cf->can_dlc;
>>> + }
>> Please count them, too.
>
> We do count them, as errors!
>
> This is what happens when you transmit a single CAN frame with nothing
> connected: "TX errors" shoots up but "RX packets" stays zero.
This is handled not consistent in the existing CAN drivers. In flexcan
all and c_can (all but rx overflow) are counted as rx_packets and
rx_bytes. (I haven't looked at the other drivers.)
I tend to count the error frames as ordinary frames.
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature