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... Thanks, Richard * 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 type. 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 -- 2.1.4 ------------------------------------------------------------------------------ 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