The sequence of port_nrate_calculate() and tsproc_update_delay() in port_peer_delay() is mixed up. The peer delay depends on the nrate ratio so the nrate ratio shall be updated before peer delay is calculated.
Signed-off-by: Burkhard Ilsen <burkhardil...@gmail.com> --- port.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/port.c b/port.c index 0f99b1b..2febe67 100644 --- a/port.c +++ b/port.c @@ -1892,6 +1892,9 @@ static void port_peer_delay(struct port *p) c2 = correction_to_tmv(fup->header.correction); calc: t3c = tmv_add(t3, tmv_add(c1, c2)); + + if (p->follow_up_info) + port_nrate_calculate(p, t3c, t4); tsproc_set_clock_rate_ratio(p->tsproc, p->nrate.ratio * clock_rate_ratio(p->clock)); tsproc_up_ts(p->tsproc, t1, t2); @@ -1901,9 +1904,6 @@ calc: p->peerMeanPathDelay = tmv_to_TimeInterval(p->peer_delay); - if (p->follow_up_info) - port_nrate_calculate(p, t3c, t4); - if (p->state == PS_UNCALIBRATED || p->state == PS_SLAVE) { clock_peer_delay(p->clock, p->peer_delay, t1, t2, p->nrate.ratio); -- 2.12.2.windows.1 ------------------------------------------------------------------------------ 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