From 9c760de6768d9ea2aa352b4715138c56c82ba176 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Thu, 24 Nov 2016 10:09:50 +0100 Subject: [PATCH] ntp: don't send presend packets in burst mode --- ntp_core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ntp_core.c b/ntp_core.c index 022099c..fb35c23 100644 --- a/ntp_core.c +++ b/ntp_core.c @@ -556,6 +556,8 @@ NCR_GetInstance(NTP_Remote_Address *remote_addr, NTP_Source_Type type, SourcePar UTI_ZeroTimespec(&result->local_tx.ts); result->local_tx.err = 0.0; result->local_tx.source = NTP_TS_DAEMON; + result->burst_good_samples_to_go = 0; + result->burst_total_samples_to_go = 0; NCR_ResetInstance(result); @@ -1052,7 +1054,8 @@ transmit_timeout(void *arg) sending an NTP exchange to ensure both ends' ARP caches are primed or whether we need to send two packets first to ensure a server in the interleaved mode has a fresh timestamp for us. */ - if (inst->presend_minpoll <= inst->local_poll && !inst->presend_done) { + if (inst->presend_minpoll <= inst->local_poll && !inst->presend_done && + !inst->burst_total_samples_to_go) { inst->presend_done = inst->interleaved ? 2 : 1; } else if (inst->presend_done > 0) { inst->presend_done--;