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