]> git.ipfire.org Git - thirdparty/chrony.git/commitdiff
Limit skew used in NTP test4
authorMiroslav Lichvar <mlichvar@redhat.com>
Fri, 12 Aug 2011 12:49:23 +0000 (14:49 +0200)
committerMiroslav Lichvar <mlichvar@redhat.com>
Fri, 12 Aug 2011 13:37:58 +0000 (15:37 +0200)
With iburst and very jittery sources the source skew can reach very high
values which makes the NTP test4 fail even with relatively small delays.
Limit the skew to 2000 ppm to avoid getting state where a source is unable
to accept more than first three iburst samples.

sourcestats.c

index 257b6f5a32bde3a8a2370480d7ef3f365c93eeae..88e99114bd43bc2da93762769f86001c75e4869b 100644 (file)
@@ -528,6 +528,14 @@ SST_GetFrequencyRange(SST_Stats inst,
   skew = inst->skew;
   *lo = freq - skew;
   *hi = freq + skew;
+
+  /* This function is currently used only to determine the values of delta
+     and epsilon in the ntp_core module. Limit the skew to a reasonable maximum
+     to avoid failing the dispersion test too easily. */
+  if (skew > WORST_CASE_FREQ_BOUND) {
+    *lo = -WORST_CASE_FREQ_BOUND;
+    *hi = WORST_CASE_FREQ_BOUND;
+  }
 }
 
 /* ================================================== */