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