ntp: fix poll interleaving with unsynchronised peers
Update the remote poll and remote stratum even for unsychronised peers, and handle stratum of 0 as 16, so the peers work with the opposite differences between their strata and can adjust their polling intervals in order to interleave the packets.
This commit is contained in:
parent
854ff69f78
commit
577290c5bc
1 changed files with 4 additions and 2 deletions
|
@ -1575,9 +1575,11 @@ receive_packet(NCR_Instance inst, NTP_Local_Address *local_addr,
|
|||
!UTI_CompareTimespecs(&inst->local_rx.ts, &rx_ts->ts));
|
||||
|
||||
if (valid_packet) {
|
||||
inst->remote_poll = message->poll;
|
||||
inst->remote_stratum = message->stratum != NTP_INVALID_STRATUM ?
|
||||
message->stratum : NTP_MAX_STRATUM;
|
||||
|
||||
if (synced_packet) {
|
||||
inst->remote_poll = message->poll;
|
||||
inst->remote_stratum = message->stratum;
|
||||
inst->tx_count = 0;
|
||||
SRC_UpdateReachability(inst->source, 1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue