[ntp:questions] Facing some issue in the ntp version Ver. 4.2.6p1
bhargav p
bhargav.1226 at gmail.com
Mon Jul 23 13:13:53 UTC 2012
Hi,
Thanks for the reply.
I have one query regarding this:
in the function refclock_newpeer() in the file ntp_refclock.c we are
setting the flag for each peer in the hash table as
peer->flags |= FLAG_REFCLOCK;
So, when the NTP packet is received we will iterate through all the hash
trees and then deciding the peer is fit or not.
Is this flag check is required [if (!(peer->flags & FLAG_REFCLOCK) ] in
peer_unfit(), because earlier versions of ntp is not there. I am not quite
sure for what reason this flag check has introduced.
Coming to actual problem in my scenario, In my conf file i have configured
one server address and local[127.127.1.0] address. As for each peer we are
setting that flag , when I changed the date and trying to set it " ntpd -q
" command , when the first NTP packet is received, for the local address
hash iteration this condition[(!(peer->flags & FLAG_REFCLOCK] is failing
and returning as fit and trying to synchronize with local server and
printing the log "slew +0.0000000sec".. and all NTP packet exchange is
stopped after first pair exchange.
If I remove this check [(!(peer->flags & FLAG_REFCLOCK] in peer_unfit
function, then everything is fine.Time has been reset to the server value.
I am not sure why this flag check is required?
Thanks,
Bhargav
On Mon, Jul 23, 2012 at 6:31 PM, Brian Utterback <brian.utterback at oracle.com
> wrote:
> That section of code is examining the root distance, which is the error
> introduced by the number of hops between this system and the ultimate
> source of time in this NTP network, i.e. the current root refclock. If the
> root distance is too large, we reject the source and flag it as failing
> test11. If the source of time we are examining is not a peer at all, but is
> instead a refclock itself, then by definition the root distance is 0 and
> therefore it cannot fail this test.
>
>
>
> On 7/23/2012 7:42 AM, bhargav p wrote:
>
>> Hi,
>>>
>>> Can anyone explain me this part of code in ntp_proto.c:
>>>
>>>
>>> /*
>>>
>>> * A distance error for a remote peer occurs if the root
>>>
>>> * distance is greater than or equal to the distance threshold
>>>
>>> * plus the increment due to one host poll interval.
>>>
>>> */
>>>
>>> if (!(peer->flags & FLAG_REFCLOCK) && root_distance(peer) >=
>>>
>>> sys_maxdist + clock_phi * ULOGTOD(peer->hpoll))
>>>
>>> rval |= TEST11; /* distance exceeded */
>>>
>>>
>>> why we are checking the peer->flags & FLAG_REFCLOCK ?
>>>
>>>
>>> -Bhargav
>>> lists.ntp.org/listinfo/**questions<http://lists.ntp.org/listinfo/questions>
>>>
>>
> ______________________________**_________________
> questions mailing list
> questions at lists.ntp.org
> http://lists.ntp.org/listinfo/**questions<http://lists.ntp.org/listinfo/questions>
>
More information about the questions
mailing list