xref: /freebsd/contrib/ntp/ntpq/ntpq-opts.def (revision 2008043f386721d58158e37e0d7e50df8095942d)
1/* -*- Mode: Text -*- */
2
3autogen definitions options;
4
5#include copyright.def
6#include homerc.def
7#include autogen-version.def
8
9prog-name      = "ntpq";
10prog-title     = "standard NTP query program";
11argument       = '[ host ...]';
12
13flag = {
14    name      = ipv4;
15    flags-cant = ipv6;
16    value     = 4;
17    descrip   = "Force IPv4 name resolution";
18    doc = <<-  _EndOfDoc_
19	Force resolution of following host names on the command line
20	to the IPv4 namespace.
21	_EndOfDoc_;
22};
23
24flag = {
25    name      = ipv6;
26    flags-cant = ipv4;
27    value     = 6;
28    descrip   = "Force IPv6 name resolution";
29    doc = <<-  _EndOfDoc_
30	Force resolution of following host names on the command line
31	to the IPv6 namespace.
32	_EndOfDoc_;
33};
34
35flag = {
36    name      = command;
37    value     = c;
38    arg-type  = string;
39    descrip   = "run a command and exit";
40    max       = NOLIMIT;
41    arg-name  = cmd;
42    call-proc = ntpq_custom_opt_handler;
43    doc = <<-  _EndOfDoc_
44	The following argument is interpreted as an interactive format command
45	and is added to the list of commands to be executed on the specified
46	host(s).
47	_EndOfDoc_;
48};
49
50#include debug-opt.def
51
52flag = {
53    name      = interactive;
54    value     = i;
55    flags-cant = command, peers;
56    descrip   = "Force ntpq to operate in interactive mode";
57    doc = <<-  _EndOfDoc_
58	Force @code{ntpq} to operate in interactive mode.
59	Prompts will be written to the standard output and
60	commands read from the standard input.
61	_EndOfDoc_;
62};
63
64flag = {
65    name      = numeric;
66    value     = n;
67    descrip   = "numeric host addresses";
68    doc = <<-  _EndOfDoc_
69	Output all host addresses in dotted-quad numeric format rather than
70	converting to the canonical host names.
71	_EndOfDoc_;
72};
73
74flag = {
75    name      = old-rv;
76    descrip   = "Always output status line with readvar";
77    doc = <<-  _EndOfDoc_
78	By default, @code{ntpq} now suppresses the @code{associd=...}
79	line that precedes the output of @code{readvar}
80	(alias @code{rv}) when a single variable is requested, such as
81	@code{ntpq -c "rv 0 offset"}.
82	This option causes @code{ntpq} to include both lines of output
83	for a single-variable @code{readvar}.
84	Using an environment variable to
85	preset this option in a script will enable both older and
86	newer @code{ntpq} to behave identically in this regard.
87	_EndOfDoc_;
88};
89
90flag = {
91    name      = peers;
92    value     = p;
93    descrip   = "Print a list of the peers";
94    flags-cant = interactive;
95    call-proc = ntpq_custom_opt_handler;
96    doc = <<-  _EndOfDoc_
97	Print a list of the peers known to the server as well as a summary
98	of their state. This is equivalent to the 'peers' interactive command.
99	_EndOfDoc_;
100};
101
102flag = {
103    name      = refid;
104    value     = r;
105    descrip   = "Set default display type for S2+ refids";
106    arg-type  = keyword;
107    keyword   = hash, ipv4;
108    arg-default = ipv4;
109    doc = <<-  _EndOfDoc_
110	Set the default display format for S2+ refids.
111	_EndOfDoc_;
112};
113
114flag = {
115    name      = unconnected;
116    value     = u;
117    descrip   = "Use unconnected UDP to communicate with ntpd (default on Windows)";
118    doc = <<-  _EndOfDoc_
119	Open an unconnected UDP association to ntpd (the default
120	on Windows).
121	_EndOfDoc_;
122};
123
124flag = {
125    name      = wide;
126    value     = w;
127    descrip   = "Display the full 'remote' value";
128    doc = <<-  _EndOfDoc_
129	Display the full value of the 'remote' value.  If this requires
130	more than 15 characters, display the full value, emit a newline,
131	and continue the data display properly indented on the next line.
132	_EndOfDoc_;
133};
134
135doc-section	= {
136  ds-type	= 'DESCRIPTION';
137  ds-format	= 'mdoc';
138  ds-text	= <<-  _END_PROG_MDOC_DESCRIP
139.Pp
140The
141.Nm
142utility program is used to query NTP servers to monitor NTP operations
143and performance, requesting
144information about current state and/or changes in that state.
145The program may be run either in interactive mode or controlled using
146command line arguments.
147Requests to read and write arbitrary
148variables can be assembled, with raw and pretty-printed output
149options being available.
150The
151.Nm
152utility can also obtain and print a
153list of peers in a common format by sending multiple queries to the
154server.
155.Pp
156If one or more request options is included on the command line
157when
158.Nm
159is executed, each of the requests will be sent
160to the NTP servers running on each of the hosts given as command
161line arguments, or on localhost by default.
162If no request options
163are given,
164.Nm
165will attempt to read commands from the
166standard input and execute these on the NTP server running on the
167first host given on the command line, again defaulting to localhost
168when no other host is specified.
169The
170.Nm
171utility will prompt for
172commands if the standard input is a terminal device.
173.Pp
174.Nm
175uses NTP mode 6 packets to communicate with the
176NTP server, and hence can be used to query any compatible server on
177the network which permits it.
178Note that since NTP is a UDP protocol
179this communication will be somewhat unreliable, especially over
180large distances in terms of network topology.
181The
182.Nm
183utility makes
184one attempt to retransmit requests, and will time requests out if
185the remote host is not heard from within a suitable timeout
186time.
187.Pp
188Note that in contexts where a host name is expected, a
189.Fl 4
190qualifier preceding the host name forces resolution to the IPv4
191namespace, while a
192.Fl 6
193qualifier forces resolution to the IPv6 namespace.
194For examples and usage, see the
195.Dq NTP Debugging Techniques
196page.
197.Pp
198Specifying a
199command line option other than
200.Fl i
201or
202.Fl n
203will
204cause the specified query (queries) to be sent to the indicated
205host(s) immediately.
206Otherwise,
207.Nm
208will attempt to read
209interactive format commands from the standard input.
210
211.Ss "Internal Commands"
212.Pp
213Interactive format commands consist of a keyword followed by zero
214to four arguments.
215Only enough characters of the full keyword to
216uniquely identify the command need be typed.
217.Pp
218A
219number of interactive format commands are executed entirely within
220the
221.Nm
222utility itself and do not result in NTP
223requests being sent to a server.
224These are described following.
225.Bl -tag -width "help [command]" -compact -offset indent
226.It Ic ? Op Ar command
227.It Ic help Op Ar command
228A
229.Ql \&?
230by itself will print a list of all the commands
231known to
232.Nm .
233A
234.Ql \&?
235followed by a command name will print function and usage
236information about the command.
237.It Ic addvars Ar name Ns Oo \&= Ns Ar value Oc Ns Op ,...
238.It Ic rmvars Ar name Ns Op ,...
239.It Ic clearvars
240.It Ic showvars
241The arguments to this command consist of a list of
242items of the form
243.Ar name Ns Op \&= Ns Ar value ,
244where the
245.No \&= Ns Ar value
246is ignored, and can be omitted,
247in requests to the server to read variables.
248The
249.Nm
250utility maintains an internal list in which data to be included in
251messages can be assembled, and displayed or set using the
252.Ic readlist
253and
254.Ic writelist
255commands described below.
256The
257.Ic addvars
258command allows variables and their optional values to be added to
259the list.
260If more than one variable is to be added, the list should
261be comma-separated and not contain white space.
262The
263.Ic rmvars
264command can be used to remove individual variables from the list,
265while the
266.Ic clearvars
267command removes all variables from the
268list.
269The
270.Ic showvars
271command displays the current list of optional variables.
272.It Ic authenticate Op Cm yes Ns | Ns Cm no
273Normally
274.Nm
275does not authenticate requests unless
276they are write requests.
277The command
278.Ic authenticate Cm yes
279causes
280.Nm
281to send authentication with all requests it
282makes.
283Authenticated requests causes some servers to handle
284requests slightly differently.
285The command
286.Ic authenticate
287causes
288.Nm
289to display whether or not
290it is currently authenticating requests.
291.It Ic cooked
292Causes output from query commands to be "cooked", so that
293variables which are recognized by
294.Nm
295will have their
296values reformatted for human consumption.
297Variables which
298.Nm
299could not decode completely are
300marked with a trailing
301.Ql \&? .
302.It Ic debug Op Cm more Ns | Ns Cm less Ns | Ns Cm off
303With no argument, displays the current debug level.
304Otherwise, the debugging level is changed as indicated.
305.It Ic delay Op Ar milliseconds
306Specify a time interval to be added to timestamps included in
307requests which require authentication.
308This is used to enable
309(unreliable) server reconfiguration over long delay network paths
310or between machines whose clocks are unsynchronized.
311Actually the
312server does not now require timestamps in authenticated requests,
313so this command may be obsolete.
314Without any arguments, displays the current delay.
315.It Ic drefid Op Cm hash Ns | Ns Cm ipv4
316Display refids as IPv4 or hash.
317Without any arguments, displays whether refids are shown as IPv4
318addresses or hashes.
319.It Ic exit
320Exit
321.Nm .
322.It Ic host Op Ar name
323Set the host to which future queries will be sent.
324The
325.Ar name
326may be either a host name or a numeric address.
327Without any arguments, displays the current host.
328.It Ic hostnames Op Cm yes Ns | Ns Cm no
329If
330.Cm yes
331is specified, host names are printed in
332information displays.
333If
334.Cm no
335is specified, numeric
336addresses are printed instead.
337The default is
338.Cm yes ,
339unless
340modified using the command line
341.Fl n
342switch.
343Without any arguments, displays whether host names or numeric addresses
344are shown.
345.It Ic keyid Op Ar keyid
346This command allows the specification of a key number to be
347used to authenticate configuration requests.
348This must correspond
349to the
350.Cm controlkey
351key number the server has been configured to use for this
352purpose.
353Without any arguments, displays the current
354.Ar keyid .
355.It Ic keytype Op Ar digest
356Specify the digest algorithm to use for authenticating requests, with default
357.Cm MD5 .
358If
359.Nm
360was built with OpenSSL support, and OpenSSL is installed,
361.Ar digest
362can be any message digest algorithm supported by OpenSSL.
363If no argument is given, the current
364.Ic keytype Ar digest
365algorithm used is displayed.
366.It Ic ntpversion Op Cm 1 Ns | Ns Cm 2 Ns | Ns Cm 3 Ns | Ns Cm 4
367Sets the NTP version number which
368.Nm
369claims in
370packets.
371Defaults to 3, and note that mode 6 control messages (and
372modes, for that matter) didn't exist in NTP version 1.
373There appear
374to be no servers left which demand version 1.
375With no argument, displays the current NTP version that will be used
376when communicating with servers.
377.It Ic passwd
378This command prompts you to type in a password (which will not
379be echoed) which will be used to authenticate configuration
380requests.
381The password must correspond to the key configured for
382use by the NTP server for this purpose if such requests are to be
383successful.
384.It Ic poll Oo Ar n Oc Op Cm verbose
385Poll an NTP server in client mode
386.Ar n
387times.
388Poll not implemented yet.
389.It Ic quit
390Exit
391.Nm .
392.It Ic raw
393Causes all output from query commands is printed as received
394from the remote server.
395The only formating/interpretation done on
396the data is to transform nonascii data into a printable (but barely
397understandable) form.
398.It Ic timeout Op Ar milliseconds
399Specify a timeout period for responses to server queries.
400The
401default is about 5000 milliseconds.
402Without any arguments, displays the current timeout period.
403Note that since
404.Nm
405retries each query once after a timeout, the total waiting time for
406a timeout will be twice the timeout value set.
407.It Ic version
408Display the version of the
409.Nm
410program.
411.El
412
413.Ss "Control Message Commands"
414Association ids are used to identify system, peer and clock variables.
415System variables are assigned an association id of zero and system name
416space, while each association is assigned a nonzero association id and
417peer namespace.
418Most control commands send a single message to the server and expect a
419single response message.
420The exceptions are the
421.Ic peers
422command, which sends a series of messages,
423and the
424.Ic mreadlist
425and
426.Ic mreadvar
427commands, which iterate over a range of associations.
428.Bl -tag -width "something" -compact -offset indent
429.It Ic apeers
430Display a list of peers in the form:
431.Dl [tally]remote refid assid st t when pool reach delay offset jitter
432where the output is just like the
433.Ic peers
434command except that the
435.Cm refid
436is displayed in hex format and the association number is also displayed.
437.It Ic associations
438Display a list of mobilized associations in the form:
439.Dl ind assid status conf reach auth condition last_event cnt
440.Bl -column -offset indent ".Sy Variable" "see the select field of the peer status word"
441.It Sy Variable Ta Sy Description
442.It Cm ind Ta index on this list
443.It Cm assid Ta association id
444.It Cm status Ta peer status word
445.It Cm conf Ta Cm yes : No persistent, Cm no : No ephemeral
446.It Cm reach Ta Cm yes : No reachable, Cm no : No unreachable
447.It Cm auth Ta Cm ok , Cm yes , Cm bad No and Cm none
448.It Cm condition Ta selection status \&(see the Cm select No field of the peer status word\&)
449.It Cm last_event Ta event report \&(see the Cm event No field of the peer status word\&)
450.It Cm cnt Ta event count \&(see the Cm count No field of the peer status word\&)
451.El
452.It Ic authinfo
453Display the authentication statistics counters:
454time since reset, stored keys, free keys, key lookups, keys not found,
455uncached keys, expired keys, encryptions, decryptions.
456.It Ic clocklist Op Ar associd
457.It Ic cl Op Ar associd
458Display all clock variables in the variable list for those associations
459supporting a reference clock.
460.It Ic clockvar Oo Ar associd Oc Oo Ar name Ns Oo \&= Ns Ar value Oc Ns Oc Ns Op ,...
461.It Ic cv Oo Ar associd Oc Oo Ar name Ns Oo \&= Ns Ar value Oc Ns Oc Ns Op ,...
462Display a list of clock variables for those associations supporting a
463reference clock.
464.It Ic :config Ar "configuration command line"
465Send the remainder of the command line, including whitespace, to the
466server as a run-time configuration command in the same format as a line
467in the configuration file.
468This command is experimental until further notice and clarification.
469Authentication is of course required.
470.It Ic config-from-file Ar filename
471Send each line of
472.Ar filename
473to the server as run-time configuration commands in the same format as
474lines in the configuration file.
475This command is experimental until further notice and clarification.
476Authentication is required.
477.It Ic ifstats
478Display status and statistics counters for each local network interface address:
479interface number, interface name and address or broadcast, drop, flag,
480ttl, mc, received, sent, send failed, peers, uptime.
481Authentication is required.
482.It Ic iostats
483Display network and reference clock I/O statistics:
484time since reset, receive buffers, free receive buffers, used receive buffers,
485low water refills, dropped packets, ignored packets, received packets,
486packets sent, packet send failures, input wakeups, useful input wakeups.
487.It Ic kerninfo
488Display kernel loop and PPS statistics:
489associd, status, pll offset, pll frequency, maximum error,
490estimated error, kernel status, pll time constant, precision,
491frequency tolerance, pps frequency, pps stability, pps jitter,
492calibration interval, calibration cycles, jitter exceeded,
493stability exceeded, calibration errors.
494As with other ntpq output, times are in milliseconds; very small values
495may be shown as exponentials.
496The precision value displayed is in milliseconds as well, unlike the
497precision system variable.
498.It Ic lassociations
499Perform the same function as the associations command, except display
500mobilized and unmobilized associations, including all clients.
501.It Ic lopeers Op Fl 4 Ns | Ns Fl 6
502Display a list of all peers and clients showing
503.Cm dstadr
504(associated with the given IP version).
505.It Ic lpassociations
506Display the last obtained list of associations, including all clients.
507.It Ic lpeers Op Fl 4 Ns | Ns Fl 6
508Display a list of all peers and clients (associated with the given IP version).
509.It Ic monstats
510Display monitor facility status, statistics, and limits:
511enabled, addresses, peak addresses, maximum addresses,
512reclaim above count, reclaim older than, kilobytes, maximum kilobytes.
513.It Ic mreadlist Ar associdlo Ar associdhi
514.It Ic mrl Ar associdlo Ar associdhi
515Perform the same function as the
516.Ic readlist
517command for a range of association ids.
518.It Ic mreadvar Ar associdlo Ar associdhi Oo Ar name Oc Ns Op ,...
519This range may be determined from the list displayed by any
520command showing associations.
521.It Ic mrv Ar associdlo Ar associdhi Oo Ar name Oc Ns Op ,...
522Perform the same function as the
523.Ic readvar
524command for a range of association ids.
525This range may be determined from the list displayed by any
526command showing associations.
527.It Xo Ic mrulist Oo Cm limited | Cm kod | Cm mincount Ns \&= Ns Ar count |
528.Cm laddr Ns \&= Ns Ar localaddr | Cm sort Ns \&= Ns Oo \&- Oc Ns Ar sortorder |
529.Cm resany Ns \&= Ns Ar hexmask | Cm resall Ns \&= Ns Ar hexmask Oc
530.Xc
531Display traffic counts of the most recently seen source addresses
532collected and maintained by the monitor facility.
533With the exception of
534.Cm sort Ns \&= Ns Oo \&- Oc Ns Ar sortorder ,
535the options filter the list returned by
536.Xr ntpd 8 .
537The
538.Cm limited
539and
540.Cm kod
541options return only entries representing client addresses from which the
542last packet received triggered either discarding or a KoD response.
543The
544.Cm mincount Ns = Ns Ar count
545option filters entries representing less than
546.Ar count
547packets.
548The
549.Cm laddr Ns = Ns Ar localaddr
550option filters entries for packets received on any local address other than
551.Ar localaddr .
552.Cm resany Ns = Ns Ar hexmask
553and
554.Cm resall Ns = Ns Ar hexmask
555filter entries containing none or less than all, respectively, of the bits in
556.Ar hexmask ,
557which must begin with
558.Cm 0x .
559The
560.Ar sortorder
561defaults to
562.Cm lstint
563and may be
564.Cm addr ,
565.Cm avgint ,
566.Cm count ,
567.Cm lstint ,
568or any of those preceded by
569.Ql \&-
570to reverse the sort order.
571The output columns are:
572.Bl -tag -width "something" -compact -offset indent
573.It Column
574Description
575.It Ic lstint
576Interval in seconds between the receipt of the most recent packet from
577this address and the completion of the retrieval of the MRU list by
578.Nm .
579.It Ic avgint
580Average interval in s between packets from this address.
581.It Ic rstr
582Restriction flags associated with this address.
583Most are copied unchanged from the matching
584.Ic restrict
585command, however 0x400 (kod) and 0x20 (limited) flags are cleared unless
586the last packet from this address triggered a rate control response.
587.It Ic r
588Rate control indicator, either
589a period,
590.Ic L
591or
592.Ic K
593for no rate control response,
594rate limiting by discarding, or rate limiting with a KoD response, respectively.
595.It Ic m
596Packet mode.
597.It Ic v
598Packet version number.
599.It Ic count
600Packets received from this address.
601.It Ic rport
602Source port of last packet from this address.
603.It Ic remote address
604host or DNS name, numeric address, or address followed by
605claimed DNS name which could not be verified in parentheses.
606.El
607.It Ic opeers Op Fl 4 | Fl 6
608Obtain and print the old-style list of all peers and clients showing
609.Cm dstadr
610(associated with the given IP version),
611rather than the
612.Cm refid .
613.It Ic passociations
614Perform the same function as the
615.Ic associations
616command,
617except that it uses previously stored data rather than making a new query.
618.It Ic peers
619Display a list of peers in the form:
620.Dl [tally]remote refid st t when pool reach delay offset jitter
621.Bl -tag -width "something" -compact -offset indent
622.It Variable
623Description
624.It Cm [tally]
625single-character code indicating current value of the
626.Ic select
627field of the
628.Lk decode.html#peer "peer status word"
629.It Cm remote
630host name (or IP number) of peer.
631The value displayed will be truncated to 15 characters unless the
632.Nm
633.Fl w
634option is given, in which case the full value will be displayed
635on the first line, and if too long,
636the remaining data will be displayed on the next line.
637.It Cm refid
638source IP address or
639.Lk decode.html#kiss "'kiss code"
640.It Cm st
641stratum: 0 for local reference clocks, 1 for servers with local
642reference clocks, ..., 16 for unsynchronized server clocks
643.It Cm t
644.Ic u :
645unicast or manycast client,
646.Ic b :
647broadcast or multicast client,
648.Ic p :
649pool source,
650.Ic l :
651local (reference clock),
652.Ic s :
653symmetric (peer),
654.Ic A :
655manycast server,
656.Ic B :
657broadcast server,
658.Ic M :
659multicast server
660.It Cm when
661time in seconds, minutes, hours, or days since the last packet
662was received, or
663.Ql \&-
664if a packet has never been received
665.It Cm poll
666poll interval (s)
667.It Cm reach
668reach shift register (octal)
669.It Cm delay
670roundtrip delay
671.It Cm offset
672offset of server relative to this host
673.It Cm jitter
674offset RMS error estimate.
675.El
676.It Ic pstats Ar associd
677Display the statistics for the peer with the given
678.Ar associd :
679associd, status, remote host, local address, time last received,
680time until next send, reachability change, packets sent,
681packets received, bad authentication, bogus origin, duplicate,
682bad dispersion, bad reference time, candidate order.
683.It Ic readlist Op Ar associd
684.It Ic rl Op Ar associd
685Display all system or peer variables.
686If the
687.Ar associd
688is omitted, it is assumed to be zero.
689.It Ic readvar Op Ar associd Ar name Ns Oo Ns = Ns Ar value Oc Op , ...
690.It Ic rv Op Ar associd Ar name Ns Oo Ns = Ns Ar value Oc Op , ...
691Display the specified system or peer variables.
692If
693.Ar associd
694is zero, the variables are from the
695.Sx System Variables
696name space, otherwise they are from the
697.Sx Peer Variables
698name space.
699The
700.Ar associd
701is required, as the same name can occur in both spaces.
702If no
703.Ar name
704is included, all operative variables in the name space are displayed.
705In this case only, if the
706.Ar associd
707is omitted, it is assumed to be zero.
708Multiple names are specified with comma separators and without whitespace.
709Note that time values are represented in milliseconds
710and frequency values in parts-per-million (PPM).
711Some NTP timestamps are represented in the format
712.Ar YYYY Ns Ar MM Ar DD Ar TTTT ,
713where
714.Ar YYYY
715is the year,
716.Ar MM
717the month of year,
718.Ar DD
719the day of month and
720.Ar TTTT
721the time of day.
722.It Ic reslist
723Display the access control (restrict) list for
724.Nm .
725Authentication is required.
726.It Ic saveconfig Ar filename
727Save the current configuration,
728including any runtime modifications made by
729.Ic :config
730or
731.Ic config-from-file ,
732to the NTP server host file
733.Ar filename .
734This command will be rejected by the server unless
735.Lk miscopt.html#saveconfigdir "saveconfigdir"
736appears in the
737.Xr ntpd 8
738configuration file.
739.Ar filename
740can use
741.Xr date 1
742format specifiers to substitute the current date and time, for
743example,
744.D1 Ic saveconfig Pa ntp-%Y%m%d-%H%M%S.conf .
745The filename used is stored in system variable
746.Cm savedconfig .
747Authentication is required.
748.It Ic sysinfo
749Display system operational summary:
750associd, status, system peer, system peer mode, leap indicator,
751stratum, log2 precision, root delay, root dispersion,
752reference id, reference time, system jitter, clock jitter,
753clock wander, broadcast delay, symm. auth. delay.
754.It Ic sysstats
755Display system uptime and packet counts maintained in the
756protocol module:
757uptime, sysstats reset, packets received, current version,
758older version, bad length or format, authentication failed,
759declined, restricted, rate limited, KoD responses,
760processed for time.
761.It Ic timerstats
762Display interval timer counters:
763time since reset, timer overruns, calls to transmit.
764.It Ic writelist Ar associd
765Set all system or peer variables included in the variable list.
766.It Ic writevar Ar associd Ar name Ns = Ns Ar value Op , ...
767Set the specified variables in the variable list.
768If the
769.Ar associd
770is zero, the variables are from the
771.Sx System Variables
772name space, otherwise they are from the
773.Sx Peer Variables
774name space.
775The
776.Ar associd
777is required, as the same name can occur in both spaces.
778Authentication is required.
779.El
780
781.Ss Status Words and Kiss Codes
782The current state of the operating program is shown
783in a set of status words
784maintained by the system.
785Status information is also available on a per-association basis.
786These words are displayed by the
787.Ic readlist
788and
789.Ic associations
790commands both in hexadecimal and in decoded short tip strings.
791The codes, tips and short explanations are documented on the
792.Lk decode.html "Event Messages and Status Words"
793page.
794The page also includes a list of system and peer messages,
795the code for the latest of which is included in the status word.
796.Pp
797Information resulting from protocol machine state transitions
798is displayed using an informal set of ASCII strings called
799.Lk decode.html#kiss "kiss codes" .
800The original purpose was for kiss-o'-death (KoD) packets
801sent by the server to advise the client of an unusual condition.
802They are now displayed, when appropriate,
803in the reference identifier field in various billboards.
804
805.Ss System Variables
806The following system variables appear in the
807.Ic readlist
808billboard.
809Not all variables are displayed in some configurations.
810.Pp
811.Bl -tag -width "something" -compact -offset indent
812.It Variable
813Description
814.It Cm status
815.Lk decode.html#sys "system status word"
816.It Cm version
817NTP software version and build time
818.It Cm processor
819hardware platform and version
820.It Cm system
821operating system and version
822.It Cm leap
823leap warning indicator (0-3)
824.It Cm stratum
825stratum (1-15)
826.It Cm precision
827precision (log2 s)
828.It Cm rootdelay
829total roundtrip delay to the primary reference clock
830.It Cm rootdisp
831total dispersion to the primary reference clock
832.It Cm refid
833reference id or
834.Lk decode.html#kiss "kiss code"
835.It Cm reftime
836reference time
837.It Ic clock
838date and time of day
839.It Cm peer
840system peer association id
841.It Cm tc
842time constant and poll exponent (log2 s) (3-17)
843.It Cm mintc
844minimum time constant (log2 s) (3-10)
845.It Cm offset
846combined offset of server relative to this host
847.It Cm frequency
848frequency drift (PPM) relative to hardware clock
849.It Cm sys_jitter
850combined system jitter
851.It Cm clk_wander
852clock frequency wander (PPM)
853.It Cm clk_jitter
854clock jitter
855.It Cm tai
856TAI-UTC offset (s)
857.It Cm leapsec
858NTP seconds when the next leap second is/was inserted
859.It Cm expire
860NTP seconds when the NIST leapseconds file expires
861.El
862The jitter and wander statistics are exponentially-weighted RMS averages.
863The system jitter is defined in the NTPv4 specification;
864the clock jitter statistic is computed by the clock discipline module.
865.Pp
866When the NTPv4 daemon is compiled with the OpenSSL software library,
867additional system variables are displayed,
868including some or all of the following,
869depending on the particular Autokey dance:
870.Bl -tag -width "something" -compact -offset indent
871.It Variable
872Description
873.It Cm host
874Autokey host name for this host
875.It Cm ident
876Autokey group name for this host
877.It Cm flags
878host flags  (see Autokey specification)
879.It Cm digest
880OpenSSL message digest algorithm
881.It Cm signature
882OpenSSL digest/signature scheme
883.It Cm update
884NTP seconds at last signature update
885.It Cm cert
886certificate subject, issuer and certificate flags
887.It Cm until
888NTP seconds when the certificate expires
889.El
890.Ss Peer Variables
891The following peer variables appear in the
892.Ic readlist
893billboard for each association.
894Not all variables are displayed in some configurations.
895.Pp
896.Bl -tag -width "something" -compact -offset indent
897.It Variable
898Description
899.It Cm associd
900association id
901.It Cm status
902.Lk decode.html#peer "peer status word"
903.It Cm srcadr
904source (remote) IP address
905.It Cm srcport
906source (remote) port
907.It Cm dstadr
908destination (local) IP address
909.It Cm dstport
910destination (local) port
911.It Cm leap
912leap indicator (0-3)
913.It Cm stratum
914stratum (0-15)
915.It Cm precision
916precision (log2 s)
917.It Cm rootdelay
918total roundtrip delay to the primary reference clock
919.It Cm rootdisp
920total root dispersion to the primary reference clock
921.It Cm refid
922reference id or
923.Lk decode.html#kiss "kiss code"
924.It Cm reftime
925reference time
926.It Cm rec
927last packet received time
928.It Cm reach
929reach register (octal)
930.It Cm unreach
931unreach counter
932.It Cm hmode
933host mode (1-6)
934.It Cm pmode
935peer mode (1-5)
936.It Cm hpoll
937host poll exponent (log2 s) (3-17)
938.It Cm ppoll
939peer poll exponent (log2 s) (3-17)
940.It Cm headway
941headway (see
942.Lk rate.html "Rate Management and the Kiss-o'-Death Packet" )
943.It Cm flash
944.Lk decode.html#flash "flash status word"
945.It Cm keyid
946symmetric key id
947.It Cm offset
948filter offset
949.It Cm delay
950filter delay
951.It Cm dispersion
952filter dispersion
953.It Cm jitter
954filter jitter
955.It Cm bias
956unicast/broadcast bias
957.It Cm xleave
958interleave delay (see
959.Lk xleave.html "NTP Interleaved Modes" )
960.El
961The
962.Cm bias
963variable is calculated when the first broadcast packet is received
964after the calibration volley.
965It represents the offset of the broadcast subgraph relative to the
966unicast subgraph.
967The
968.Cm xleave
969variable appears only for the interleaved symmetric and interleaved modes.
970It represents the internal queuing, buffering and transmission delays
971for the preceding packet.
972.Pp
973When the NTPv4 daemon is compiled with the OpenSSL software library,
974additional peer variables are displayed, including the following:
975.Bl -tag -width "something" -compact -offset indent
976.It Variable
977Description
978.It Cm flags
979peer flags (see Autokey specification)
980.It Cm host
981Autokey server name
982.It Cm flags
983peer flags (see Autokey specification)
984.It Cm signature
985OpenSSL digest/signature scheme
986.It Cm initsequence
987initial key id
988.It Cm initkey
989initial key index
990.It Cm timestamp
991Autokey signature timestamp
992.It Cm ident
993Autokey group name for this association
994.El
995
996.Ss Clock Variables
997The following clock variables appear in the
998.Ic clocklist
999billboard for each association with a reference clock.
1000Not all variables are displayed in some configurations.
1001.Bl -tag -width "something" -compact -offset indent
1002.It Variable
1003Description
1004.It Cm associd
1005association id
1006.It Cm status
1007.Lk decode.html#clock "clock status word"
1008.It Cm device
1009device description
1010.It Cm timecode
1011ASCII time code string (specific to device)
1012.It Cm poll
1013poll messages sent
1014.It Cm noreply
1015no reply
1016.It Cm badformat
1017bad format
1018.It Cm baddata
1019bad date or time
1020.It Cm fudgetime1
1021fudge time 1
1022.It Cm fudgetime2
1023fudge time 2
1024.It Cm stratum
1025driver stratum
1026.It Cm refid
1027driver reference id
1028.It Cm flags
1029driver flags
1030.El
1031	_END_PROG_MDOC_DESCRIP;
1032};
1033