ntpd.8 revision 330106
1.Dd February 27 2018 2.Dt NTPD 8 User Commands 3.Os 4.\" EDIT THIS FILE WITH CAUTION (ntpd-opts.mdoc) 5.\" 6.\" $FreeBSD: stable/11/usr.sbin/ntp/doc/ntpd.8 330106 2018-02-28 09:01:03Z delphij $ 7.\" 8.\" It has been AutoGen-ed February 27, 2018 at 05:14:47 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\-2017 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