ntp: improve copying of server status
When a server specified with the copy option responds with an unsynchronized status (e.g. due to selection failure), reset the source instance to immediately switch the local reference status instead of waiting for the source to become unreachable after 8 polls.
This commit is contained in:
parent
989ef702aa
commit
276591172e
1 changed files with 7 additions and 3 deletions
|
@ -2372,13 +2372,17 @@ process_response(NCR_Instance inst, int saved, NTP_Local_Address *local_addr,
|
|||
|
||||
SRC_UpdateReachability(inst->source, synced_packet);
|
||||
|
||||
if (synced_packet) {
|
||||
if (inst->copy && inst->remote_stratum > 0) {
|
||||
if (inst->copy) {
|
||||
/* Assume the reference ID and stratum of the server */
|
||||
if (synced_packet && inst->remote_stratum > 0) {
|
||||
inst->remote_stratum--;
|
||||
SRC_SetRefid(inst->source, ntohl(message->reference_id), &inst->remote_addr.ip_addr);
|
||||
} else {
|
||||
SRC_ResetInstance(inst->source);
|
||||
}
|
||||
}
|
||||
|
||||
if (synced_packet) {
|
||||
SRC_UpdateStatus(inst->source, MAX(inst->remote_stratum, inst->min_stratum), pkt_leap);
|
||||
|
||||
if (inst->delay_quant)
|
||||
|
|
Loading…
Reference in a new issue