ntpd: more verbose message for "root distance too high" case
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 13 Sep 2018 10:15:36 +0000 (12:15 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 13 Sep 2018 10:15:36 +0000 (12:15 +0200)
Managed to make ntpd on one of my machines to be stuck getting
"root distance too high" all the time, but log is not giving me
more informatin what exactly is happening...

function                                             old     new   delta
select_and_cluster                                  1045    1095     +50

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
networking/ntpd.c

index 991c518f6aa9fb8d4e7879db30ffed1a6d35a3ca..1ebdc34c3efb310e03b7e6f8d73abf42554c259e 100644 (file)
@@ -1116,20 +1116,25 @@ fit(peer_t *p, double rd)
 {
        if ((p->reachable_bits & (p->reachable_bits-1)) == 0) {
                /* One or zero bits in reachable_bits */
-               VERB4 bb_error_msg("peer %s unfit for selection: unreachable", p->p_dotted);
+               VERB4 bb_error_msg("peer %s unfit for selection: "
+                               "unreachable", p->p_dotted);
                return 0;
        }
 #if 0 /* we filter out such packets earlier */
        if ((p->lastpkt_status & LI_ALARM) == LI_ALARM
         || p->lastpkt_stratum >= MAXSTRAT
        ) {
-               VERB4 bb_error_msg("peer %s unfit for selection: bad status/stratum", p->p_dotted);
+               VERB4 bb_error_msg("peer %s unfit for selection: "
+                               "bad status/stratum", p->p_dotted);
                return 0;
        }
 #endif
        /* rd is root_distance(p) */
        if (rd > MAXDIST + FREQ_TOLERANCE * (1 << G.poll_exp)) {
-               VERB4 bb_error_msg("peer %s unfit for selection: root distance too high", p->p_dotted);
+               VERB3 bb_error_msg("peer %s unfit for selection: "
+                       "root distance %f too high, jitter:%f",
+                       p->p_dotted, rd, p->filter_jitter
+               );
                return 0;
        }
 //TODO