Hi Erez,
On 17.06.23 00:54, Erez wrote:
On Fri, 16 Jun 2023 at 13:13, Walfred Tedeschi
<wtedes...@googlemail.com> wrote:
On 15.06.23 17:37, Erez wrote:
On Thu, 15 Jun 2023 at 06:26, Richard Cochran
<richardcoch...@gmail.com> wrote:
On Wed, Jun 14, 2023 at 03:51:08PM +0200, Walfred Tedeschi
via Linuxptp-devel wrote:
> Covering for Industrial/Process automation customers that
are willing to use
> PMC interface to gather status of the time synchronization
for their stack
> and enable them to take actions upon the values received.
Here is a nice pmc library licensed under LGPL:
https://github.com/erezgeva/libptpmgmt
+1
I wrote the library for application integration, as I was working
on TSN :-)
I also add the wrapper languages, so developers can use
scripting in addition to C++.
Erez
In terms of license, we see a mix of GPL and LPGL code in the
library and that makes things difficult, as it is not completely
clear what is what.
Indeed, there was misunderstood from our side.
We will be using your Library in the solution we are preparing for
industrial customers.
In addition, I would like to thank you Erez for the willing to help and
to contribute! Appreciated!
I hope we continue working together.
The library is under LGPL
https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
The other non library parts are GPL
https://en.wikipedia.org/wiki/GNU_General_Public_License
I do not see any issue.
However, as I am the copyright holder, if you find any issue with
licensing, we can fix it.
As long as you use the shared library, you can use it with any
application and any license you choose: free software or proprietary,.
But more decisive, on the solution we are looking for low latency
is needed and therefore the usage of threads is mandatory.
The library was designed to be used in any manners your application
chooses, including threads.
Unlike linuxptp that uses an "agent" which sends and receives the
management packets.
The library breaks down the process to small unblocking functions.
The only blocking calls are the socket poll functions.
As the library provides the file descriptors of the sockets, you can
implement the poll/select yourself.
If you need protection on the data, you can wrapp it in your application.
As I work with real-time threads.
I am aware of how real-time applications are designed, and took it
into consideration when writing the library.
I was using the library with a real TSN application that sends TSN
traffic in real-time!
Anyhow, the project is open for more additions and changes on the matter.
P.S.
threads are not a guarantee of low latency.
The TSN application can read the PHC clock directly from the kernel
using the clock_gettime(), the library provides the clock ID!
This way, unfortunately, this library might not be used.
Following your questions. I am not sure you looked at the libptpmgmt
code, or looked at the samples.
I will be more verbose in what we are doing. In general, SoftPLC
vendors need a way to control the quality of the running clocks
from within their real-time stacks, while the application will be
informed by the stack and will take the decision on how to proceed.
The library is *NOT *part of the ptp4l itself, but does provide the
same functionality the pmc tool provides.
The ptp4l does not run very fast. So real-time probing of the PTP does
not help much.
However the library will not interfere with the application real-time,
as it is completely passive by design.
The library does not create any threads or change any running thread
in any way.
This way the library has to be performant and ready for real-time
and still have a permissive license, LGPL would be fine.
From Intel side we would be adding some more code on top to allow
for notifications methods. Considering also for the multidomain
topic to join Chrony and Linuxptp world in a single library,
leveraging the work done by Miroslav ( Libchrony - Thanks again
for that) as well.
notifications require active parts in the library.
As libptpmgmt is passive, it does not push or notify.
Intel can add notifications very easily on top of libptpmgmt.
Technically as libptpmgmt is a library, it can be used with any other
library.
The code is used under C++ namespace, to prevent conflict with other
libraries.
As for Miroslav Lichvar, Libchrony, I do not know what license it uses.
You should ask Miroslav directly.
We would be happy to hear feedback from the community!
I can give feedback on libptpmgmt.
As for the linuxptp project, I do not think Richard will add any
library in the project. Or change the license from GPL.
Erez
Best regards,
-Fred
HTH,
Richard
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel