netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

      parent reply	other threads:[~2011-11-03 14:55 UTC|newest]

Thread overview: 21+ 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:31 ` Marc Kleine-Budde
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  8:04 ` Kurt Van Dijck
2011-11-02 19:46   ` Reuben Dowle
2011-11-02 20:30     ` Oliver Hartkopp
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).