[comp.protocols.time.ntp] ntp stuff...

rapatel@KHNPHWZHN.NJIN.NET (Rocky - Rakesh Patel) (10/30/90)

The Rutgers ntp distribution just has some changes to allow using
one ntp.conf file accross many machines.  No changes other changes
were made. We are using it on lots of Suns ranging from Sun 3/50s
to Sun 4/380s. It is also running on Celeritys and Pyramids without any
problems.  The version on rutgers.edu was a bit old, and has been
updated to patchlevel 13 (which is currently what we are running).

Maybe at some point, I'll get around to doing something about moving
to xntpd. 

Here is a description:


Adding "-DRUTGERS" to the DEFINES list in the Makefile will enable
some code that will allow you to use a shared configuration file for
all of your machines running ntp. We use "track" for automated
distribution of software amongst a large number of machines, and
having a shared configuration file makes it much easier to administer
changes.

Basically, you can define one or more keywords (currently hard coded
to 10) that can be used to allow seperate commands for different types
of systems.  For example, the following lines allow you to set
different values for precision, depending on the machine type:


sun4		precision -7
sun3		precision -6


So on sun3s, you would invoke ntpd with one of the options being 
"-k sun3".

This simple mechanism allows you to specify entries for many machines.

To make it easier, there is also a special keyword, "client", which you
can specify a net/subnet number after as follows:

client	128.6.26.0	server		rutgers.edu
client	128.6.26.0	server		porthos.rutgers.edu


Essentially, what happens is that ntpd will check all the interfaces
of the local machine, and if the client key is specified, all the
matching entries will be parsed for the normal ntp command lines.
Since most machines are going to clients in a workstation type of
environment, you essentially save lots of time by not having to create
special configuration files for each machine. You can just list all
the networks and servers for those networks in one configuration file.


What about the special machines? 
How about:

rutgers		peer		umd1.umd.edu
rutgers		peer		truechimer.cso.uiuc.edu
rutgers		peer		porthos.rutgers.edu

porthos		peer		wwvb.isi.edu
porthos		peer		ncar.nsf.net
porthos		peer		rutgers.edu


And on those machines you can invoke ntpd with "-k rutgers" and 
"-k porthos" respectively.


The code is fully backwards compatible, so even if you include
"-DRUTGERS", you do not need to use the "-k" flag. If you do not
use the "-k" flag, the configuration file is parsed as it would 
be without the rutgers modifications compiled in.
If you do use the "-k" flag, then you should make sure to specify
keywords for eveything that you do not want defined globally. For
example, if you expect the precision to be the same across all your
machines, you can specify it without a keyword and it will be properly
parsed, for example:

precision -6


A typical invocation of ntpd for a sun3 client would probably be:

ntpd -a any -t -z -k client -k sun3


As mentioned above, you are limited to 10 keywords on the command line.
There can be as many keywords as you like in the configuration file since
the code only checks for matches on the keywords specified.

The changes also specify /usr/local/etc/ntp.conf to be the default
configuration file, instead of /etc/ntp.conf. This is because we want
the file to be shared on our Sun clients. You may want to change that
before compilation to the location you prefer.

Again, remember to specify "-DRUTGERS" in the Makefile if you want to enable 
this code.



Rakesh Patel.