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

Reply via email to