From: Richard C. <ric...@gm...> - 2018-05-01 15:08:35
|
This series adds support for running a TC over multiple ports. Comments, testing, and review are most welcome. Changed in V3: ~~~~~~~~~~~~~~ - Correct the behavior of the E2E TC with respect to the free_running option. Now the E2E TC will synchronize when not free running, just like the P2P TC and the BC. In this case, the TC will generate delay request messages. - Pay attention to the domain field when synchronizing the local clock. Changed in V2: ~~~~~~~~~~~~~~ - Detect and drop frames that arrive with time stamps. - Add an option to enforce a spanning tree to avoid PTP message loops. - Set priority1 really low in the example TC configuration files Thanks, Richard Richard Cochran (9): clock: Add a method to determine whether a clock is free running. port: Share more helper functions. tc: Add the transparent clock implementation. p2p_tc: Implement a peer to peer transparent clock. e2e_tc: Implement an end to end transparent clock. config: Add a configuration option for TC mode. config: Add a configuration option for preventing loops in TC mode. Add an example configuration for a peer to peer transparent clock. Add an example configuration for an end to end transparent clock. E2E-TC.cfg | 13 ++ P2P-TC.cfg | 14 ++ clock.c | 10 +- clock.h | 7 + config.c | 11 ++ default.cfg | 2 + e2e_tc.c | 226 +++++++++++++++++++++++++ makefile | 6 +- p2p_tc.c | 229 +++++++++++++++++++++++++ port.c | 29 +++- port.h | 5 + port_private.h | 21 +++ ptp4l.8 | 21 ++- ptp4l.c | 44 ++++- tc.c | 514 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tc.h | 103 ++++++++++++ 16 files changed, 1237 insertions(+), 18 deletions(-) create mode 100644 E2E-TC.cfg create mode 100644 P2P-TC.cfg create mode 100644 e2e_tc.c create mode 100644 p2p_tc.c create mode 100644 tc.c create mode 100644 tc.h -- 2.11.0 |