From: Dave Hart Date: Wed, 30 Nov 2011 04:00:32 +0000 (+0000) Subject: Floor calculation of sys_rootdisp at sys_mindisp in clock_update (from X-Git-Tag: NTP_4_2_7P237~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=94d504fb210a709667173b16494f96cfc4380958;p=thirdparty%2Fntp.git Floor calculation of sys_rootdisp at sys_mindisp in clock_update (from Dave Mills). bk: 4ed5aa60IgWt7LswdlWmbSlz8n_XEA --- diff --git a/ChangeLog b/ChangeLog index 8ffb539f5..133cd6082 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,8 @@ * from 4.2.6p5-RC2: Exclude not-yet-determined sys_refid from use in loopback TEST12 (from Dave Mills). * from 4.2.6p5-RC2: Never send KoD rate limiting response to MODE_SERVER. +* Floor calculation of sys_rootdisp at sys_mindisp in clock_update (from + Dave Mills). * Restore 4.2.6 clock_combine() weighting to ntp-dev, reverting to pre- 4.2.7p70 method while also avoiding divide-by-zero (from Dave Mills). * Round l_fp traffic interval when converting to integer in rate limit diff --git a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c index 95565b634..96dd7cd85 100644 --- a/ntpd/ntp_proto.c +++ b/ntpd/ntp_proto.c @@ -1811,9 +1811,12 @@ clock_update( sys_refid = peer->refid; else sys_refid = addr2refid(&peer->srcadr); - dtemp = sys_jitter + fabs(sys_offset) + peer->disp + clock_phi * - (current_time - peer->update); - sys_rootdisp = dtemp + peer->rootdisp; + dtemp = fabs(sys_offset) + peer->disp + peer->rootdisp + + clock_phi * (current_time - peer->update) + sys_jitter; + if (dtemp > sys_mindisp) + sys_rootdisp = dtemp; + else + sys_rootdisp = sys_mindisp; sys_rootdelay = peer->delay + peer->rootdelay; sys_reftime = peer->dst;