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.
>

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

Reply via email to