### Miscellaneous Options

from Pogo, Walt Kelly

We have three, now looking for more.

`broadcastdelay seconds`
  The broadcast and multicast modes require a special calibration to determine the network delay between the local and remote servers. Ordinarily, this is done automatically by the initial protocol exchanges between the client and server. In some cases, the calibration procedure may fail due to network or server access controls, for example. This command specifies the default delay to be used under these circumstances. Typically (for Ethernet), a number between 0.003 and 0.007 seconds is appropriate. The default when this command is not used is 0.004 seconds.
`driftfile driftfile`
  This command specifies the name of the file used to record the frequency offset of the local clock oscillator. If the file exists, it is read at startup in order to set the initial frequency offset and then updated once per hour with the current frequency offset computed by the daemon. If the file does not exist or this command is not given, the initial frequency offset is assumed zero. In this case, it may take some hours for the frequency to stabilize and the residual timing errors to subside.

  The file format consists of a single line containing a single floating point number, which records the frequency offset measured in parts-per-million (PPM). The file is updated by first writing the current drift value into a temporary file and then renaming this file to replace the old version. This implies that `ntpd` must have write permission for the directory the drift file is located in, and that file system links, symbolic or otherwise, should be avoided.

`enable [auth | bclient | calibrate | kernel | monitor | ntp | stats]`
`disable [auth | bclient | calibrate | kernel | monitor | ntp | stats`
  Provides a way to enable or disable various server options. Flags not mentioned are unaffected. Note that all of these flags can be controlled remotely using the `ntpdc` utility program.
  `bclient`
    When enabled, this is identical to the `broadcastclient` command. The default for this flag is `disable`.
  `calibrate`
    Enables the calibration facility, which automatically adjusts the `time1` values for each clock driver to display the same offset as the currently selected source or kernel discipline signal. See the Reference Clock Drivers for further information. The default for this flag is `disable`.
  `kernel`
    Enables the precision-time kernel support for the `ntp_adjtime()` system call, if implemented. Ordinarily, support for this routine is detected automatically when the NTP daemon is compiled, so it is not necessary for the user to worry about this flag. It flag is provided primarily so that this support can be disabled during kernel development. The default for this flag is `enable`.
  `monitor`
    Enables the monitoring facility. See the `ntpdc` program and the `monlist` command or further information. The default for this flag is `enable`.
  `ntp`
    Enables the server to adjust its local clock by means of NTP. If disabled, the local clock free-runs at its intrinsic time and frequency offset. This flag is useful in case the local clock is controlled by some other device or protocol and NTP is used only to provide synchronization to other clients. In this case, the local clock driver can be used to provide this function and also certain time variables for error estimates and leap-indicators. See the Reference Clock Drivers page for further information. The default for this flag is `enable`.
  `pps`
    Enables the precision-time kernel support for the pulse-per-second (PPS) signal generated by some radio clocks and laboratory equipment. See the Pulse-per-second (PPS) Signal Interfacing Monitoring Options . The default for this flag is `enable`.
  `stats`
    Enables the statistics facility. See the Monitoring Options page for further information. The default for this flag is `enable`.
`logconfig configkeyword`
  This command controls the amount and type of output written to the system `syslog` facility or the alternate `logfile` log file. By default, all output is turned on. All `configkeyword` keywords can be prefixed with `=`, `+` and `-`, where `=` sets the `syslogmask`, `+` adds and `-` removes messages. `syslog messages` can be controlled in four classes (`clock`, `peer`, `sys` and `sync`). Within these classes four types of messages can be controlled.
  Informational messages (`info`) control configuration information. Event messages (`events`) control logging of events (reachability, synchronization, alarm conditions). Statistical output is controlled with the `statistics` keyword. The final message group is the status messages. This describes mainly the synchronizations status. Configuration keywords are formed by concatenating the message class with the event class. The `all` prefix can be used instead of a message class. A message class may also be followed by the `all` keyword to enable/disable all messages of the respective message class.
  Thus, a minimal log configuration could look like this:

  `logconfig=syncstatus +sysevents`

  This would just list the synchronizations state of `ntpd` and the major system events. For a simple reference server, the following minimum message configuration could be useful:

  `logconfig=syncall +clockall`

  This configuration will list all clock information and synchronization information. All other events and messages about peers, system events and so on is suppressed.

`logfile logfile`
  This command specifies the location of an alternate log file to be used instead of the default system `syslog` facility.
`setvar variable [default]`
  This command adds an additional system variable. These variables can be used to distribute additional information such as the access policy. If the variable of the form `name = value` is followed by the `default` keyword, the variable will be listed as part of the default system variables (`ntpq rv` command). These additional variables serve informational purposes only. They are not related to the protocol other that they can be listed. The known protocol variables will always override any variables defined via the `setvar` mechanism. There are three special variables that contain the names of all variable of the same group. The `sys_var_list` holds the names of all system variables. The `peer_var_list` holds the names of all peer variables and the `clock_var_list` holds the names of the reference clock variables.
`tinker [ step step | panic panic | dispersion dispersion | stepout stepout ]`
  This command can be used to alter several system variables in very exceptional circumstances. The default values of these variables have been carefully optimized for a wide range of network speeds and reliability expectations. In general, they interact in intricate ways that are hard to predict and some combinations can result in some very nasty behavior. Very rarely is it necessary to change the default values; but, some folks can't resist twisting the knobs anyway and this command is for them. Emphasis added: twisters are on their own and can expect no help from the support group.

  All arguments are in floating point seconds or seconds per second. The variables operate as follows:

  `step step`
    The argument becomes the new value for the step-adjustment threshold, normally 0.128 s.
  `panic panic`
    The argument becomes the new value for the panic-stop threshold, normally 1000 s.
  `dispersion dispersion`
    The argument becomes the new value for the dispersion increase rate, normally .000015.
  `stepout stepout`
    The argument becomes the new value for the watchdog timeout, normally 900 s.
`trap host_address [port port_number] [interface interface_address]`
  This command configures a trap receiver at the given host address and port number for sending messages with the specified local interface address. If the port number is unspecified, a value of 18447 is used. If the interface address is not specified, the message is sent with a source address of the local interface the message is sent through. Note that on a multihomed host the interface used may vary from time to time with routing changes.

  The trap receiver will generally log event messages and other information from the server in a log file. While such monitor programs may also request their own trap dynamically, configuring a trap receiver will ensure that no messages are lost when the server is started.

#### Files

`ntp.drift` frequency compensation (PPM)