This series adds support for Meinberg Funkuhren's NetSync Monitor
(NSM) protocol.  NSM allows a node with a local time reference (like a
GM using GPS) to measure the offset of a given clock.  In a nutshell,
NSM works by having the node to be measured act like a unicast master
clock on demand.

1. The monitoring node sends a unicast delay request with a special
   TLV attached.

2. The node to be measured replies with a unicast delay response,
   followed by unicast Sync and FollowUp messages.

3. Once the monitoring node receives the three responses, it
   calculates the measured node's offset.

One the nice features of NSM is that, when used from the GM, it allows
one to empirically determine the end to end asymmetry in the network.
The details of the protocol are described in a brief PDF published by
Meinberg.  If anyone would like a copy, please contact me off list.

Patches 1-3 fix trivial issues found along the way.
Patches 4-9 add various background support bits.
Patches 10-13 implement NSM in the ptp4l program.
Patches 14-18 implement monitor support in the pmc program.

Comments and review are most welcome!

Thanks,
Richard


@Miroslav:

The last patch breaks linuxptp-testsuite test 20-pmc.  The pmc program
exits immediately with no output at all.  When I test pmc outside of
the clknetsim it behaves as expected, but I didn't look into why
clknetsim case fails.  Maybe you have an idea?


Richard Cochran (18):
  pmc: Fix white space errors.
  port: Fix coding style.
  tlv: Fix coding style.
  msg: Allow zero length TLVs.
  msg: Share a static global more globally.
  msg: Allow tacking a TLV onto a delay request message.
  clock: Introduce a method to get the current dataset.
  clock: Introduce a method to obtain the last synchronization time.
  tmv: Add a method to convert to a struct Timestamp.
  tlv: Introduce the NetSync Monitor TLVs.
  port: Introduce unicast sync messages.
  port: Implement the NetSync Monitor protocol.
  Add a configuration file option to enable the NetSync Monitor
    protocol.
  util: Relocate utility functions from pmc.c.
  pmc: Add command line options for specifying the time stamping mode.
  pmc: Add an accessory function for the event message socket.
  pmc: Introduce a time stamp processor.
  pmc: Implement the NetSync Monitor query.

 clock.c      |  10 ++
 clock.h      |  14 +++
 config.c     |   1 +
 default.cfg  |   1 +
 gPTP.cfg     |   1 +
 makefile     |  11 +-
 msg.c        |   6 +-
 msg.h        |   1 +
 pmc.c        | 101 ++++++++----------
 pmc_common.c | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 pmc_common.h |  21 ++++
 port.c       | 144 +++++++++++++++++++++++--
 ptp4l.8      |  12 ++-
 ptp4l.c      |   2 -
 tlv.c        | 147 +++++++++++++++++++++++++-
 tlv.h        |  17 +++
 tmv.h        |  15 +++
 util.c       |  39 +++++++
 util.h       |  15 +++
 19 files changed, 816 insertions(+), 81 deletions(-)

-- 
2.11.0


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to