From: Matt Mannhardt <lasmtm@Arco.COM>
Subject: Re: xntpd and timed
Organization: ARCO Alaska, Inc.
X-Useragent: Nuntius v1.1a2
Date: Fri, 18 Dec 1992 17:54:38 GMT

>We are currently using <timed> on our (still little,
>but growing) network. We are planning to start to use 
>xntpd.
>
>May I suppose that I have to stop timed on all the machines
>where I'm going to start xntpd? May they coexist in some way?

I have been looking into this question myself because of being in a
sum-what
similar position and I am interested in other peoples experiences.  We
have a 
mix of Apollos, DEC, IBM, and a few HP's totaling to about 175
workstations. 
Traditionally, we were running 'timed' on the 60+ Apollos (the oldest
platform 
in the network) and when the DEC's and IBM's came, well 'timed' seemed to
work.

Then the DEC Sys Admin boys found out that NTP version 1 was also readily
availible
in Ultrix and that the Internet gateway at our sister-division was a
stratum 2
ntp server.  They broke off this summer and went with 'ntpd' instead of
'timed'. 
This didn't hurt too much as there is no NFS to/from the DEC's and the
other 
UNIX platforms.  Several months ago I had the pleasure of acquiring
several HP 700's.
HP/UX, however, had no 'timed' or 'ntp' availible with the OS and I was
planning on
tying them into the AIX platform under a single NIS server, NFS,
automount and the
like. Humm, the clocks weren't in sync and most any NFS 'how-to-do-it"
book will
tell you that they really should be!  

The HP Sys Engineer recommended I look into 'xntpd' (NTP version 2)
because one of
the HP internals programmers had hacked a fix to xntp to solve HP/UX's
lack of a 
'adjtime' system call.  It was pretty straight forward to compile and
install xntp
for the HP/UX once I realized that the HP hack ment that the 'adjtimed'
daemon had
to be running along with 'xntp'.  I pointed the HP's to one of the DEC's
running
'ntpd' (note that you run a v2 ntp and are pointing to a v1 ntp as a peer
or server,
you will need to modify your peer/server statement in your /etc/ntp.conf
file.).

Well that got my HP's time sync'd to the DEC's and the real UTC time but
I was doing
NFS to the IBM's and Apollos which were still of in their own (timed)
world happily
deciding amoungst themselves what the "real time" should be. It never
quite came close
to the workstations running ntp or my watch which I was setting to WWV
via my Ham 
radio. 

My original thought was to compile xntp for the AIX and Apollo's which I
have now done 
with some difficulty. (I won't bore you with those details right now.) My
problem was
now figuring out how I wanted to go about converting all my 60+ Apollos 
and 10+ IBM's
from 'timed' to 'xntpd'. (very depressing, when looking at my over-loaded
plate of 
Sys Admin chores.)  I was pouring over man pages trying to figure out how
xntp and it's
utilities worked and trying to monitor the 'xntpd' daemons I had running
on several of
the Apollos, IBMs, and HP's when I noticed that I had inadvertently
killed all my 
potential 'timed' masters!  Having recently upgraded the OS on one of my
Apollo servers
(to OS SR10.4) I quickly looked a the 'timed' man page and noticed a new
option to the
'timed' daemon.  There was a '-a' option which read: 

    "...Normally, the master time daemon works democratically and will
let itself
     be out-voted if necessary by participating nodes.  The -a
(autocratic)
     option over-rides this behavior and prevents the master time daemon
from
     being influenced by slave daemons..."
	 
I set the date on that server node using the 'ntpdate <server>' command
and then fired
off '/etc/timed -Ma'.  Then using both 'timedc', and the xntp utilities
(and even the 
ntp v1 utility [ntp] on the DEC's) I started to monitor the time all the
systems I could.
What a pleasant surprise to watch all my 'timed' clients come in sync to
my '[x]ntpd'
clients!  Over the days that followed I watch my 'timed' clients then
ever-so-slowly 
start to drift off. While in the shower one morning I had the brain-storm
of running
'xntpd' on my 'timed -Ma' server!  If I read the 'man page' right,
'timed' shouldn't
be trying to slew the clock " 'cause he's da master " and an autocratic
one to boot in
a 'timed' world. That should leave 'xntpd' on the same node free to do
the 'adjtimed' 
calls without contention from the 'timed'.  

Well seems to work for me! Well, at least for now. I haven't figured out
how to setup 
"dual timed/xntpd" backup server yet, and I haven't figured out how to
set it up on 
other than an Apollo running SR10.4 *FLASH* till just now when I looked
at the Ultrix 
man page for 'timed' and noticed a -E option which reads:

     -E   Overrides the input of slaves.  Use the -E flag in conjunction
with
          the -M flag.  It specifies that a master timed should not
average
          the times of the slaves to calculate the network time but should
          distribute the time of its local host as the network time.  This
          flag allows a master timed to distribute time to a network while
          the network time is controlled by an outside agent such as the
Net-
          work Time Protocol.
		  
...so that makes Apollo and DEC the two platforms that have an autocratic
option for
'timed'. AIX doesn't have that option and HP/UX doesn't even have a
'timed'.  I have
yet to hit up "the gopher and archie" to see what 'timed' source is
availible.

The end result is that I'll probably run a mix of 'timed' and 'xntp' with
new installs
going to 'xntp' (by adding the appropiate code to our "localization
scripts" that we
run for new installs) and leaving the current 'timed' clients as they are
till their
next OS upgrade.

Comments anyone?


-Matt Mannhardt    - WL7CDE

- Any opinions in this posting are my own and not those of my employer.