From: David Jander <david@protonic.nl>
To: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
Cc: Austin Schuh <austin@peloton-tech.com>,
Oliver Hartkopp <socketcan@hartkopp.net>,
Marc Kleine-Budde <mkl@pengutronix.de>,
linux-can <linux-can@vger.kernel.org>
Subject: Re: j1939
Date: Tue, 4 Oct 2016 14:52:02 +0200 [thread overview]
Message-ID: <20161004145202.6c5238d9@erd980> (raw)
In-Reply-To: <20161004073703.GB13813@airbook.vandijck-laurijssen.be>
On Tue, 4 Oct 2016 09:37:03 +0200
Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> wrote:
> --- Original message ---
> > Date: Tue, 20 Sep 2016 09:15:25 +0200
> > From: David Jander <david@protonic.nl>
> > To: Austin Schuh <austin@peloton-tech.com>
> > Cc: Oliver Hartkopp <socketcan@hartkopp.net>, Marc Kleine-Budde
> > <mkl@pengutronix.de>, linux-can <linux-can@vger.kernel.org>, Kurt Van
> > Dijck <kurt.van.dijck@eia.be>
> > Subject: Re: j1939
> > X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu)
> >
> > On Mon, 19 Sep 2016 14:37:15 -0700
> > Austin Schuh <austin@peloton-tech.com> wrote:
> >
> > > On Mon, Sep 19, 2016 at 12:45 PM Oliver Hartkopp <socketcan@hartkopp.net> wrote:
> > > >
> > > >
> > > >
> > > > On 09/19/2016 08:52 PM, Marc Kleine-Budde wrote:
> > > > > On 09/19/2016 08:27 PM, Oliver Hartkopp wrote:
> > > > >> On 09/19/2016 06:54 PM, Marc Kleine-Budde wrote:
> > > > >>
> > > > >>>
> > > > >>> Another thing that IMHO has to be sorted out is the use of module
> > > > >>> parameters:
> > > > >>>
> > > > >>>> ./main.c:49:MODULE_PARM_DESC(padding, "Pad all packets to 8 bytes, and stuff with 0xff");
> >
> > This is true only for 99% of all J1939 messages. I need to investigate some
> > more, but I fear this option can better be removed. I couldn't think of a
> > situation where I'd ponder setting this parameter to true.
>
> There exist engine controller software that adhere to this for the
> transport protocol messages. This means, I implemented the transport
> protocol to not necessarily use all 8 bytes at the end.
Do you mean this only applies to TP messages?
In that case, the option may make sense, although according to the standard,
all TP messages should always be 8-bytes long, so when is it desirable to
have non-standard TP-messages? Is this ECU software you mention not
standards-compliant? Does it bark on standards-compliant TP messages?
> > > > >>>> ./transport.c:60:MODULE_PARM_DESC(transport_burst_count, "Number
> > > > >>>> of packets to send in burst between flow control (1..255, default
> > > > >>>> 255)");
> >
> > Usually you'd want this parameter to be 255, except for some special
> > situations, and I think this should be a per-socket setting.
>
> ack. This should also become a per-socket setting.
> >
> > > > >>>> ./transport.c:61:MODULE_PARM_DESC(transport_max_size, "Maximum
> > > > >>>> packet size (default 100k)");
> >
> > No idea if this limit makes any sense to the kernel driver... for the
> > protocol it doesn't. For ISOBus applications this limit is much too low.
> > ISOBus VT clients for example can easily send packets of several times
> > that amount. IMHO, this parameter should either be removed or set to
> > infinite per default.
>
> The default is questionable :-)
> On the other hand, on a low-memory device, it may make no sense to
> allocate buffers for large packets that are not intended for the host
> anyway. To avoid out-of-memory conditions triggered by multiple j1939
> transport sessions, I added this parameter to protect against such
> attack.
Ok, I understand your point. I still feel a bit uncomfortable with having a
default limit that, if the user is not aware of it, can cause a lot of
confusion. Things can suddenly and seemingly randomly not work as expected,
and IMHO this is never good. What can we do about this?
> > > > >>>> ./transport.c:62:MODULE_PARM_DESC(transport_retry_time, "Packet
> > > > >>>> retransmission timeout in msecs, used in case of buffer full.
> > > > >>>> (default
> > > > >>>> 20)"); ./transport.c:63:MODULE_PARM_DESC(transport_packet_delay,
> > > > >>>> "Delay between packets to avoid buffer overruns (default 0)");
> >
> > These two parameters could be a per interface setting I believe.
>
> as mentioned earlier, the parameters may serve as a system-wide default,
> and may be overruled per socket even (it about the TX path).
System-wide would mean per-interface setting (ip link set...?), but overruled
per socket would imply setsockopt... this seems a bit contradictory to me.
Shouldn't it be either one _or_ the other?
> > > > >>>
> > > > >>> Better convert them to netlink options.
>
> I just dropped netlink?
> and I'd first import j1939 in the kernel before going to netlink again.
> having iproute2 out-of-tree patches is not handy.
I agree here.
Best regards,
--
David Jander
Protonic Holland.
next prev parent reply other threads:[~2016-10-04 12:52 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 16:54 j1939 Marc Kleine-Budde
2016-09-19 18:27 ` j1939 Oliver Hartkopp
2016-09-19 18:52 ` j1939 Marc Kleine-Budde
2016-09-19 19:44 ` j1939 Oliver Hartkopp
2016-09-19 21:37 ` j1939 Austin Schuh
2016-09-20 7:15 ` j1939 David Jander
2016-10-04 7:37 ` j1939 Kurt Van Dijck
2016-10-04 12:52 ` David Jander [this message]
2016-10-04 13:57 ` j1939 Kurt Van Dijck
2016-10-04 14:47 ` j1939 David Jander
2016-10-04 16:12 ` j1939 Austin Schuh
2016-10-04 17:31 ` j1939 Kurt Van Dijck
2016-10-04 17:51 ` j1939 Marc Kleine-Budde
2016-10-04 18:40 ` j1939 Kurt Van Dijck
2016-10-04 18:46 ` j1939 Marc Kleine-Budde
2016-10-05 18:02 ` j1939 Kurt Van Dijck
2016-10-06 7:26 ` j1939 Marc Kleine-Budde
2016-10-06 7:41 ` j1939 Kurt Van Dijck
2016-10-04 17:32 ` j1939 Marc Kleine-Budde
2016-10-04 17:54 ` j1939 Patrick Menschel
2016-10-04 18:38 ` j1939 Kurt Van Dijck
2016-10-04 18:43 ` j1939 Marc Kleine-Budde
2016-10-05 5:08 ` j1939 Kurt Van Dijck
2016-10-05 6:48 ` j1939 David Jander
2016-10-05 6:50 ` j1939 David Jander
2016-09-20 9:09 ` j1939 Marc Kleine-Budde
2016-10-04 7:41 ` j1939 Kurt Van Dijck
2016-10-04 7:28 ` j1939 Kurt Van Dijck
2016-10-04 15:05 ` j1939 Marc Kleine-Budde
2016-09-20 7:22 ` j1939 David Jander
2016-09-20 8:01 ` j1939 Marc Kleine-Budde
2016-10-06 8:44 ` j1939 Kurt Van Dijck
2016-10-06 8:59 ` j1939 Marc Kleine-Budde
2016-10-06 9:24 ` j1939 Kurt Van Dijck
2016-10-06 9:37 ` j1939 Marc Kleine-Budde
2016-10-06 10:26 ` j1939 Kurt Van Dijck
2016-10-06 10:28 ` j1939 Marc Kleine-Budde
2016-10-06 11:13 ` j1939 Kurt Van Dijck
2016-10-06 11:32 ` j1939 Kurt Van Dijck
2016-10-06 12:13 ` j1939 Marc Kleine-Budde
2016-10-06 12:26 ` j1939 Kurt Van Dijck
2016-10-06 13:08 ` j1939 Marc Kleine-Budde
2016-10-08 19:48 ` j1939 Kurt Van Dijck
2016-10-09 8:40 ` j1939 Marc Kleine-Budde
-- strict thread matches above, loose matches on Subject: below --
2013-11-14 0:26 J1939 David H. Lynch Jr.
2013-11-14 20:31 ` J1939 Kurt Van Dijck
[not found] ` <1384532982.6591.14.camel@hp-dhlii>
2013-11-20 9:36 ` J1939 Kurt Van Dijck
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=20161004145202.6c5238d9@erd980 \
--to=david@protonic.nl \
--cc=austin@peloton-tech.com \
--cc=dev.kurt@vandijck-laurijssen.be \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=socketcan@hartkopp.net \
/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.