From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Vincent Mailhol <mailhol@kernel.org>, linux-can@vger.kernel.org
Subject: Re: [RFC PATCH v5 2/2] can: reject CAN FD content when disabled on CAN XL interfaces
Date: Wed, 10 Sep 2025 22:12:13 +0200 [thread overview]
Message-ID: <6afc7e2d-eecf-4c47-bcef-0e2cdd7f4a89@hartkopp.net> (raw)
In-Reply-To: <b6637b79-6377-4038-967f-0354a32eb2c3@kernel.org>
On 10.09.25 18:19, Vincent Mailhol wrote:
> On 10/09/2025 at 17:48, Oliver Hartkopp wrote:
>> On 10.09.25 09:40, Vincent Mailhol wrote:
>>> On 10/09/2025 at 16:27, Oliver Hartkopp wrote:
>>
>>>>> /* CAN XL is allowed on virtual interfaces if it fits the MTU */
>>>>> if (!priv)
>>>>> return dev->mtu == CANXL_MTU;
>>>>
>>>> return can_is_canxl_dev_mtu(mtu);
>>>>
>>>> The MTU of CAN XL interfaces might vary.
>>>
>>> Maybe this is something that we discussed before, I do not remember, but how is
>>> it that the MTU can vary?
>>>
>>> MTU is the *Maximum* Transmission Unit. I understand that the size of a CAN XL
>>> frame is variable, but the MTU should be constant, right? Why can it vary?
>>
>> Depending on the realtime requirements the length of the CAN frames (and
>> therefore the time the bus is blocked) the MTU can be reduced. This is (like the
>> bitrate settings) a network architects decision which is enforced by setting the
>> MTU accordingly.
>
> Is this an extension we offer in Socket CAN?
Yes.
> The standard says nothing about
> having the MTU configurable.
>
> For CAN FD, we forcefully set the MTU in netlink.c
>
> https://elixir.bootlin.com/linux/v6.16/source/drivers/net/can/dev/netlink.c#L228
Oh. I did not realize before that we can either modify the MTU with
setting fd on/off and via setting the MTU in can_change_mtu()
https://elixir.bootlin.com/linux/v6.16/source/drivers/net/can/dev/dev.c#L313
?!?
The two APIs problem for changing the MTU?!?
I expected the default MTU for CAN FD capable interfaces to be CANFD_MTU
which is obviously not the case.
> I will have to think of what are the implication for CAN XL.
I would define a default CANXL MTU (CANXL_MTU 2060) which might be
changed with can_change_mtu().
And when ever we switch xl on this value is selected as device MTU.
Or the user can change the MTU as he needs it.
And when xl on is selected and the MTU is a can_is_canxl_dev_mtu() this
value is used. When can_is_canxl_dev_mtu() is not true we take CANXL_MTU.
Something like this.
Best regards,
Oliver
next prev parent reply other threads:[~2025-09-10 20:12 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-09 9:24 [RFC PATCH v5 1/2] can: skb: enforce CANFD_FDF check in can_is_canfd_skb() Oliver Hartkopp
2025-09-09 9:24 ` [RFC PATCH v5 2/2] can: reject CAN FD content when disabled on CAN XL interfaces Oliver Hartkopp
2025-09-09 16:36 ` Oliver Hartkopp
2025-09-10 5:13 ` Vincent Mailhol
2025-09-10 7:27 ` Oliver Hartkopp
2025-09-10 7:40 ` Vincent Mailhol
2025-09-10 8:48 ` Oliver Hartkopp
2025-09-10 16:19 ` Vincent Mailhol
2025-09-10 20:12 ` Oliver Hartkopp [this message]
2025-09-15 10:55 ` Vincent Mailhol
2025-09-15 13:59 ` Vincent Mailhol
2025-09-15 18:08 ` Oliver Hartkopp
2025-09-15 18:54 ` Vincent Mailhol
2025-09-16 9:14 ` Oliver Hartkopp
2025-09-16 13:17 ` Vincent Mailhol
2025-09-17 21:29 ` Oliver Hartkopp
2025-09-18 9:18 ` Vincent Mailhol
2025-09-20 17:38 ` Oliver Hartkopp
2025-09-20 17:57 ` Vincent Mailhol
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=6afc7e2d-eecf-4c47-bcef-0e2cdd7f4a89@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=linux-can@vger.kernel.org \
--cc=mailhol@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