So here is my draft for P2P TC support.  I rebased this on top of the
RTNL series posted today.  The TC code is getting a bit stale by now,
and so this version is compile tested only!

Just to be clear, this code is NOT going into v1.8!  The TC support is
only a proof of concept, and much more work is needed.  If and when
the TC code matures, then we will call that release 2.0.

Below are my notes about stuff that needs doing...


* tc todos
** p2p tc correct path delay
   fup.correction += mean_path_delay (of ingress port)
   each port has:
   - tmv_t p->peer_delay
   - TimeInterval p->peerMeanPathDelay
   - struct nrate_estimator p->nrate.ratio
     only used for avb:
        if (p->follow_up_info)
                port_nrate_calculate(p, t3c, t4);
** generate fup for one step
** ptp4l man page -t flag
** real time scheduling
** tc.h doxygen
** e2e mode
** syntonization
   - recognize foreign master
   - adjust clock
     - physically, clock_adjfreq
     - logically, apply frequency ratio to residence time
** bmc and port blocking
   - needed for avb
   - need modular approach for different bmc algorithms
   - tc/bmc can be a non-standard option for 1588

Richard Cochran (6):
  ptp4l: add a command line switch for TC mode.
  port: make the dispatch and event methods variable based on clock
  port: export a private interface.
  port: share init code, peer delay code, and helpers
  tc: add the transparent clock implementation.
  p2p_tc: implement a peer to peer transparent clock.

 clock.c        |   3 +-
 makefile       |   2 +-
 p2p_tc.c       | 155 +++++++++++++++++++++++++++++++++
 port.c         | 137 ++++++++++-------------------
 port.h         |   5 ++
 port_private.h | 140 ++++++++++++++++++++++++++++++
 ptp4l.c        |  39 ++++++++-
 tc.c           | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tc.h           |  36 ++++++++
 9 files changed, 682 insertions(+), 100 deletions(-)
 create mode 100644 p2p_tc.c
 create mode 100644 port_private.h
 create mode 100644 tc.c
 create mode 100644 tc.h


Check out the vibrant tech community on one of the world's most 
engaging tech sites,!
Linuxptp-devel mailing list

Reply via email to