<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <br>
    <div class="moz-cite-prefix">On 01/09/2018 11:42 AM, Eric S. Raymond
      wrote:
    </div>
    <blockquote type="cite"
      cite="mid:20180109174231.GA27808@thyrsus.com">
      <pre wrap="">Third way: there's a reference to get_resolution() ntp_systime.c at
line 147 ("After default_get_precision() has set a nonzero sys_fuzz")
that implies two things; (1) get_resolution() used to be called within
ntpd, and (2) its role has been taken over by the system variable
sys_fuzz, which is exposed through Mode 6.  We could return that,
scaling it as the RFC requires.

I think the third way is probably best - returning sys_fuzz.
</pre>
    </blockquote>
    <br>
    I'll look there.<br>
    <br>
    <blockquote type="cite"
      cite="mid:20180109174231.GA27808@thyrsus.com">
      <blockquote type="cite">
        <pre wrap="">* Time Distance
</pre>
      </blockquote>
      <pre wrap="">This could refer to one of three concepts: "root distance", "root
dispersion" "synchronization distance".  I am not entirely sure these
are all different things (!) as the documentation around them is
remarkably obscure - I refactored the code without fully understanding it.

I *think* "synchronization distance" is about the hop to the peer that
shipped the most recent packet accepted, while "root distance" and
"root dispersion" are the same statistic cumulated back to the root.
Hal or Daniel might know more than I do here.

If my belief is correct, you can fill this in with the mode 6
"rootdisp" system variable.  But I'd like a sanity check on this. If
you're feeling brave, grep for these terms in the documentation and
develop your own theory.
</pre>
    </blockquote>
    <br>
    It isn't rootdisp, that is already covered by
    ntpEntStatusDispersion. Will try to track the other(s).<br>
    <br>
    <blockquote type="cite"
      cite="mid:20180109174231.GA27808@thyrsus.com">
      <pre wrap="">
</pre>
      <blockquote type="cite">
        <pre wrap="">* Validation for the TestSet sequence. According to the RFC this is one of
the most complicated parts of an agent to get right. Currently it is setup
to be failsafe, which we can get away with for now because the NTP MIB only
has two writable entries, and simple ones at that.
</pre>
      </blockquote>
      <pre wrap="">
I don't understand this at all.  Where is it in the RFC?
</pre>
    </blockquote>
    <br>
    Ah, I left that ambiguous. RFC 2741, which defines the AgentX
    standard.<br>
    <br>
    Quick explanation: To write a variable the master first sends a
    TestSet packet to queue and validate the changes. That is followed
    by one or more of Commit/Undo/CleanupSet. The RFC defines several
    steps that the TestSet handler needs to check in order to validate
    what it is trying to do.<br>
    <br>
    (This question was directed at anyone with AgentX experience)<br>
    <br>
    <blockquote type="cite"
      cite="mid:20180109174231.GA27808@thyrsus.com">
      <pre wrap="">I have no idea how to check for this either.
</pre>
    </blockquote>
    <br>
    Ok.....<br>
    <br>
    <div class="moz-signature">-- <br>
      <i>"In the end; what separates a Man, from a Slave? Money? Power?
        No. A Man Chooses, a Slave Obeys."</i> -- Andrew Ryan
      <p>
        <i>"Utopia cannot precede the Utopian.
          It will exist the moment we are fit to occupy it."</i> --
        Sophia Lamb
      </p>
    </div>
  </body>
</html>