Hi,
at least in case of a free-running P2P TC (I don't know if this is valid
for the BC case), the tsproc mixes different measurements of the SYNC
and the PDELAY packets:
(1) tsproc_down_ts() in clock_synchronize() passes the timestamps of
the SYNC packet; i guess this is to calculate the master_offset
(2) tsproc_down_ts()/tsproc_up_ts() in port_peer_delay() passes the
PDELAY timestamps; this is for the delay calculation
Although I find it hard to read; this doesn't matter in most cases,
because after calling tsproc_up/down_ts() either tsproc_update_delay()
or tsproc_update_offset() is called. But the master_offset is calculated
using the path delay (t2 - t1 - delay), which was just replaced by the
tsproc_down_ts() in (1). If a filter is used this is no problem, because
the delay value is taken from the filter. But using the raw method
results in wrong delays; t1/t2 is taken from the SYNC/FUP messages and
t3/t4 is taken from the PDLEAY messages.
-michael
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel