Event Messages and Status Words

Last update: November 23, 2022 17:49 UTC (1b4d24aef)

gif

from Alice’s Adventures in Wonderland, Lewis Carroll

Caterpillar knows all the error codes, which is more than most of us do.


Table of Contents


Introduction

This page lists the status words, event messages, and error codes used for ntpd reporting and monitoring. Status words are used to display the current status of the running program. There is one system status word and a peer status word for each association. There is a clock status word for each association that supports a reference clock. There is a flash code for each association which shows errors found in the last packet received (pkt) and during protocol processing (peer). These are commonly viewed using the ntpq program.

Significant changes in program state are reported as events. There is one set of system events and a set of peer events for each association. In addition, there is a set of clock events for each association that supports a reference clock. Events are normally reported to the protostats monitoring file and optionally to the system log. In addition, if the trap facility is configured, events can be reported to a remote program that can page an administrator.

This page also includes a description of the error messages produced by the Autokey protocol. These messages are normally sent to the cryptostats monitoring file.

In the following tables the Code is the status or event code assigned and the Message is a short string used for display and event reporting. The Description contains a longer explanation of the status or event. Some messages include additional information useful for error diagnosis and performance assessment.


System Status Word

The system status word consists of four fields LI (0-1), Source (2-7), Count (8-11) and Event (12-15). It is reported in the first line of the rv display produced by the ntpq program.

The Leap Field displays the system leap indicator bits coded as follows:

Code Message Description
0 leap_none normal synchronized state
1 leap_add_sec insert second after 23:59:59 of the current day
2 leap_del_sec delete second 23:59:59 of the current day
3 leap_alarm never synchronized

The Source Field displays the current synchronization source coded as follows:

Code Message Description
0 sync_unspec not yet synchronized
1 sync_pps pulse-per-second signal (Cs, Ru, GPS, etc.)
2 sync_lf_radio VLF/LF radio (WWVB, DCF77, etc.)
3 sync_hf_radio MF/HF radio (WWV, etc.)
4 sync_uhf_radio VHF/UHF radio/satellite (GPS, Galileo, etc.)
5 sync_local local timecode (IRIG, LOCAL driver, etc.)
6 sync_ntp NTP
7 sync_other other (IEEE 1588, openntp, crony, etc.)
8 sync_wristwatch eyeball and wristwatch
9 sync_telephone telephone modem (ACTS, PTB, etc.)

The Count Field displays the number of events since the last time the code changed. Upon reaching 15, subsequent events with the same code are ignored.

The Event Field displays the most recent event message coded as follows:

Code Message Description
00 unspecified unspecified
01 freq_not_set frequency file not available
02 freq_set frequency set from frequency file
03 spike_detect spike detected
04 freq_mode initial frequency training mode
05 clock_sync clock synchronized
06 restart program restart
07 panic_stop clock error more than 600 s
08 no_system_peer no system peer
09 leap_armed leap second armed from file or Autokey
0a leap_disarmed leap second disarmed
0b leap_event leap event
0c clock_step clock stepped
0d kern kernel information message
0e TAI… leapsecond values update from file
0f stale leapsecond values new NIST leapseconds file needed

Peer Status Word

The peer status word consists of four fields: Status (0-4), Select (5-7), Count (8-11) and Code (12-15). It is reported in the first line of the rv associd display produced by the ntpq program.

The Status Field displays the peer status code bits in hexadecimal; each bit is an independent flag. Note this field is 5 bits wide, and combines with the 3-bit-wide Select Field to create the first full byte of the peer status word. The meaning of each bit in the Status Field is listed in the following table:

Code Message Description
08 bcst broadcast association
10 reach host reachable
20 auth authentication ok
40 authenb authentication enabled
80 config persistent association

The Select Field displays the current selection status. The T Field gives the corresponding tally codes used in the ntpq peers display. The values are coded as follows:

Code Message T Description
0 sel_reject discarded as not valid (TEST10-TEST13)
1 sel_falsetick x discarded by intersection algorithm
2 sel_excess . discarded by table overflow (not used)
3 sel_outlier - discarded by the cluster algorithm
4 sel_candidate + included by the combine algorithm
5 sel_backup # backup (more than tos maxclock sources)
6 sel_sys.peer * system peer
7 sel_pps.peer o PPS peer (when the prefer peer is valid)

The Count Field displays the number of events since the last time the code changed. Upon reaching 15, subsequent events with the same code are ignored.

The Event Field displays the most recent event message coded as follows:

Code Message Description
01 mobilize association mobilized
02 demobilize association demobilized
03 unreachable server unreachable
04 reachable server reachable
05 restart association restart
06 no_reply no server found (ntpdate mode)
07 rate_exceeded rate exceeded (kiss code RATE)
08 access_denied access denied (kiss code DENY)
09 leap_armed leap armed from server LI code
0a sys_peer become system peer
0b clock_event see clock status word
0c bad_auth authentication failure
0d popcorn popcorn spike suppressor
0e interleave_mode entering interleave mode
0f interleave_error interleave error (recovered)

Clock Status Word

The clock status word consists of four fields: Unused (0-7), Count (8-11) and Code (12-15). It is reported in the first line of the clockvar associd display produced by the ntpq program.

The Count Field displays the number of events since the last lockvar command, while the Event Field displays the most recent event message coded as follows:

Code Message Description
00 clk_unspe nominal
01 clk_noreply no reply to poll
02 clk_badformat bad timecode format
03 clk_fault hardware or software fault
04 clk_bad_signal signal loss
05 clk_bad_date bad date format
06 clk_bad_time bad time format

When the clock driver sets the code to a new value, a clock_alarm (11) peer event is reported.


Flash Status Word

The flash status word is displayed by the ntpq program rv command. It consists of a number of bits coded in hexadecimal as follows:

Code Tag Message Description
0001 TEST1 pkt_dup duplicate packet
0002 TEST2 pkt_bogus bogus packet
0004 TEST3 pkt_unsync server not synchronized
0008 TEST4 pkt_denied access denied
0010 TEST5 pkt_auth authentication failure
0020 TEST6 pkt_stratum invalid leap or stratum
0040 TEST7 pkt_header header distance exceeded
0080 TEST8 pkt_autokey Autokey sequence error
0100 TEST9 pkt_crypto Autokey protocol error
0200 TEST10 peer_stratum invalid header or stratum
0400 TEST11 peer_dist distance threshold exceeded
0800 TEST12 peer_loop synchronization loop
1000 TEST13 peer_unreach unreachable or nonselect

Kiss Codes

Kiss codes are used in kiss-o'-death (KoD) packets, billboard displays and log messages. They consist of a string of four zero-padded ASCII charactes. In practice they are informal and tend to change with time and implementation. Some of these codes can appear in the reference identifier field in ntpq billboards. Following is the current list:

Code Description
ACST manycast server
AUTH authentication error
AUTO Autokey sequence error
BCST broadcast server
CRYPT Autokey protocol error
DENY access denied by server
INIT association initialized
MCST multicast server
RATE rate exceeded
TIME association timeout
STEP step time change

Crypto Messages

These messages are sent to the cryptostats file when an error is detected in the Autokey protocol.

Code Message Description
01 bad_format bad extension field format or length
02 bad_timestamp bad timestamp
03 bad_filestamp bad filestamp
04 bad_public_key bad or missing public key
05 bad_digest unsupported digest type
06 bad_identity unsupported identity type
07 bad_siglength bad signature length
08 bad signature extension field signature not verified
09 cert_not_verified certificate signature not verified
0a cert_expired host certificate expired
0b bad_cookie bad or missing cookie
0c bad_leapseconds bad or missing leapseconds values
0d cert_missing bad or missing certificate
0e bad_group_key bad or missing group key
0f proto_error protocol error