From: mcgraw@sunspot.noao.edu (Robert McGraw)
Subject: Re: `problem with xntp3
Organization: National Solar Observatory/SP, Sunspot NM, USA
Distribution: na
Date: Sun, 27 Sep 92 05:37:26 GMT

In a follow up to my own article below I did leave out that
the xntpd is running on a sun 4/670 with 4 cpu's and is running
with a load of 8.  

I do recall something about problems with xntp3 and the multi
cpu's Sun's. 


In article <1992Sep27.050542.26565@sunspot.noao.edu> mcgraw@sunspot.sunspot.noao.edu (Robert McGraw) writes:
>I am trying to get xntp3 up an going but having some problems.
>
>1. after starting xntpd and letting it run for several hours, and then
>looking at ``ntp -p'' over a period of time, my host never seem to
>settle down to one ntp server. All the parameters are jumping up and
>down for all servers. 
>
>2. it also seems that ``ntpdate'' V3.1 does not seem to be working. I
>assume that it is looking for Version 3 packets and the host I am
>querying is sending Version 2 packets. How can this be fixed.
>
>Any help or suggestions.
>
>Thanks
>Robert
>
>Below is my ntp.conf and Config file.
>
>
>-------------------
>#
># Local clock parameters for progrm xntpd
>#
>#
>#
># who are my friends?
>#
>server 128.102.16.10    version 2       #norad.arc.nasa.gov (WWV)
>server 16.1.0.4         version 1       #clepsydra.dec.com (GOES)
>server 130.43.2.2       version 2       #apple.com (WWV)
>broadcast 146.5.2.255                   #broadcast to subnet 146.5.2  
>
>#server 132.249.16.1        #fuzz.sdsc.edu (WWVB)
>#server 192.43.244.9        #ncarfuzz.ucar.edu (WWVB)
>#server 128.156.1.43        #lerc-dns.lerc.nasa.gov (WWVB)
>#server 192.17.2.40         #truechimer.cso.uiuc.edu (WWVB)
>
>requestkey 3333
>
>driftfile	/etc/ntp.drift
>keys        /etc/ntp.keys
>
>-----------------------
>
>here is my Config file.
>
>---------------------
>
># Edit this file to reflect information specific to your installation.
># Then run 'make makefiles' to propagate the information to all the makefiles,
>
>#
># Definitions for the library:
>#
># You must define one of -DXNTP_BIG_ENDIAN, -DXNTP_LITTLE_ENDIAN
>#	or -DXNTP_AUTO_ENDIAN depending on which way your machine's
>#	bytes go for the benefit of the DES routine.  Most things
>#	sold by DEC, the NS32x32 and the 80386 deserve a
>#	-DXNTP_LITTLE_ENDIAN.  Most of the rest of the world does
>#	it the other way.  If in doubt, pick one, compile
>#	everything and run authstuff/authcert < authstuff/certdata.
>#	If everything fails, do it the other way.
>#
>#	Under BSD, you may define -DXNTP_NETINET_ENDIAN to use
>#	netinet/in.h to determine which of -DXNTP_BIG_ENDIAN and
>#	XNTP_LITTLE_ENDIAN should be used.
>#
>LIBDEFS= -DXNTP_BIG_ENDIAN
>
>#
># Library loading:
>#
># If you don't want your library ranlib'ed, chose the second line
>#
>RANLIB=		ranlib
>#RANLIB=	: # ar does the work of ranlib under System V
>
>#
># Definitions for programs:
># 
># If your compiler doesn't understand the declaration `signed char',
>#       add -DNO_SIGNED_CHAR_DECL.  Your `char' data type had better be
>#	signed.  If you don't know what the compiler knows, try it
>#	without the flag.  If you get a syntax error on line 13 of
>#	ntp.h, add it.  Note that `signed char' is an ANSIism.  Most
>#	older, pcc-derived compilers will need this flag.
>#
># If your library already has 's_char' defined, add -DS_CHAR_DEFINED.
>#
># For SunOS 3.x, add -DSUN_3_3_STINKS (otherwise it will complain
>#	about broadaddr and will hang if you run without a -d flag
>#	on the command line.  I actually can't believe the latter
>#	bug.  If it hangs on your system with the flag defined, peruse
>#	xntpd/ntp_io.c for some rude comments about SunOS 3.5 and try it
>#	the other way).  This flag affects xntpd only.
>#
># For Ultrix 2.0, add -DULT_2_0_SUCKS.  This OS has the same hanging
>#	bug as SunOS 3.5 (is this an original 4.2 bug?) and in addition
>#	has some strangeness concerning signal masks.  Ultrix 2.3 doesn't
>#	have these problems.  If you're running something in between
>#	you're on your own.  This flag affects xntpd only.
>#
># For SunOS 4.x, add -DDOSYNCTODR_SUCKS to include the code in ntp_util.c
>#	that sets the battery clock at the same time that it updates
>#	the driftfile. It does this by revving up the niceness, then
>#	sets the time of day to the current time of day. Ordinarily,
>#	you would need this only on non-networked machines.
>#
># For some machines, settimeofday does not set the sub-second component
>#       of the time correctly. For these machines add -DSETTIMEOFDAY_BROKEN.
>#       If xntpd keeps STEPPING the clock by small amounts, then it is
>#       possible that you are suffering from this problem.
>#
># There are three ways to pry loose the kernel variables tick and tickadj
>#	needed by ntp_unixclock.c.  One reads kmem and and is enabled
>#	with -DREADKMEM.  One uses Sun's libkvm and is enabled with
>#	-DUSELIBKVM. The last one uses builtin defaults and is enabled
>#	with -DNOKMEM. Therefore, one of -DUSELIBKVM, -DREADKMEM or
>#	-DNOKMEM must be defined. Suns and recent BSD should use
>#	-DUSELIBKVM; others should use -DREADKMEM. If -DUSELIBKVM, use
>#	the DAEMONLIBS below to get the kernel routines.
>#
># If your gethostbyname() routine isn't based on the DNS resolver (and,
>#	in particular, h_errno doesn't exist) add a -DNODNS.  There
>#	doesn't seem to be a good way to detect this automatically which
>#	works in all cases.  This flag affects xntpres only.
>#
># The flag -DDEBUG includes some debugging code.
>#
># The flag -DREFCLOCK causes the basic reference clock support to be
>#	compiled into the daemon.  If you set this you will also want
>#	to configure the particular clock drivers you want in the
>#	CLOCKDEFS= line below.  This flag affects xntpd only.
>#
># There is an occurance of a call to rindex() in the daemon.  You may
>#	have to include a -Drindex=strrchr to get this to load right.
>#
># To change the location of the configuration file, use a
>#	-DCONFIG_FILE=\\"/local/etc/ntp.conf\\" or something similar.
>#
># Under HP-UX, you must use either -Dhpux70 or -Dhpux80 as,
>#	well as -DNOKMEM
>#
># If your library doesn't include the vsprintf() routine, define
>#	NEED_VSPRINTF.
>#
># There are three ways to utilize external 1-pps signals. Define -DPPS to
>#	include just the pps routine, such as used by the DCF77 reference clock
>#	driver. Define -DPPSDEV ito include a serial device driver. This
>#	requires a serial port and either a line discipline or STREAMS module.
>#	Define -DPPSCD to include the driver and a special kernal hack
>#	(for SunOS 4.1.1) that intercepts carrier-detect transitions
>#	generated by the pps signal. Only one of these flags should be defined.
>#
>#DEFS= -DSTREAM -DREFCLOCK -DNO_SIGNED_CHAR_DECL -DPPSDEV -DUSELIBKVM -DDEBUG
>DEFS= -DSTREAM -DREFCLOCK -DNO_SIGNED_CHAR_DECL -DUSELIBKVM -DDEBUG
>
>#
>#  Authentication types supported.  Choose from DES and MD5.  If you
>#  have a 680x0 type CPU and GNU-C, also choose -DFASTMD5
>#
>AUTHDEFS=-DDES -DMD5
>
>#
># Clock support definitions (these only make sense if -DREFCLOCK used):
>#
># Define -DLOCAL_CLOCK to include local pseudo-clock support
>#
># Define -DPST to include support for the PST 1020 WWV/H receiver.
>#
># Define -DWWVB to include support for the Spectracom 8170 WWVB receiver.
>#
># Define -DCHU to include support for a driver to receive the CHU
>#	timecode.  Note that to compile in CHU support you must
>#	previously have installed the CHU serial line discipline in
>#	the kernel of the machine you are doing the compile on.
>#
># Define -DDCF to include support for the DCF77 receiver. This code
>#	requires a special STREAMS module found in the kernel directory.
>#
># Define -DDCFPPS for PPS support via the DCF77 receiver
>#	(see also: -DPPS)
>#
># Define -DGOES to support a Kinemetrics TrueTime 468-DC GOES receiver.
>#
>#CLOCKDEFS= -DPST -DWWVB -DCHU
>CLOCKDEFS= -DLOCAL_CLOCK
>
>#
># For MIPS 4.3BSD or RISCos 4.0, include a -lmld to get the nlist() routine.
>#	If USELIBKVM is defined above, include a -lkvm to get the kernel
>#	routines.
>#
>#DAEMONLIBS= -lmld
>DAEMONLIBS= -lkvm
>#DAEMONLIBS=
>
>#
># Name resolver library.  Included when loading xntpres, which calls
># gethostbyname().  Define this if you would rather use a different
># version of the routine than the one in libc.a
>#
>#RESLIB= -lresolv
>RESLIB=
>
>#
># Option flags for the C compiler.  A -g if you are uncomfortable
>#
>COPTS= -O
>
>#
># C compiler to use.  gcc will work, but avoid the -fstrength-reduce option
># if the version is 1.35 or earlier (using this option caused incorrect
># code to be generated in the DES key permutation code, and perhaps
># elsewhere).
>#
>COMPILER= cc
>
>#
># Directory into which binaries should be installed
>#
>BINDIR=	/usr/local/bin
>
>#
># Special library for adjtime emulation. Used under HP-UX
># (remember to run make in the adjtime directory)
>#
>#ADJLIB= ../adjtime/libadjtime.a
>ADJLIB=
>
>#
># BSD emulation library. In theory, this fixes signal semantics under
># HP-UX, but it doesn't work with 8.0 on a 9000s340, so there is now
># a work-around in the code (compiled when hpux80 is defined). In other
># words, use this for HP-UX prior to 8.0.
>#
>#COMPAT= -lBSD
>COMPAT=
>
>-- 
>------------------------------------------------------------------------
>Robert P. McGraw, Jr.    
>System Manager                 INTERNET:rmcgraw@sunspot.sunspot.noao.edu
>National Solar Observatory/SP  SPAN: 5355::RMCGRAW or NOAO::RMCGRAW


-- 
------------------------------------------------------------------------
Robert P. McGraw, Jr.    
System Manager                 INTERNET:rmcgraw@sunspot.sunspot.noao.edu
National Solar Observatory/SP  SPAN: 5355::RMCGRAW or NOAO::RMCGRAW