lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c6045c9-67e1-4358-ae3a-d63c343eef79@kernel.org>
Date: Mon, 13 Oct 2025 01:01:15 +0900
From: Vincent Mailhol <mailhol@...nel.org>
To: Andrew Lunn <andrew@...n.ch>
Cc: Oliver Hartkopp <socketcan@...tkopp.net>,
 Marc Kleine-Budde <mkl@...gutronix.de>, "David S. Miller"
 <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
 Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
 Simon Horman <horms@...nel.org>, Jonathan Corbet <corbet@....net>,
 Geert Uytterhoeven <geert@...ux-m68k.org>, linux-can@...r.kernel.org,
 netdev@...r.kernel.org, linux-doc@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] can: add Transmitter Delay Compensation (TDC)
 documentation

Hi Andrew,

On 12/10/2025 at 23:47, Andrew Lunn wrote:
> On Sun, Oct 12, 2025 at 08:23:43PM +0900, Vincent Mailhol wrote:
>> Back in 2021, support for CAN TDC was added to the kernel in series [1]
>> and in iproute2 in series [2]. However, the documentation was never
>> updated.
> 
> Hi Vincent
> 
> I also don't see anything in man ip-link, nor ip link help. Maybe you
> can add this documentation as well?

The help is indeed not directly visible. But I think this is intended
because can is a sub type. The can is simply listed in man ip-link
under the Link types enumeration.

The can help then be obtain by providing that can type:

  $ ip link help can
  Usage: ip link set DEVICE type can
  	[ bitrate BITRATE [ sample-point SAMPLE-POINT] ] |
  	[ tq TQ prop-seg PROP_SEG phase-seg1 PHASE-SEG1
   	  phase-seg2 PHASE-SEG2 [ sjw SJW ] ]

  	[ dbitrate BITRATE [ dsample-point SAMPLE-POINT] ] |
  	[ dtq TQ dprop-seg PROP_SEG dphase-seg1 PHASE-SEG1
   	  dphase-seg2 PHASE-SEG2 [ dsjw SJW ] ]
  	[ tdcv TDCV tdco TDCO tdcf TDCF ]

  	[ loopback { on | off } ]
  	[ listen-only { on | off } ]
  	[ triple-sampling { on | off } ]
  	[ one-shot { on | off } ]
  	[ berr-reporting { on | off } ]
  	[ fd { on | off } ]
  	[ fd-non-iso { on | off } ]
  	[ presume-ack { on | off } ]
  	[ cc-len8-dlc { on | off } ]
  	[ tdc-mode { auto | manual | off } ]

  	[ restart-ms TIME-MS ]
  	[ restart ]

  	[ termination { 0..65535 } ]

  	Where: BITRATE	:= { NUMBER in bps }
  		  SAMPLE-POINT	:= { 0.000..0.999 }
  		  TQ		:= { NUMBER in ns }
  		  PROP-SEG	:= { NUMBER in tq }
  		  PHASE-SEG1	:= { NUMBER in tq }
  		  PHASE-SEG2	:= { NUMBER in tq }
  		  SJW		:= { NUMBER in tq }
  		  TDCV		:= { NUMBER in tc }
  		  TDCO		:= { NUMBER in tc }
  		  TDCF		:= { NUMBER in tc }
  		  RESTART-MS	:= { 0 | NUMBER in ms }

Does this make sense?


Yours sincerely,
Vincent Mailhol


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ