fp_offset);
reinit_timer();
tc_counter = 0;
- sys_poll = NTP_MINPOLL;
rval = 2;
if (state == S_NSET) {
rstclock(S_FREQ, peer->epoch, 0);
tc_counter = CLOCK_LIMIT;
if (sys_poll < peer->maxpoll) {
tc_counter = 0;
- sys_poll++;
+ sys_poll++;
}
}
} else {
* unreachable, raise a trap. If ephemeral, dump
* it right away.
*/
- if (oreach != 0) {
+ if (oreach) {
report_event(EVNT_UNREACH, peer);
if (!(peer->flags & FLAG_CONFIG)) {
unpeer(peer);
report_event(EVNT_REACH, peer);
peer->timereachable = current_time;
}
-
- /*
- * If we have gone a long time since the last packet, clamp down
- * the poll interval to speed up resynchronization.
- */
- if (!peer->reach && peer->unreach > NTP_UNREACH)
- poll_update(peer, peer->minpoll);
- else
- poll_update(peer, peer->hpoll);
+ poll_update(peer, peer->hpoll);
peer->reach |= 1;
/*
/*
* A manycast server beacons at minpoll until a sufficient
- * number of servers have been found or the ttl has toped out,
+ * number of servers have been found or the ttl has topped out,
* then beacons at maxpoll.
*/
} else if (peer->cast_flags & MDF_ACAST) {
for (i = nl3 - 1; i >= 0; i--) {
if (e >= endpoint[indx[i]].val)
break;
+
indx[i + 3] = indx[i];
}
indx[i + 3] = nl3;
for (; i >= 0; i--) {
if (e >= endpoint[indx[i]].val)
break;
+
indx[i + 2] = indx[i];
}
indx[i + 2] = nl3;
for (; i >= 0; i--) {
if (e >= endpoint[indx[i]].val)
break;
+
indx[i + 1] = indx[i];
}
indx[i + 1] = nl3;