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