Re: [PATCH 6/7] iplink_can: add CAN XL's "tms" option
From: Vincent Mailhol
Date: Sat Nov 29 2025 - 18:16:28 EST
Hi Oliver,
On 29/11/2025 at 18:21, Oliver Hartkopp wrote:
> Hi Vincent,
>
> On 29.11.25 16:29, Vincent Mailhol wrote:
>> This is the iproute2 counterpart of Linux kernel's commit 233134af2086
>> ("can: netlink: add CAN_CTRLMODE_XL_TMS flag").
>>
>> The Transceiver Mode Switching (TMS) indicates whether the CAN XL
>> controller shall use the PWM or NRZ encoding during the data phase.
>>
>> The term "transceiver mode switching" is used in both ISO 11898-1 and CiA
>> 612-2 (although only the latter one uses the abbreviation TMS). We adopt
>> the same naming convention here for consistency.
>>
>> Add the "tms" option to iplink_can which controls the CAN_CTRLMODE_XL_TMS
>> flag of the CAN netlink interface.
>>
>> Signed-off-by: Vincent Mailhol <mailhol@xxxxxxxxxx>
>> ---
>> ip/iplink_can.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/ip/iplink_can.c b/ip/iplink_can.c
>> index 24f59aad..3e7925e8 100644
>> --- a/ip/iplink_can.c
>> +++ b/ip/iplink_can.c
>> @@ -49,6 +49,7 @@ static void print_usage(FILE *f)
>> "\t[ restricted { on | off } ]\n"
>> "\t[ xl { on | off } ]\n"
>> "\t[ xtdc-mode { auto | manual | off } ]\n"
>> + "\t[ tms { on | off } ]\n"
>> "\n"
>> "\t[ restart-ms TIME-MS ]\n"
>> "\t[ restart ]\n"
>> @@ -127,6 +128,7 @@ static void print_ctrlmode(enum output_type t, __u32
>> flags, const char *key)
>> print_flag(t, &flags, CAN_CTRLMODE_XL, "XL");
>> print_flag(t, &flags, CAN_CTRLMODE_XL_TDC_AUTO, "XL-TDC-AUTO");
>> print_flag(t, &flags, CAN_CTRLMODE_XL_TDC_MANUAL, "XL-TDC-MANUAL");
>> + print_flag(t, &flags, CAN_CTRLMODE_XL_TMS, "XL-TMS");
>
> print_flag(t, &flags, CAN_CTRLMODE_XL_TMS, "TMS");
>
> That fits to the command line option and the messages inside the kernel now.
OK. This will be addressed in v2 (including the updates on Patch #7 description).
Yours sincerely,
Vincent Mailhol