Am 2018-07-09 17:29, schrieb Michael Walle:
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
ping?
Should I propose a fix? Ie. there have to be two versions ot t1 and t2.
One for the offset and one for the delay calculation.
-m
------------------------------------------------------------------------------
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