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: <c85c77bc-9a8c-4336-ab79-89a981c43e01@linux.dev>
Date: Wed, 14 Jan 2026 10:50:52 +0000
From: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
To: Wen Gu <guwen@...ux.alibaba.com>, Andrew Lunn <andrew@...n.ch>,
 Sven Schnelle <svens@...ux.ibm.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
 Richard Cochran <richardcochran@...il.com>,
 "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
 LKML <linux-kernel@...r.kernel.org>, Jakub Kicinski <kuba@...nel.org>,
 Dust Li <dust.li@...ux.alibaba.com>, Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
 Andrew Lunn <andrew+netdev@...n.ch>, David Woodhouse <dwmw2@...radead.org>,
 virtualization@...ts.linux.dev, Nick Shi <nick.shi@...adcom.com>,
 Paolo Abeni <pabeni@...hat.com>, linux-clk@...r.kernel.org
Subject: Re: [RFC] Defining a home/maintenance model for non-NIC PHC devices
 using the /dev/ptpX API

On 14/01/2026 09:13, Wen Gu wrote:
> 
> 
> On 2026/1/12 22:52, Vadim Fedorenko wrote:
>> On 12/01/2026 13:24, Andrew Lunn wrote:
>>>>> drivers/ptp/core    - API as written above
>>>>> drivers/ptp/virtual - all PtP drivers somehow emulating a PtP clock
>>>>>                         (like the ptp_s390 driver)
>>>>> drivers/ptp/net     - all NIC related drivers.
>>>>>
>>>>
>>>>
>>>> Well, drivers/ptp/virtual is not really good, because some drivers are
>>>> for physical devices exporting PTP interface, but without NIC.
>>>
>>> If the lack of a NIC is the differentiating property:
>>>
>>>>> drivers/ptp/net     - all NIC related drivers.
>>>>> drivers/ptp/netless - all related drivers which are not associated 
>>>>> to a NIC.
>>>
>>> Or
>>>
>>>>> drivers/ptp/emulating - all drivers emulating a PtP clock
>>
>> I would go with "emulating" then.
>>
>>>
>>>     Andrew
> 
> Thank you all for your suggestions.
> 
> The drivers under drivers/ptp can be divided into (to my knowledge):
> 
> 1. Network/1588-oriented clocks, which allow the use of tools like
>     ptp4l to synchronize the local PHC with an external reference clock
>     (based on the network or other methods) via the 1588 protocol to
>     maintain accuracy. Examples include:
> 
>     - ptp_dte
>     - ptp_qoriq
>     - ptp_ines
>     - ptp_pch
>     - ptp_idt82p33
>     - ptp_clockmatrix
>     - ptp_fc3
>     - ptp_mock (mock/testing)
>     - ptp_dfl_tod
>     - ptp_netc
>     - ptp_ocp (a special case which provides a grandmaster
>                clock for a PTP enabled network, generally
>                serves as the reference clock)

ptp_ocp is a timecard driver, which doesn't require calibration by
ptp4l/ts2phc. OCP TimeCards have their own Atomic Clock onboard which
is disciplined by 1-PPS or 10mhz signal from configurable source. The
disciplining algorithm is implemented in Atomic Clock package
controller. The driver exposes ptp device mostly for reading the time.
So I believe it belongs to group 2 rather than 1588 group.

> 
> 2. Platform/infrastructure/hypervisor-provided clocks. They don't
>     require calibration by ptp4l based on 1588 and reference clocks,
>     instead the underlay handle this. Users generally read the time.
>     They include:
> 
>     - ptp_kvm
>     - ptp_vmclock
>     - ptp_vmw
>     - ptp_s390
>     - ptp_cipu (upstreaming)
> 
>  From this perspective, I agree that "emulating" could be an appropriate
> name for the second ones.
> 
> And I would like to further group the first ones to "1588", thus
> divide drivers/ptp to:
> 
> - drivers/ptp/core
> - drivers/ptp/1588
> - drivers/ptp/emulating
> 
> Regards.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ