ntpd.mdoc.in revision 1.1.1.1
1.Dd December 24 2013
2.Dt NTPD @NTPD_MS@ User Commands
3.Os SunOS 5.10
4.\"  EDIT THIS FILE WITH CAUTION  (ntpd-opts.mdoc)
5.\"
6.\"  It has been AutoGen-ed  December 24, 2013 at 11:38:28 AM by AutoGen 5.18.3pre5
7.\"  From the definitions    ntpd-opts.def
8.\"  and the template file   agmdoc-cmd.tpl
9.Sh NAME
10.Nm ntpd
11.Nd NTP daemon program
12.Sh SYNOPSIS
13.Nm
14.\" Mixture of short (flag) options and long options
15.Op Fl flags
16.Op Fl flag Op Ar value
17.Op Fl \-option\-name Ns Oo Oo Ns "=| " Oc Ns Ar value Oc
18[ <server1> ... <serverN> ]
19.Pp
20.Sh DESCRIPTION
21The
22.Nm
23utility is an operating system daemon which sets
24and maintains the system time of day in synchronism with Internet
25standard time servers.
26It is a complete implementation of the
27Network Time Protocol (NTP) version 4, as defined by RFC\-5905,
28but also retains compatibility with
29version 3, as defined by RFC\-1305, and versions 1
30and 2, as defined by RFC\-1059 and RFC\-1119, respectively.
31.Pp
32The
33.Nm
34utility does most computations in 64\-bit floating point
35arithmetic and does relatively clumsy 64\-bit fixed point operations
36only when necessary to preserve the ultimate precision, about 232
37picoseconds.
38While the ultimate precision is not achievable with
39ordinary workstations and networks of today, it may be required
40with future gigahertz CPU clocks and gigabit LANs.
41.Pp
42Ordinarily,
43.Nm
44reads the
45.Xr ntp.conf 5
46configuration file at startup time in order to determine the
47synchronization sources and operating modes.
48It is also possible to
49specify a working, although limited, configuration entirely on the
50command line, obviating the need for a configuration file.
51This may
52be particularly useful when the local host is to be configured as a
53broadcast/multicast client, with all peers being determined by
54listening to broadcasts at run time.
55.Pp
56If NetInfo support is built into
57.Nm ,
58then
59.Nm
60will attempt to read its configuration from the
61NetInfo if the default
62.Xr ntp.conf 5
63file cannot be read and no file is
64specified by the
65.Fl c
66option.
67.Pp
68Various internal
69.Nm
70variables can be displayed and
71configuration options altered while the
72.Nm
73is running
74using the
75.Xr ntpq @NTPQ_MS@
76and
77.Xr ntpdc @NTPDC_MS@
78utility programs.
79.Pp
80When
81.Nm
82starts it looks at the value of
83.Xr umask 2 ,
84and if zero
85.Nm
86will set the
87.Xr umask 2
88to 022.
89.Sh "OPTIONS"
90.Bl -tag
91.It  Fl 4 , Fl \-ipv4 
92Force IPv4 DNS name resolution.
93This option must not appear in combination with any of the following options:
94ipv6.
95.sp
96Force DNS resolution of following host names on the command line
97to the IPv4 namespace.
98.It  Fl 6 , Fl \-ipv6 
99Force IPv6 DNS name resolution.
100This option must not appear in combination with any of the following options:
101ipv4.
102.sp
103Force DNS resolution of following host names on the command line
104to the IPv6 namespace.
105.It  Fl a , Fl \-authreq 
106Require crypto authentication.
107This option must not appear in combination with any of the following options:
108authnoreq.
109.sp
110Require cryptographic authentication for broadcast client,
111multicast client and symmetric passive associations.
112This is the default.
113.It  Fl A , Fl \-authnoreq 
114Do not require crypto authentication.
115This option must not appear in combination with any of the following options:
116authreq.
117.sp
118Do not require cryptographic authentication for broadcast client,
119multicast client and symmetric passive associations.
120This is almost never a good idea.
121.It  Fl b , Fl \-bcastsync 
122Allow us to sync to broadcast servers.
123.sp
124.It  Fl c Ar string , Fl \-configfile Ns = Ns Ar string 
125configuration file name.
126.sp
127The name and path of the configuration file,
128\fI/etc/ntp.conf\fP
129by default.
130.It  Fl d , Fl \-debug\-level 
131Increase debug verbosity level.
132This option may appear an unlimited number of times.
133.sp
134.It  Fl D Ar number , Fl \-set\-debug\-level Ns = Ns Ar number 
135Set the debug verbosity level.
136This option may appear an unlimited number of times.
137This option takes an integer number as its argument.
138.sp
139.It  Fl f Ar string , Fl \-driftfile Ns = Ns Ar string 
140frequency drift file name.
141.sp
142The name and path of the frequency file,
143\fI/etc/ntp.drift\fP
144by default.
145This is the same operation as the
146\fBdriftfile\fP \fIdriftfile\fP
147configuration specification in the 
148\fI/etc/ntp.conf\fP
149file.
150.It  Fl g , Fl \-panicgate 
151Allow the first adjustment to be Big.
152This option may appear an unlimited number of times.
153.sp
154Normally,
155\fBntpd\fP
156exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that,
157\fBntpd\fP
158will exit with a message to the system log. This option can be used with the
159\fB\-q\fP
160and
161\fB\-x\fP
162options.
163See the
164\fBtinker\fP
165configuration file directive for other options.
166.It  Fl i Ar string , Fl \-jaildir Ns = Ns Ar string 
167Jail directory.
168.sp
169Chroot the server to the directory
170\fIjaildir\fP
171.
172This option also implies that the server attempts to drop root privileges at startup.
173You may need to also specify a
174\fB\-u\fP
175option.
176This option is only available if the OS supports adjusting the clock
177without full root privileges.
178This option is supported under NetBSD (configure with
179\fB\-\-enable\-clockctl\fP) or Linux (configure with
180\fB\-\-enable\-linuxcaps\fP) or Solaris (configure with \fB\-\-enable\-solarisprivs\fP).
181.It  Fl I Ar iface , Fl \-interface Ns = Ns Ar iface 
182Listen on an interface name or address.
183This option may appear an unlimited number of times.
184.sp
185Open the network address given, or all the addresses associated with the
186given interface name.  This option may appear multiple times.  This option
187also implies not opening other addresses, except wildcard and localhost.
188This option is deprecated. Please consider using the configuration file
189\fBinterface\fP command, which is more versatile. 
190.It  Fl k Ar string , Fl \-keyfile Ns = Ns Ar string 
191path to symmetric keys.
192.sp
193Specify the name and path of the symmetric key file.
194\fI/etc/ntp.keys\fP
195is the default.
196This is the same operation as the
197\fBkeys\fP \fIkeyfile\fP
198configuration file directive.
199.It  Fl l Ar string , Fl \-logfile Ns = Ns Ar string 
200path to the log file.
201.sp
202Specify the name and path of the log file.
203The default is the system log file.
204This is the same operation as the
205\fBlogfile\fP \fIlogfile\fP
206configuration file directive.
207.It  Fl L , Fl \-novirtualips 
208Do not listen to virtual interfaces.
209.sp
210Do not listen to virtual interfaces, defined as those with
211names containing a colon.  This option is deprecated.  Please
212consider using the configuration file \fBinterface\fP command, which
213is more versatile.
214.It  Fl M , Fl \-modifymmtimer 
215Modify Multimedia Timer (Windows only).
216.sp
217Set the Windows Multimedia Timer to highest resolution.  This
218ensures the resolution does not change while ntpd is running,
219avoiding timekeeping glitches associated with changes.
220.It  Fl n , Fl \-nofork 
221Do not fork.
222This option must not appear in combination with any of the following options:
223wait\-sync.
224.sp
225.It  Fl N , Fl \-nice 
226Run at high priority.
227.sp
228To the extent permitted by the operating system, run
229\fBntpd\fP
230at the highest priority.
231.It  Fl p Ar string , Fl \-pidfile Ns = Ns Ar string 
232path to the PID file.
233.sp
234Specify the name and path of the file used to record
235\fBntpd\fP's
236process ID.
237This is the same operation as the
238\fBpidfile\fP \fIpidfile\fP
239configuration file directive.
240.It  Fl P Ar number , Fl \-priority Ns = Ns Ar number 
241Process priority.
242This option takes an integer number as its argument.
243.sp
244To the extent permitted by the operating system, run
245\fBntpd\fP
246at the specified
247\fBsched_setscheduler(SCHED_FIFO)\fP
248priority.
249.It  Fl q , Fl \-quit 
250Set the time and quit.
251This option must not appear in combination with any of the following options:
252saveconfigquit, wait\-sync.
253.sp
254\fBntpd\fP
255will not daemonize and will exit after the clock is first
256synchronized.  This behavior mimics that of the
257\fBntpdate\fP
258program, which will soon be replaced with a shell script.
259The
260\fB\-g\fP
261and
262\fB\-x\fP
263options can be used with this option.
264Note: The kernel time discipline is disabled with this option.
265.It  Fl r Ar string , Fl \-propagationdelay Ns = Ns Ar string 
266Broadcast/propagation delay.
267.sp
268Specify the default propagation delay from the broadcast/multicast server to this client. This is necessary only if the delay cannot be computed automatically by the protocol.
269.It  Fl \-saveconfigquit  Ns = Ns Ar string 
270Save parsed configuration and quit.
271This option must not appear in combination with any of the following options:
272quit, wait\-sync.
273.sp
274Cause \fBntpd\fP to parse its startup configuration file and save an
275equivalent to the given filename and exit.  This option was
276designed for automated testing.
277.It  Fl s Ar string , Fl \-statsdir Ns = Ns Ar string 
278Statistics file location.
279.sp
280Specify the directory path for files created by the statistics facility.
281This is the same operation as the
282\fBstatsdir\fP \fIstatsdir\fP
283configuration file directive.
284.It  Fl t Ar tkey , Fl \-trustedkey Ns = Ns Ar tkey 
285Trusted key number.
286This option may appear an unlimited number of times.
287.sp
288Add the specified key number to the trusted key list.
289.It  Fl u Ar string , Fl \-user Ns = Ns Ar string 
290Run as userid (or userid:groupid).
291.sp
292Specify a user, and optionally a group, to switch to.
293This option is only available if the OS supports adjusting the clock
294without full root privileges.
295This option is supported under NetBSD (configure with
296\fB\-\-enable\-clockctl\fP) or Linux (configure with
297\fB\-\-enable\-linuxcaps\fP) or Solaris (configure with \fB\-\-enable\-solarisprivs\fP).
298.It  Fl U Ar number , Fl \-updateinterval Ns = Ns Ar number 
299interval in seconds between scans for new or dropped interfaces.
300This option takes an integer number as its argument.
301.sp
302Give the time in seconds between two scans for new or dropped interfaces.
303For systems with routing socket support the scans will be performed shortly after the interface change
304has been detected by the system.
305Use 0 to disable scanning. 60 seconds is the minimum time between scans.
306.It  Fl \-var  Ns = Ns Ar nvar 
307make ARG an ntp variable (RW).
308This option may appear an unlimited number of times.
309.sp
310.It  Fl \-dvar  Ns = Ns Ar ndvar 
311make ARG an ntp variable (RW|DEF).
312This option may appear an unlimited number of times.
313.sp
314.It  Fl w Ar number , Fl \-wait\-sync Ns = Ns Ar number 
315Seconds to wait for first clock sync.
316This option must not appear in combination with any of the following options:
317nofork, quit, saveconfigquit.
318This option takes an integer number as its argument.
319.sp
320If greater than zero, alters \fBntpd\fP's behavior when forking to
321daemonize.  Instead of exiting with status 0 immediately after
322the fork, the parent waits up to the specified number of
323seconds for the child to first synchronize the clock.  The exit
324status is zero (success) if the clock was synchronized,
325otherwise it is \fBETIMEDOUT\fP.
326This provides the option for a script starting \fBntpd\fP to easily
327wait for the first set of the clock before proceeding.
328.It  Fl x , Fl \-slew 
329Slew up to 600 seconds.
330.sp
331Normally, the time is slewed if the offset is less than the step threshold, which is 128 ms by default, and stepped if above the threshold.
332This option sets the threshold to 600 s, which is well within the accuracy window to set the clock manually.
333Note: Since the slew rate of typical Unix kernels is limited to 0.5 ms/s, each second of adjustment requires an amortization interval of 2000 s.
334Thus, an adjustment as much as 600 s will take almost 14 days to complete.
335This option can be used with the
336\fB\-g\fP
337and
338\fB\-q\fP
339options.
340See the
341\fBtinker\fP
342configuration file directive for other options.
343Note: The kernel time discipline is disabled with this option.
344.It  Fl \-usepcc 
345Use CPU cycle counter (Windows only).
346.sp
347Attempt to substitute the CPU counter for \fBQueryPerformanceCounter\fP.
348The CPU counter and \fBQueryPerformanceCounter\fP are compared, and if
349they have the same frequency, the CPU counter (RDTSC on x86) is
350used directly, saving the overhead of a system call.
351.It  Fl \-pccfreq  Ns = Ns Ar string 
352Force CPU cycle counter use (Windows only).
353.sp
354Force substitution the CPU counter for \fBQueryPerformanceCounter\fP.
355The CPU counter (RDTSC on x86) is used unconditionally with the
356given frequency (in Hz).
357.It  Fl m , Fl \-mdns 
358Register with mDNS as a NTP server.
359.sp
360Registers as an NTP server with the local mDNS server which allows
361the server to be discovered via mDNS client lookup.
362.It Fl \&? , Fl \-help
363Display usage information and exit.
364.It Fl \&! , Fl \-more\-help
365Pass the extended usage information through a pager.
366.It Fl \-version Op Brq Ar v|c|n
367Output version of program and exit.  The default mode is `v', a simple
368version.  The `c' mode will print copyright information and `n' will
369print the full copyright notice.
370.El
371.Sh "OPTION PRESETS"
372Any option that is not marked as \fInot presettable\fP may be preset
373by loading values from environment variables named:
374.nf
375  \fBNTPD_<option\-name>\fP or \fBNTPD\fP
376.fi
377.ad
378cvt_prog='/usr/local/gnu/share/autogen/texi2mdoc'
379cvt_prog=`cd \`dirname "$cvt_prog"\` >/dev/null && pwd
380         `/`basename "$cvt_prog"`
381cd $tmp_dir
382test \-x "$cvt_prog" || die "'$cvt_prog' is not executable"
383{
384    list='synopsis description options option\-presets'
385    for f in $list ; do cat $f ; echo ; done
386    rm \-f $list name
387    list='implementation\-notes environment files examples exit\-status errors
388        compatibility see\-also conforming\-to history authors copyright bugs
389        notes'
390    for f in $list ; do cat $f ; echo ; done > .end\-doc
391    rm \-f $list
392    list=`ls \-1 *`' .end\-doc'
393    for f in $list ; do cat $f ; echo ; done
394    rm \-f $list
395} 1>.doc 2>/dev/null
396sed \-f .cmds .doc | /usr/local/gnu/bin/grep \-E \-v '^[ 	]*$' | $cvt_prog
397.Sh USAGE
398.Ss "How NTP Operates"
399The
400.Nm
401utility operates by exchanging messages with
402one or more configured servers over a range of designated poll intervals.
403When
404started, whether for the first or subsequent times, the program
405requires several exchanges from the majority of these servers so
406the signal processing and mitigation algorithms can accumulate and
407groom the data and set the clock.
408In order to protect the network
409from bursts, the initial poll interval for each server is delayed
410an interval randomized over a few seconds.
411At the default initial poll
412interval of 64s, several minutes can elapse before the clock is
413set.
414This initial delay to set the clock
415can be safely and dramatically reduced using the
416.Cm iburst
417keyword with the
418.Ic server
419configuration
420command, as described in
421.Xr ntp.conf 5 .
422.Pp
423Most operating systems and hardware of today incorporate a
424time\-of\-year (TOY) chip to maintain the time during periods when
425the power is off.
426When the machine is booted, the chip is used to
427initialize the operating system time.
428After the machine has
429synchronized to a NTP server, the operating system corrects the
430chip from time to time.
431In the default case, if
432.Nm
433detects that the time on the host
434is more than 1000s from the server time,
435.Nm
436assumes something must be terribly wrong and the only
437reliable action is for the operator to intervene and set the clock
438by hand.
439(Reasons for this include there is no TOY chip,
440or its battery is dead, or that the TOY chip is just of poor quality.)
441This causes
442.Nm
443to exit with a panic message to
444the system log.
445The
446.Fl g
447option overrides this check and the
448clock will be set to the server time regardless of the chip time
449(up to 68 years in the past or future \(em
450this is a limitation of the NTPv4 protocol).
451However, and to protect against broken hardware, such as when the
452CMOS battery fails or the clock counter becomes defective, once the
453clock has been set an error greater than 1000s will cause
454.Nm
455to exit anyway.
456.Pp
457Under ordinary conditions,
458.Nm
459adjusts the clock in
460small steps so that the timescale is effectively continuous and
461without discontinuities.
462Under conditions of extreme network
463congestion, the roundtrip delay jitter can exceed three seconds and
464the synchronization distance, which is equal to one\-half the
465roundtrip delay plus error budget terms, can become very large.
466The
467.Nm
468algorithms discard sample offsets exceeding 128 ms,
469unless the interval during which no sample offset is less than 128
470ms exceeds 900s.
471The first sample after that, no matter what the
472offset, steps the clock to the indicated time.
473In practice this
474reduces the false alarm rate where the clock is stepped in error to
475a vanishingly low incidence.
476.Pp
477As the result of this behavior, once the clock has been set it
478very rarely strays more than 128 ms even under extreme cases of
479network path congestion and jitter.
480Sometimes, in particular when
481.Nm
482is first started without a valid drift file
483on a system with a large intrinsic drift
484the error might grow to exceed 128 ms,
485which would cause the clock to be set backwards
486if the local clock time is more than 128 s
487in the future relative to the server.
488In some applications, this behavior may be unacceptable.
489There are several solutions, however.
490If the
491.Fl x
492option is included on the command line, the clock will
493never be stepped and only slew corrections will be used.
494But this choice comes with a cost that
495should be carefully explored before deciding to use
496the
497.Fl x
498option.
499The maximum slew rate possible is limited
500to 500 parts\-per\-million (PPM) as a consequence of the correctness
501principles on which the NTP protocol and algorithm design are
502based.
503As a result, the local clock can take a long time to
504converge to an acceptable offset, about 2,000 s for each second the
505clock is outside the acceptable range.
506During this interval the
507local clock will not be consistent with any other network clock and
508the system cannot be used for distributed applications that require
509correctly synchronized network time.
510.Pp
511In spite of the above precautions, sometimes when large
512frequency errors are present the resulting time offsets stray
513outside the 128\-ms range and an eventual step or slew time
514correction is required.
515If following such a correction the
516frequency error is so large that the first sample is outside the
517acceptable range,
518.Nm
519enters the same state as when the
520.Pa ntp.drift
521file is not present.
522The intent of this behavior
523is to quickly correct the frequency and restore operation to the
524normal tracking mode.
525In the most extreme cases
526(the host
527.Cm time.ien.it
528comes to mind), there may be occasional
529step/slew corrections and subsequent frequency corrections.
530It
531helps in these cases to use the
532.Cm burst
533keyword when
534configuring the server, but
535ONLY
536when you have permission to do so from the owner of the target host.
537.Pp
538Finally,
539in the past many startup scripts would run
540.Xr ntpdate @NTPDATE_MS@
541to get the system clock close to correct before starting
542.Xr ntpd @NTPD_MS@ ,
543but this was never more than a mediocre hack and is no longer needed.
544.Pp
545There is a way to start
546.Xr ntpd @NTPD_MS@
547that often addresses all of the problems mentioned above.
548.Ss "Starting NTP (Best Current Practice)"
549First, use the
550.Cm iburst
551option on your
552.Cm server
553entries.
554.Pp
555If you can also keep a good
556.Pa ntp.drift
557file then
558.Xr ntpd @NTPD_MS@
559will effectively "warm\-start" and your system's clock will
560be stable in under 11 seconds' time.
561.Pp
562As soon as possible in the startup sequence, start
563.Xr ntpd @NTPD_MS@
564with at least the
565.Fl g
566and perhaps the
567.Fl N
568options.
569Then,
570start the rest of your "normal" processes.
571This will give
572.Xr ntpd @NTPD_MS@
573as much time as possible to get the system's clock synchronized and stable.
574.Pp
575Finally,
576if you have processes like
577.Cm dovecot
578or database servers
579that require
580monotonically\-increasing time,
581run
582.Xr ntp\-wait 1ntp\-waitmdoc
583as late as possible in the boot sequence
584(perhaps with the
585.Fl v
586flag)
587and after
588.Xr ntp\-wait 1ntp\-waitmdoc
589exits successfully
590it is as safe as it will ever be to start any process that require
591stable time.
592.Ss "Frequency Discipline"
593The
594.Nm
595behavior at startup depends on whether the
596frequency file, usually
597.Pa ntp.drift ,
598exists.
599This file
600contains the latest estimate of clock frequency error.
601When the
602.Nm
603is started and the file does not exist, the
604.Nm
605enters a special mode designed to quickly adapt to
606the particular system clock oscillator time and frequency error.
607This takes approximately 15 minutes, after which the time and
608frequency are set to nominal values and the
609.Nm
610enters
611normal mode, where the time and frequency are continuously tracked
612relative to the server.
613After one hour the frequency file is
614created and the current frequency offset written to it.
615When the
616.Nm
617is started and the file does exist, the
618.Nm
619frequency is initialized from the file and enters normal mode
620immediately.
621After that the current frequency offset is written to
622the file at hourly intervals.
623.Ss "Operating Modes"
624The
625.Nm
626utility can operate in any of several modes, including
627symmetric active/passive, client/server broadcast/multicast and
628manycast, as described in the
629.Qq Association Management
630page
631(available as part of the HTML documentation
632provided in
633.Pa /usr/share/doc/ntp ) .
634It normally operates continuously while
635monitoring for small changes in frequency and trimming the clock
636for the ultimate precision.
637However, it can operate in a one\-time
638mode where the time is set from an external server and frequency is
639set from a previously recorded frequency file.
640A
641broadcast/multicast or manycast client can discover remote servers,
642compute server\-client propagation delay correction factors and
643configure itself automatically.
644This makes it possible to deploy a
645fleet of workstations without specifying configuration details
646specific to the local environment.
647.Pp
648By default,
649.Nm
650runs in continuous mode where each of
651possibly several external servers is polled at intervals determined
652by an intricate state machine.
653The state machine measures the
654incidental roundtrip delay jitter and oscillator frequency wander
655and determines the best poll interval using a heuristic algorithm.
656Ordinarily, and in most operating environments, the state machine
657will start with 64s intervals and eventually increase in steps to
6581024s.
659A small amount of random variation is introduced in order to
660avoid bunching at the servers.
661In addition, should a server become
662unreachable for some time, the poll interval is increased in steps
663to 1024s in order to reduce network overhead.
664.Pp
665In some cases it may not be practical for
666.Nm
667to run
668continuously.
669A common workaround has been to run the
670.Xr ntpdate @NTPDATE_MS@
671program from a
672.Xr cron 8
673job at designated
674times.
675However, this program does not have the crafted signal
676processing, error checking and mitigation algorithms of
677.Nm .
678The
679.Fl q
680option is intended for this purpose.
681Setting this option will cause
682.Nm
683to exit just after
684setting the clock for the first time.
685The procedure for initially
686setting the clock is the same as in continuous mode; most
687applications will probably want to specify the
688.Cm iburst
689keyword with the
690.Ic server
691configuration command.
692With this
693keyword a volley of messages are exchanged to groom the data and
694the clock is set in about 10 s.
695If nothing is heard after a
696couple of minutes, the daemon times out and exits.
697After a suitable
698period of mourning, the
699.Xr ntpdate @NTPDATE_MS@
700program may be
701retired.
702.Pp
703When kernel support is available to discipline the clock
704frequency, which is the case for stock Solaris, Tru64, Linux and
705.Fx ,
706a useful feature is available to discipline the clock
707frequency.
708First,
709.Nm
710is run in continuous mode with
711selected servers in order to measure and record the intrinsic clock
712frequency offset in the frequency file.
713It may take some hours for
714the frequency and offset to settle down.
715Then the
716.Nm
717is
718stopped and run in one\-time mode as required.
719At each startup, the
720frequency is read from the file and initializes the kernel
721frequency.
722.Ss "Poll Interval Control"
723This version of NTP includes an intricate state machine to
724reduce the network load while maintaining a quality of
725synchronization consistent with the observed jitter and wander.
726There are a number of ways to tailor the operation in order enhance
727accuracy by reducing the interval or to reduce network overhead by
728increasing it.
729However, the user is advised to carefully consider
730the consequences of changing the poll adjustment range from the
731default minimum of 64 s to the default maximum of 1,024 s.
732The
733default minimum can be changed with the
734.Ic tinker
735.Cm minpoll
736command to a value not less than 16 s.
737This value is used for all
738configured associations, unless overridden by the
739.Cm minpoll
740option on the configuration command.
741Note that most device drivers
742will not operate properly if the poll interval is less than 64 s
743and that the broadcast server and manycast client associations will
744also use the default, unless overridden.
745.Pp
746In some cases involving dial up or toll services, it may be
747useful to increase the minimum interval to a few tens of minutes
748and maximum interval to a day or so.
749Under normal operation
750conditions, once the clock discipline loop has stabilized the
751interval will be increased in steps from the minimum to the
752maximum.
753However, this assumes the intrinsic clock frequency error
754is small enough for the discipline loop correct it.
755The capture
756range of the loop is 500 PPM at an interval of 64s decreasing by a
757factor of two for each doubling of interval.
758At a minimum of 1,024
759s, for example, the capture range is only 31 PPM.
760If the intrinsic
761error is greater than this, the drift file
762.Pa ntp.drift
763will
764have to be specially tailored to reduce the residual error below
765this limit.
766Once this is done, the drift file is automatically
767updated once per hour and is available to initialize the frequency
768on subsequent daemon restarts.
769.Ss "The huff\-n'\-puff Filter"
770In scenarios where a considerable amount of data are to be
771downloaded or uploaded over telephone modems, timekeeping quality
772can be seriously degraded.
773This occurs because the differential
774delays on the two directions of transmission can be quite large.
775In
776many cases the apparent time errors are so large as to exceed the
777step threshold and a step correction can occur during and after the
778data transfer is in progress.
779.Pp
780The huff\-n'\-puff filter is designed to correct the apparent time
781offset in these cases.
782It depends on knowledge of the propagation
783delay when no other traffic is present.
784In common scenarios this
785occurs during other than work hours.
786The filter maintains a shift
787register that remembers the minimum delay over the most recent
788interval measured usually in hours.
789Under conditions of severe
790delay, the filter corrects the apparent offset using the sign of
791the offset and the difference between the apparent delay and
792minimum delay.
793The name of the filter reflects the negative (huff)
794and positive (puff) correction, which depends on the sign of the
795offset.
796.Pp
797The filter is activated by the
798.Ic tinker
799command and
800.Cm huffpuff
801keyword, as described in
802.Xr ntp.conf 5 .
803.Sh "ENVIRONMENT"
804See \fBOPTION PRESETS\fP for configuration environment variables.
805.Sh FILES
806.Bl -tag -width /etc/ntp.drift -compact
807.It Pa /etc/ntp.conf
808the default name of the configuration file
809.It Pa /etc/ntp.drift
810the default name of the drift file
811.It Pa /etc/ntp.keys
812the default name of the key file
813.El
814.Sh "EXIT STATUS"
815One of the following exit values will be returned:
816.Bl -tag
817.It 0 " (EXIT_SUCCESS)"
818Successful program execution.
819.It 1 " (EXIT_FAILURE)"
820The operation failed or the command syntax was not valid.
821.It 70 " (EX_SOFTWARE)"
822libopts had an internal operational error.  Please report
823it to autogen\-users@lists.sourceforge.net.  Thank you.
824.El
825.Sh "SEE ALSO"
826.Xr ntp.conf 5 ,
827.Xr ntpdate @NTPDATE_MS@ ,
828.Xr ntpdc @NTPDC_MS@ ,
829.Xr ntpq @NTPQ_MS@
830.Pp
831In addition to the manual pages provided,
832comprehensive documentation is available on the world wide web
833at
834.Li http://www.ntp.org/ .
835A snapshot of this documentation is available in HTML format in
836.Pa /usr/share/doc/ntp .
837.Rs
838.%A David L. Mills
839.%T Network Time Protocol (Version 1)
840.%O RFC1059
841.Re
842.Rs
843.%A David L. Mills
844.%T Network Time Protocol (Version 2)
845.%O RFC1119
846.Re
847.Rs
848.%A David L. Mills
849.%T Network Time Protocol (Version 3)
850.%O RFC1305
851.Re
852.Rs
853.%A David L. Mills
854.%A J. Martin, Ed.
855.%A J. Burbank
856.%A W. Kasch
857.%T Network Time Protocol Version 4: Protocol and Algorithms Specification
858.%O RFC5905
859.Re
860.Rs
861.%A David L. Mills
862.%A B. Haberman, Ed.
863.%T Network Time Protocol Version 4: Autokey Specification
864.%O RFC5906
865.Re
866.Rs
867.%A H. Gerstung
868.%A C. Elliott
869.%A B. Haberman, Ed.
870.%T Definitions of Managed Objects for Network Time Protocol Version 4: (NTPv4)
871.%O RFC5907
872.Re
873.Rs
874.%A R. Gayraud
875.%A B. Lourdelet
876.%T Network Time Protocol (NTP) Server Option for DHCPv6
877.%O RFC5908
878.Re
879.Sh "AUTHORS"
880The University of Delaware
881.Sh "COPYRIGHT"
882Copyright (C) 1970\-2013 The University of Delaware all rights reserved.
883This program is released under the terms of the NTP license, <http://ntp.org/license>.
884.Sh BUGS
885The
886.Nm
887utility has gotten rather fat.
888While not huge, it has gotten
889larger than might be desirable for an elevated\-priority
890.Nm
891running on a workstation, particularly since many of
892the fancy features which consume the space were designed more with
893a busy primary server, rather than a high stratum workstation in
894mind.
895.Pp
896Please send bug reports to: http://bugs.ntp.org, bugs@ntp.org
897.Sh NOTES
898This document corresponds to version 4.2.7p404 of NTP.
899Portions of this document came from FreeBSD.
900.Pp
901This manual page was \fIAutoGen\fP\-erated from the \fBntpd\fP
902option definitions.
903