This patchset adds support for phc2sys following ptp4l state changes and automatic (re)configuration.
This works by "subscribing" certain kinds of events over the UDS and ptp4l sending the events to their "subscribers". The patchset is prepared to handle the "emulated boundary clock" scenario, i.e. ptp4l working over multiple PHC's. I have old patches to do that (the dynamic port allocation patchset + patchset to support multiple PHC's) which I'll rebase on top of this and send in the next weeks. The automatic configuration does not use PPS for now. With PPS, things get much more complicated; support for it can be added later, if desired. This would probably need kernel changes, too (a map of PHC to PPS devices). For now, PPS is limited to manual configuration. I tried to test this as much as possible (and found and fixed several bugs) but I don't have any hardware that exposes several ports with a single PHC, so automatic configuration for such cases is untested. The manual configuration should be unaffected and should work, though. Also, synchronizing more than 2 clocks is untested; after I rebase my old patches, I'll test them and fix any bugs found. Jiri Jiri Benc (27): Move check of TLV length for management COMMAND messages Move common code into port_prepare_and_send Allow sending to a specified (unicast) address uds: don't output "Connection refused" Event subscribing Include TLV in replies to management commands port: event notification clock: event notification Event notification: port state Custom management TLV PORT_ENUMERATION_NP Event notification: port addition/removal Custom management TLV PORT_PROPERTIES_NP phc2sys: generalize run_pmc phc2sys: split update_sync_offset phc2sys: split clock and node phc2sys: store information about clocks being UTC or TAI phc2sys: rearrange declarations phc2sys: open devices in clock_add phc2sys: track ports pmc_common: easy way to set port and broadcast target pmc_common: implement pmc_send_command_action phc2sys: event subscription phc2sys: autoconfiguration phc2sys: autoconfigure realtime clock on demand only phc2sys: check clockIdentity Subscription time limit phc2sys: man page update for -a and -r options clock.c | 261 ++++++++++++- clock.h | 19 + msg.c | 17 + msg.h | 11 + notification.h | 29 ++ phc2sys.8 | 115 ++++-- phc2sys.c | 1037 ++++++++++++++++++++++++++++++++++++++------------- pmc_common.c | 40 ++- pmc_common.h | 4 +- port.c | 260 ++++++++------ port.h | 57 +++ tlv.c | 76 ++++ tlv.h | 19 + transport.c | 17 + transport.h | 25 ++ transport_private.h | 5 + uds.c | 28 ++- 17 files changed, 1583 insertions(+), 437 deletions(-) create mode 100644 notification.h -- 1.7.6.5 ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel