From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Reuben Dowle <Reuben.Dowle@navico.com>
Cc: netdev@vger.kernel.org, linux-can@vger.kernel.org
Subject: Re: [PATCH] flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK
Date: Thu, 03 Nov 2011 15:54:50 +0100 [thread overview]
Message-ID: <4EB2AB3A.6050901@hartkopp.net> (raw)
In-Reply-To: <70F6AAAFDC054F41B9994A9BCD3DF64E16FAA8E0@exch01-aklnz.MARINE.NET.INT>
On 02.11.2011 22:31, Reuben Dowle wrote:
>>>
>>> If we change the behaviour of flexcan, I think at91 and slcan should
>> be changed too, because this should be handled consistently across all
>> drivers I would think.
>>
>>
>> At least the slcan driver does not support the correct echo of CAN
>> frames on
>> driver level at all. The slcan driver adapts CAN frames to a serial
>> line CAN
>> adapter where the feedback of successful transmission is not
>> guaranteed/checked within the serial data stream. Therefore the
>> interface flag
>> IFF_ECHO is not set in the slcan driver and the local echo is performed
>> in
>> af_can.c (as a workaround).
>>
>> Regards,
>> Oliver
>
> Thats fine for the echo behaviour, but does not really answer why the slcan
> (and flexcan) driver is setting the stats for tx_packets and tx_bytes at
> different points in the transmission logic. To my mind, either we think the
> packet has transmitted (along with its bytes) so we should increment both,
> or we should increment neither.
In slcan.c the points of incrementing tx_bytes and tx_packets have been
adopted from slip.c where slcan.c heavily bases on.
Indeed one could argument that tx_packets could be incremented in slc_encaps
together with tx_bytes. This means that the packet is sent.
But the packet is surely sent in slcan_write_wakeup(), when tx_packets is
incremented. Unfortunately we do not have the can_dlc available at this point
anymore.
If you think it's worth the effort tx_packets++ could be integrated into
slc_encaps() to have a consistent statistic update (but you don't know whether
the packet hit the serial line entirely).
Additionally slip.c does it the same (inconsistent) way for the reasons above
and therefore i tend not to change it to stay on the current serial netdevices
behaviour (for slcan as only CAN netdevice).
Regards,
Oliver
prev parent reply other threads:[~2011-11-03 14:54 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-31 22:18 [PATCH] flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK Reuben Dowle
2011-10-31 22:18 ` Reuben Dowle
2011-10-31 22:31 ` Marc Kleine-Budde
2011-10-31 22:43 ` Reuben Dowle
2011-10-31 22:43 ` Reuben Dowle
2011-10-31 22:49 ` Marc Kleine-Budde
2011-11-02 0:25 ` Reuben Dowle
2011-11-02 0:25 ` Reuben Dowle
2011-11-02 8:04 ` Kurt Van Dijck
2011-11-02 19:46 ` Reuben Dowle
2011-11-02 19:46 ` Reuben Dowle
2011-11-02 20:30 ` Oliver Hartkopp
2011-11-02 21:31 ` Reuben Dowle
2011-11-02 21:31 ` Reuben Dowle
2011-11-03 9:47 ` [PATCH 0/2] clean up tx_bytes accounting Marc Kleine-Budde
2011-11-03 9:47 ` [PATCH 1/2] can: dev: let can_get_echo_skb() return dlc of CAN frame Marc Kleine-Budde
2011-11-03 9:47 ` [PATCH 2/2] flexcan: Fix CAN_RAW_RECV_OWN_MSGS and CAN_RAW_LOOPBACK Marc Kleine-Budde
2011-11-03 9:59 ` Marc Kleine-Budde
2011-11-03 10:03 ` Oliver Hartkopp
2011-11-03 10:17 ` Marc Kleine-Budde
2011-11-03 10:03 ` [PATCH 0/2] clean up tx_bytes accounting Kurt Van Dijck
2011-11-03 10:42 ` Marc Kleine-Budde
2011-11-03 14:27 ` Oliver Hartkopp
2011-11-03 14:37 ` Kurt Van Dijck
2011-11-03 15:03 ` Marc Kleine-Budde
2011-11-03 14:54 ` Oliver Hartkopp [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EB2AB3A.6050901@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=Reuben.Dowle@navico.com \
--cc=linux-can@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.