-- ***************************************************************** -- CISCO-NTP-MIB.my: NTP MIB -- -- February 2000, Vinod B C -- -- Copyright (c) 2000, 2002-2003, 2006 by cisco Systems, Inc. -- All rights reserved. -- -- ***************************************************************** CISCO-NTP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, IpAddress, Gauge32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue, RowStatus FROM SNMPv2-TC InetAddress, InetAddressType FROM INET-ADDRESS-MIB ciscoMgmt FROM CISCO-SMI; ciscoNtpMIB MODULE-IDENTITY LAST-UPDATED "200607310000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W. Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-snmp@cisco.com" DESCRIPTION "This MIB module defines a MIB which provides mechanisms to monitor an NTP server. The MIB is derived from the Technical Report #Management of the NTP with SNMP# TR No. 98-09 authored by A.S. Sethi and Dave Mills in the University of Delaware. Below is a brief overview of NTP system architecture and implementation model. This will help understand the objects defined below and their relationships. NTP Intro: The Network Time Protocol (NTP) Version 3, is used to synchronize timekeeping among a set of distributed time servers and clients. The service model is based on a returnable-time design which depends only on measured clock offsets, but does not require reliable message delivery. The synchronization subnet uses a self-organizing, hierarchical master-slave configuration, with synchronization paths determined by a minimum-weight spanning tree. While multiple masters (primary servers) may exist, there is no requirement for an election protocol. System Archiecture: In the NTP model a number of primary reference sources, synchronized by wire or radio to national standards, are connected to widely accessible resources, such as backbone gateways, and operated as primary time servers. The purpose of NTP is to convey timekeeping information from these servers to other time servers via the Internet and also to cross-check clocks and mitigate errors due to equipment or propagation failures. Some number of local-net hosts or gateways, acting as secondary time servers, run NTP with one or more of the primary servers. In order to reduce the protocol overhead, the secondary servers distribute time via NTP to the remaining local-net hosts. In the interest of reliability, selected hosts can be equipped with less accurate but less expensive radio clocks and used for backup in case of failure of the primary and/or secondary servers or communication paths between them. NTP is designed to produce three products: clock offset, round-trip delay and dispersion, all of which are relative to a selected reference clock. Clock offset represents the amount to adjust the local clock to bring it into correspondence with the reference clock. Roundtrip delay provides the capability to launch a message to arrive at the reference clock at a specified time. Dispersion represents the maximum error of the local clock relative to the reference clock. Since most host time servers will synchronize via another peer time server, there are two components in each of these three products, those determined by the peer relative to the primary reference source of standard time and those measured by the host relative to the peer. Each of these components are maintained separately in the protocol in order to facilitate error control and management of the subnet itself. They provide not only precision measurements of offset and delay, but also definitive maximum error bounds, so that the user interface can determine not only the time, but the quality of the time as well. Implementation Model: In what may be the most common client/server model a client sends an NTP message to one or more servers and processes the replies as received. The server interchanges addresses and ports, overwrites certain fields in the message, recalculates the checksum and returns the message immediately. Information included in the NTP message allows the client to determine the server time with respect to local time and adjust the local clock accordingly. In addition, the message includes information to calculate the expected timekeeping accuracy and reliability, as well as select the best from possibly several servers. While the client/server model may suffice for use on local nets involving a public server and perhaps many workstation clients, the full generality of NTP requires distributed participation of a number of client/servers or peers arranged in a dynamically reconfigurable, hierarchically distributed configuration. It also requires sophisticated algorithms for association management, data manipulation and local-clock control. Glossary: 1. Host: Refers to an instantiation of the NTP protocol on a local processor. 2. Peer: Refers to an instantiation of the NTP protocol on a remote processor connected by a network path from the local host." REVISION "200607310000Z" DESCRIPTION "Added ciscoNtpSysExtGroup and ciscoNtpSrvNotifGroup groups to support monitoring of NTP server status. ciscoNtpMIBComplianceRev3 is deprecated and replaced by ciscoNtpMIBComplianceRev4." REVISION "200407230000Z" DESCRIPTION "Added cntpPeersPeerName and cntpPeersPeerType objects to cntpPeerVarTable." REVISION "200307290000Z" DESCRIPTION "Added cntpPeersPrefPeer object to cntpPeersVarTable." REVISION "200307070000Z" DESCRIPTION "ciscoNtpPeersGroup is deprecated by ciscoNtpPeersGroupRev1. ciscoNtpMIBCompliance is deprecated by ciscoNtpMIBComplianceRev1." REVISION "200202200000Z" DESCRIPTION "cntpPeersUpdateTime is deprecated by cntpPeersUpdateTimeRev1." REVISION "200006160000Z" DESCRIPTION "Initial version of this MIB module." ::= { ciscoMgmt 168 } -- The various groups defined within this MIB definition: ciscoNtpMIBNotifs OBJECT IDENTIFIER ::= { ciscoNtpMIB 0 } ciscoNtpMIBObjects OBJECT IDENTIFIER ::= { ciscoNtpMIB 1 } ciscoNtpMIBConformance OBJECT IDENTIFIER ::= { ciscoNtpMIB 2 } cntpSystem OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 1 } cntpPeers OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 2 } cntpFilter OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 3 } -- Textual Conventions NTPTimeStamp ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "NTP timestamps are represented as a 64-bit unsigned fixed-point number, in seconds relative to 00:00 on 1 January 1900. The integer part is in the first 32 bits and the fraction part is in the last 32 bits." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.1" SYNTAX OCTET STRING (SIZE (8)) NTPLeapIndicator ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This is a two-bit code warning of an impending leap second to be inserted in the NTP timescale. The bits are set before 23:59 on the day of insertion and reset after 00:00 on the following day. This causes the number of seconds (rollover interval) in the day of insertion to be increased or decreased by one. The two bits are coded as below, 00, no warning 01, last minute has 61 seconds 10, last minute has 59 seconds 11, alarm condition (clock not synchronized)" REFERENCE "D.L. Mills, 'Network Time Protocol(Version 3)', RFC-1305, March 1992, Section 3.2.1" SYNTAX INTEGER { noWarning(0), addSecond(1), subtractSecond(2), alarm(3) } NTPSignedTimeValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The time in seconds that could represent signed quantities like time delay with respect to some source. This textual-convention is specific to Cisco implementation of NTP where 32-bit integers are used for such quantities. The signed integer part is in the first 16 bits and the fraction part is in the last 16 bits." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Sections 2, 3.2.1" SYNTAX OCTET STRING (SIZE (4)) NTPUnsignedTimeValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The time in seconds that could represent unsigned quantities like maximum error of the local clock with respect to some source. This textual-convention is specific to Cisco implementation of NTP where 32-bit integers are used for such quantities. The unsigned integer part is in the first 16 bits and the fraction part is in the last 16 bits." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Sections 2, 3.2.1" SYNTAX OCTET STRING (SIZE (4)) NTPStratum ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Indicates the stratum of the clock. The stratum defines the accuracy of a time server. Higher the stratum, lower the accuracy. 0, unspecified 1, primary reference (e.g., calibrated atomic clock, radio clock) 2-255, secondary reference (via NTP)" REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 2.2" SYNTAX Integer32 (0..255 ) NTPRefId ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The reference clock identifier. In the case of stratum 0 (unspecified) or stratum 1 (primary reference source), this is a four-octet, left-justified, zero-padded ASCII string as defined in RFC-1305. In the case of stratum 2 and greater (secondary reference) this is the four-octet Internet address of the peer selected for synchronization. Some examples of stratum 0 identifiers are, DCN, DCN routing protocol NIST, NIST public modem TSP, TSP time protocol DTS, Digital Time Service Some examples of stratum 1 identifiers are, ATOM, Atomic clock (calibrated) VLF, VLF radio (OMEGA,, etc.) LORC, LORAN-C radionavigation GOES, GOES UHF environment satellite GPS, GPS UHF satellite positioning" REFERENCE "D.L. Mills, Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.1" SYNTAX OCTET STRING (SIZE (4)) NTPPollInterval ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The minimum interval between transmitted NTP messages, in seconds as a power of two. For instance, a value of six indicates a minimum interval of 64 seconds." SYNTAX Integer32 (-20..20 ) NTPAssocIdentifier ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The association identifier of the peer. Every peer with which an NTP server is associated with is identified by an association identifier." SYNTAX Integer32 (0..2147483647 ) -- System Group cntpSysLeap OBJECT-TYPE SYNTAX NTPLeapIndicator MAX-ACCESS read-write STATUS current DESCRIPTION "Two-bit code warning of an impending leap second to be inserted in the NTP timescale. This object can be set only when the cntpSysStratum has a value of 1." ::= { cntpSystem 1 } cntpSysStratum OBJECT-TYPE SYNTAX NTPStratum MAX-ACCESS read-write STATUS current DESCRIPTION "The stratum of the local clock. If the value is set to 1, i.e., this is a primary reference, then the Primary-Clock procedure described in Section 3.4.6, in RFC-1305 is invoked." ::= { cntpSystem 2 } cntpSysPrecision OBJECT-TYPE SYNTAX Integer32 (-20..20 ) MAX-ACCESS read-only STATUS current DESCRIPTION "Signed integer indicating the precision of the system clock, in seconds to the nearest power of two. The value must be rounded to the next larger power of two; for instance, a 50-Hz (20 ms) or 60-Hz (16.67 ms) power-frequency clock would be assigned the value -5 (31.25 ms), while a 1000-Hz (1 ms) crystal-controlled clock would be assigned the value -9 (1.95 ms)." ::= { cntpSystem 3 } cntpSysRootDelay OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "A signed fixed-point number indicating the total round-trip delay in seconds, to the primary reference source at the root of the synchronization subnet." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Sections 2.2, 3.2.1" ::= { cntpSystem 4 } cntpSysRootDispersion OBJECT-TYPE SYNTAX NTPUnsignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum error in seconds, relative to the primary reference source at the root of the synchronization subnet. Only positive values greater than zero are possible." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Sections 2, 2.2, 3.2.1" ::= { cntpSystem 5 } cntpSysRefId OBJECT-TYPE SYNTAX NTPRefId MAX-ACCESS read-only STATUS current DESCRIPTION "The reference identifier of the local clock." ::= { cntpSystem 6 } cntpSysRefTime OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The local time when the local clock was last updated. If the local clock has never been synchronized, the value is zero." ::= { cntpSystem 7 } cntpSysPoll OBJECT-TYPE SYNTAX NTPPollInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The interval at which the NTP server polls other NTP servers to synchronize its clock." ::= { cntpSystem 8 } cntpSysPeer OBJECT-TYPE SYNTAX NTPAssocIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "The current synchronization source. This will contain the unique association identifier cntpPeersAssocId of the corresponding peer entry in the cntpPeersVarTable of the peer acting as the synchronization source. If there is no peer, the value will be 0." ::= { cntpSystem 9 } cntpSysClock OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The current local time. Local time is derived from the hardware clock of the particular machine and increments at intervals depending on the design used." ::= { cntpSystem 10 } cntpSysSrvStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), notRunning(2), notSynchronized(3), syncToLocal(4), syncToRefclock(5), syncToRemoteServer(6) } MAX-ACCESS read-only STATUS current DESCRIPTION "Current state of the NTP server with values coded as follows: 1: server status is unknown 2: server is not running 3: server is not synchronized to any time source 4: server is synchronized to its own local clock 5: server is synchronized to a local hardware refclock (e.g. GPS) 6: server is synchronized to a remote NTP server" DEFVAL { unknown } ::= { cntpSystem 11 } -- Peers Group -- -- -- Peer Variables Table cntpPeersVarTable OBJECT-TYPE SYNTAX SEQUENCE OF CntpPeersVarEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides information on the peers with which the local NTP server has associations. The peers are also NTP servers but running on different hosts." ::= { cntpPeers 1 } cntpPeersVarEntry OBJECT-TYPE SYNTAX CntpPeersVarEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each peers' entry provides NTP information retrieved from a particular peer NTP server. Each peer is identified by a unique association identifier. Entries are automatically created when the user configures the NTP server to be associated with remote peers. Similarly entries are deleted when the user removes the peer association from the NTP server. Entries can also be created by the management station by setting values for the following objects: cntpPeersPeerAddress or cntpPeersPeerName, cntpPeersHostAddress and cntpPeersMode and making the cntpPeersEntryStatus as active(1). At the least, the management station has to set a value for cntpPeersPeerAddress or cntpPeersPeerName to make the row active." INDEX { cntpPeersAssocId } ::= { cntpPeersVarTable 1 } CntpPeersVarEntry ::= SEQUENCE { cntpPeersAssocId NTPAssocIdentifier, cntpPeersConfigured TruthValue, cntpPeersPeerAddress IpAddress, cntpPeersPeerPort Integer32, cntpPeersHostAddress IpAddress, cntpPeersHostPort Integer32, cntpPeersLeap NTPLeapIndicator, cntpPeersMode INTEGER , cntpPeersStratum NTPStratum, cntpPeersPeerPoll NTPPollInterval, cntpPeersHostPoll NTPPollInterval, cntpPeersPrecision Integer32, cntpPeersRootDelay NTPSignedTimeValue, cntpPeersRootDispersion NTPUnsignedTimeValue, cntpPeersRefId NTPRefId, cntpPeersRefTime NTPTimeStamp, cntpPeersOrgTime NTPTimeStamp, cntpPeersReceiveTime NTPTimeStamp, cntpPeersTransmitTime NTPTimeStamp, cntpPeersUpdateTime Integer32, cntpPeersReach Integer32, cntpPeersTimer Integer32, cntpPeersOffset NTPSignedTimeValue, cntpPeersDelay NTPSignedTimeValue, cntpPeersDispersion NTPUnsignedTimeValue, cntpPeersFilterValidEntries Gauge32, cntpPeersEntryStatus RowStatus, cntpPeersUpdateTimeRev1 Unsigned32, cntpPeersPrefPeer TruthValue, cntpPeersPeerType InetAddressType, cntpPeersPeerName InetAddress } cntpPeersAssocId OBJECT-TYPE SYNTAX NTPAssocIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer value greater than 0 that uniquely identifies a peer with which the local NTP server is associated." ::= { cntpPeersVarEntry 1 } cntpPeersConfigured OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This is a bit indicating that the association was created from configuration information and should not be de-associated even if the peer becomes unreachable." ::= { cntpPeersVarEntry 2 } cntpPeersPeerAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address of the peer. When creating a new association, a value should be set either for this object or the corresponding instance of cntpPeersPeerName, before the row is made active." ::= { cntpPeersVarEntry 3 } cntpPeersPeerPort OBJECT-TYPE SYNTAX Integer32 (1..65535 ) MAX-ACCESS read-only STATUS current DESCRIPTION "The UDP port number on which the peer receives NTP messages." ::= { cntpPeersVarEntry 4 } cntpPeersHostAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address of the local host. Multi-homing can be supported using this object." ::= { cntpPeersVarEntry 5 } cntpPeersHostPort OBJECT-TYPE SYNTAX Integer32 (1..65535 ) MAX-ACCESS read-only STATUS current DESCRIPTION "The UDP port number on which the local host receives NTP messages." ::= { cntpPeersVarEntry 6 } cntpPeersLeap OBJECT-TYPE SYNTAX NTPLeapIndicator MAX-ACCESS read-only STATUS current DESCRIPTION "Two-bit code warning of an impending leap second to be inserted in the NTP timescale of the peer." ::= { cntpPeersVarEntry 7 } cntpPeersMode OBJECT-TYPE SYNTAX INTEGER { unspecified(0), symmetricActive(1), symmetricPassive(2), client(3), server(4), broadcast(5), reservedControl(6), reservedPrivate(7) } MAX-ACCESS read-create STATUS current DESCRIPTION "The association mode of the NTP server, with values coded as follows, 0, unspecified 1, symmetric active - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of its peer. By operating in this mode the host announces its willingness to synchronize and be synchronized by the peer 2, symmetric passive - This type of association is ordinarily created upon arrival of a message from a peer operating in the symmetric active mode and persists only as long as the peer is reachable and operating at a stratum level less than or equal to the host; otherwise, the association is dissolved. However, the association will always persist until at least one message has been sent in reply. By operating in this mode the host announces its willingness to synchronize and be synchronized by the peer 3, client - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of its peer. By operating in this mode the host, usually a LAN workstation, announces its willingness to be synchronized by, but not to synchronize the peer 4, server - This type of association is ordinarily created upon arrival of a client request message and exists only in order to reply to that request, after which the association is dissolved. By operating in this mode the host, usually a LAN time server, announces its willingness to synchronize, but not to be synchronized by the peer 5, broadcast - A host operating in this mode sends periodic messages regardless of the reachability state or stratum of the peers. By operating in this mode the host, usually a LAN time server operating on a high-speed broadcast medium, announces its willingness to synchronize all of the peers, but not to be synchronized by any of them 6, reserved for NTP control messages 7, reserved for private use. When creating a new peer association, if no value is specified for this object, it defaults to symmetricActive(1)." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.3" ::= { cntpPeersVarEntry 8 } cntpPeersStratum OBJECT-TYPE SYNTAX NTPStratum MAX-ACCESS read-only STATUS current DESCRIPTION "The stratum of the peer clock." ::= { cntpPeersVarEntry 9 } cntpPeersPeerPoll OBJECT-TYPE SYNTAX NTPPollInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The interval at which the peer polls the local host." ::= { cntpPeersVarEntry 10 } cntpPeersHostPoll OBJECT-TYPE SYNTAX NTPPollInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The interval at which the local host polls the peer." ::= { cntpPeersVarEntry 11 } cntpPeersPrecision OBJECT-TYPE SYNTAX Integer32 (-20..20 ) MAX-ACCESS read-only STATUS current DESCRIPTION "Signed integer indicating the precision of the peer clock, in seconds to the nearest power of two. The value must be rounded to the next larger power of two; for instance, a 50-Hz (20 ms) or 60-Hz (16.67 ms) power-frequency clock would be assigned the value -5 (31.25 ms), while a 1000-Hz (1 ms) crystal-controlled clock would be assigned the value -9 (1.95 ms)." ::= { cntpPeersVarEntry 12 } cntpPeersRootDelay OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "A signed fixed-point number indicating the total round-trip delay in seconds, from the peer to the primary reference source at the root of the synchronization subnet." ::= { cntpPeersVarEntry 13 } cntpPeersRootDispersion OBJECT-TYPE SYNTAX NTPUnsignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum error in seconds, of the peer clock relative to the primary reference source at the root of the synchronization subnet. Only positive values greater than zero are possible." ::= { cntpPeersVarEntry 14 } cntpPeersRefId OBJECT-TYPE SYNTAX NTPRefId MAX-ACCESS read-only STATUS current DESCRIPTION "The reference identifier of the peer." ::= { cntpPeersVarEntry 15 } cntpPeersRefTime OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The local time at the peer when its clock was last updated. If the peer clock has never been synchronized, the value is zero." ::= { cntpPeersVarEntry 16 } cntpPeersOrgTime OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The local time at the peer, when its latest NTP message was sent. If the peer becomes unreachable the value is set to zero." ::= { cntpPeersVarEntry 17 } cntpPeersReceiveTime OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The local time, when the latest NTP message from the peer arrived. If the peer becomes unreachable the value is set to zero." ::= { cntpPeersVarEntry 18 } cntpPeersTransmitTime OBJECT-TYPE SYNTAX NTPTimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The local time at which the NTP message departed the sender." ::= { cntpPeersVarEntry 19 } cntpPeersUpdateTime OBJECT-TYPE SYNTAX Integer32 (0..2147483647 ) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "The local time, when the most recent NTP message was received from the peer that was used to calculate the skew dispersion. This represents only the 32-bit integer part of the NTPTimestamp." ::= { cntpPeersVarEntry 20 } cntpPeersReach OBJECT-TYPE SYNTAX Integer32 (0..255 ) MAX-ACCESS read-only STATUS current DESCRIPTION "A shift register of used to determine the reachability status of the peer, with bits entering from the least significant (rightmost) end. A peer is considered reachable if at least one bit in this register is set to one i.e, if the value of this object is non-zero. The data in the shift register would be populated by the NTP protocol procedures." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.3" ::= { cntpPeersVarEntry 21 } cntpPeersTimer OBJECT-TYPE SYNTAX Integer32 (0..2147483647 ) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The interval in seconds, between transmitted NTP messages from the local host to the peer." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.3" ::= { cntpPeersVarEntry 22 } cntpPeersOffset OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The estimated offset of the peer clock relative to the local clock, in seconds. The host determines the value of this object using the NTP clock-filter algorithm." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.5" ::= { cntpPeersVarEntry 23 } cntpPeersDelay OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The estimated round-trip delay of the peer clock relative to the local clock over the network path between them, in seconds. The host determines the value of this object using the NTP clock-filter algorithm." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.5" ::= { cntpPeersVarEntry 24 } cntpPeersDispersion OBJECT-TYPE SYNTAX NTPUnsignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The estimated maximum error of the peer clock relative to the local clock over the network path between them, in seconds. The host determines the value of this object using the NTP clock-filter algorithm." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.5" ::= { cntpPeersVarEntry 25 } cntpPeersFilterValidEntries OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of valid entries for a peer in the Filter Register Table. Since, the Filter Register Table is optional, this object will have a value 0 if the Filter Register Table is not implemented." ::= { cntpPeersVarEntry 26 } cntpPeersEntryStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status object for this row. When a management station is creating a new row, it should set the value for cntpPeersPeerAddress at least, before the row can be made active(1)." ::= { cntpPeersVarEntry 27 } cntpPeersUpdateTimeRev1 OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The local time, when the most recent NTP message was received from the peer that was used to calculate the skew dispersion. This represents only the 32-bit integer part of the NTPTimestamp." ::= { cntpPeersVarEntry 28 } cntpPeersPrefPeer OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether this peer is the preferred one over the others. By default, when the value of this object is 'false', NTP chooses the peer with which to synchronize the time on the local system. If this object is set to 'true', NTP will choose the corresponding peer to synchronize the time with. If multiple entries have this object set to 'true', NTP will choose the first one to be set. This object is a means to override the selection of the peer by NTP." DEFVAL { false } ::= { cntpPeersVarEntry 29 } cntpPeersPeerType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "Represents the type of the corresponding instance of cntpPeersPeerName object." DEFVAL { ipv4 } ::= { cntpPeersVarEntry 30 } cntpPeersPeerName OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The address of the peer. When creating a new association, a value must be set for either this object or the corresponding instance of cntpPeersPeerAddress object, before the row is made active." ::= { cntpPeersVarEntry 31 } -- Filter Group -- -- Implementation of this group is optional. It must be implemented -- when the filter and selection algorithms described in Section 4 -- of RFC 1305 are used. -- -- -- Filter Register Table cntpFilterRegisterTable OBJECT-TYPE SYNTAX SEQUENCE OF CntpFilterRegisterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The following table contains NTP state variables used by the NTP clock filter and selection algorithms. This table depicts a shift register. Each stage in the shift register is a 3-tuple consisting of the measured clock offset, measured clock delay and measured clock dispersion associated with a single observation. An important factor affecting the accuracy and reliability of time distribution is the complex of algorithms used to reduce the effect of statistical errors and falsetickers due to failure of various subnet components, reference sources or propagation media. The NTP clock-filter and selection algorithms are designed to do exactly this. The objects in the filter register table below are used by these algorthims to minimize the error in the calculated time." REFERENCE "D.L. Mills, 'Network Time Protocol (Version 3)', RFC-1305, March 1992, Section 3.2.5" ::= { cntpFilter 2 } cntpFilterRegisterEntry OBJECT-TYPE SYNTAX CntpFilterRegisterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry corresponds to one stage of the shift register, i.e., one reading of the variables clock delay, clock offset and clock dispersion. Entries are automatically created whenever a peer is configured and deleted when the peer is removed." INDEX { cntpPeersAssocId, cntpFilterIndex } ::= { cntpFilterRegisterTable 1 } CntpFilterRegisterEntry ::= SEQUENCE { cntpFilterIndex Integer32, cntpFilterPeersOffset NTPSignedTimeValue, cntpFilterPeersDelay NTPSignedTimeValue, cntpFilterPeersDispersion NTPUnsignedTimeValue } cntpFilterIndex OBJECT-TYPE SYNTAX Integer32 (1..8 ) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer value in the specified range that is used to index into the table. The size of the table is fixed at 8. Each entry identifies a particular reading of the clock filter variables in the shift register. Entries are added starting at index 1. The index wraps back to 1 when it reaches 8. When the index wraps back, the new entries will overwrite the old entries effectively deleting the old entry." ::= { cntpFilterRegisterEntry 1 } cntpFilterPeersOffset OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The offset of the peer clock relative to the local clock in seconds." ::= { cntpFilterRegisterEntry 2 } cntpFilterPeersDelay OBJECT-TYPE SYNTAX NTPSignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "Round-trip delay of the peer clock relative to the local clock over the network path between them, in seconds. This variable can take on both positive and negative values, depending on clock precision and skew-error accumulation." ::= { cntpFilterRegisterEntry 3 } cntpFilterPeersDispersion OBJECT-TYPE SYNTAX NTPUnsignedTimeValue UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum error of the peer clock relative to the local clock over the network path between them, in seconds. Only positive values greater than zero are possible." ::= { cntpFilterRegisterEntry 4 } -- Notifications ciscoNtpSrvStatusChange NOTIFICATION-TYPE OBJECTS { cntpSysSrvStatus } STATUS current DESCRIPTION "This notification is generated whenever the value of cntpSysSrvStatus changes." ::= { ciscoNtpMIBNotifs 1 } ciscoNtpHighPriorityConnFailure NOTIFICATION-TYPE OBJECTS { cntpPeersPeerAddress } STATUS current DESCRIPTION "A failure to connect with an high priority NTP server (e.g. a server at the lowest stratum) is detected." ::= { ciscoNtpMIBNotifs 2 } ciscoNtpHighPriorityConnRestore NOTIFICATION-TYPE OBJECTS { cntpPeersPeerAddress } STATUS current DESCRIPTION "A connection with an high priority NTP server (e.g. a server at the lowest stratum) is restored." ::= { ciscoNtpMIBNotifs 3 } ciscoNtpGeneralConnFailure NOTIFICATION-TYPE STATUS current DESCRIPTION "This trap is sent when the device loses connectivity to all NTP servers." ::= { ciscoNtpMIBNotifs 4 } ciscoNtpGeneralConnRestore NOTIFICATION-TYPE OBJECTS { cntpPeersPeerAddress } STATUS current DESCRIPTION "This trap is sent when the connection with at least one NTP server has been restored (e.g. after a ciscoNtpGeneralConnFailure)." ::= { ciscoNtpMIBNotifs 5 } -- Conformance ciscoNtpMIBCompliances OBJECT IDENTIFIER ::= { ciscoNtpMIBConformance 1 } ciscoNtpMIBGroups OBJECT IDENTIFIER ::= { ciscoNtpMIBConformance 2 } -- Compliance Statement ciscoNtpMIBCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for Cisco agents which implement the Cisco NTP MIB." MODULE -- this module MANDATORY-GROUPS { ciscoNtpSysGroup, ciscoNtpPeersGroup } GROUP ciscoNtpFilterGroup DESCRIPTION "This group is required only if the clock-filer algorithms defined in RFC-1305, Section 4 are implemented by the agent." ::= { ciscoNtpMIBCompliances 1 } ciscoNtpMIBComplianceRev1 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for Cisco agents which implement the Cisco NTP MIB." MODULE -- this module MANDATORY-GROUPS { ciscoNtpSysGroup, ciscoNtpPeersGroupRev1 } GROUP ciscoNtpFilterGroup DESCRIPTION "This group is required only if the clock-filer algorithms defined in RFC-1305, Section 4 are implemented by the agent." ::= { ciscoNtpMIBCompliances 2 } ciscoNtpMIBComplianceRev2 MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for Cisco agents which implement the Cisco NTP MIB." MODULE -- this module MANDATORY-GROUPS { ciscoNtpSysGroup, ciscoNtpPeersGroupRev1 } GROUP ciscoNtpFilterGroup DESCRIPTION "This group is required only if the clock-filer algorithms defined in RFC-1305, Section 4 are implemented by the agent." GROUP ciscoNtpPeerExtGroup DESCRIPTION "This group is mandatory for agents that support extended NTP configuration." ::= { ciscoNtpMIBCompliances 3 } ciscoNtpMIBComplianceRev3 MODULE-COMPLIANCE STATUS deprecated -- replaced by ciscoNtpMIBComplianceRev4 DESCRIPTION "The compliance statement for Cisco agents which implement the Cisco NTP MIB." MODULE -- this module MANDATORY-GROUPS { ciscoNtpSysGroup, ciscoNtpPeersGroupRev2 } GROUP ciscoNtpFilterGroup DESCRIPTION "This group is required only if the clock-filer algorithms defined in RFC-1305, Section 4 are implemented by the agent." GROUP ciscoNtpPeerExtGroup DESCRIPTION "This group is mandatory for agents that support extended NTP configuration." ::= { ciscoNtpMIBCompliances 4 } ciscoNtpMIBComplianceRev4 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Cisco agents which implement the Cisco NTP MIB." MODULE -- this module MANDATORY-GROUPS { ciscoNtpSysGroup, ciscoNtpPeersGroupRev2 } GROUP ciscoNtpFilterGroup DESCRIPTION "This group is required only if the clock-filer algorithms defined in RFC-1305, Section 4 are implemented by the agent." GROUP ciscoNtpPeerExtGroup DESCRIPTION "This group is mandatory for agents that support extended NTP configuration." GROUP ciscoNtpSysExtGroup DESCRIPTION "This group is mandatory for agents that support extended NTP system variables." GROUP ciscoNtpSrvNotifGroup DESCRIPTION "This group is mandatory for agents that support NTP server notifications." ::= { ciscoNtpMIBCompliances 5 } -- Units of Conformance: ciscoNtpSysGroup OBJECT-GROUP OBJECTS { cntpSysLeap, cntpSysStratum, cntpSysPrecision, cntpSysRootDelay, cntpSysRootDispersion, cntpSysRefId, cntpSysRefTime, cntpSysPoll, cntpSysPeer, cntpSysClock } STATUS current DESCRIPTION "The NTP system variables." ::= { ciscoNtpMIBGroups 1 } ciscoNtpPeersGroup OBJECT-GROUP OBJECTS { cntpPeersConfigured, cntpPeersPeerAddress, cntpPeersPeerPort, cntpPeersHostAddress, cntpPeersHostPort, cntpPeersLeap, cntpPeersMode, cntpPeersStratum, cntpPeersPeerPoll, cntpPeersHostPoll, cntpPeersPrecision, cntpPeersRootDelay, cntpPeersRootDispersion, cntpPeersRefId, cntpPeersRefTime, cntpPeersOrgTime, cntpPeersReceiveTime, cntpPeersTransmitTime, cntpPeersUpdateTime, cntpPeersReach, cntpPeersTimer, cntpPeersOffset, cntpPeersDelay, cntpPeersDispersion, cntpPeersFilterValidEntries, cntpPeersEntryStatus } STATUS deprecated DESCRIPTION "The NTP peer variables." ::= { ciscoNtpMIBGroups 2 } ciscoNtpFilterGroup OBJECT-GROUP OBJECTS { cntpFilterPeersOffset, cntpFilterPeersDelay, cntpFilterPeersDispersion } STATUS current DESCRIPTION "The NTP clock-filter variables." ::= { ciscoNtpMIBGroups 3 } ciscoNtpPeersGroupRev1 OBJECT-GROUP OBJECTS { cntpPeersConfigured, cntpPeersPeerAddress, cntpPeersPeerPort, cntpPeersHostAddress, cntpPeersHostPort, cntpPeersLeap, cntpPeersMode, cntpPeersStratum, cntpPeersPeerPoll, cntpPeersHostPoll, cntpPeersPrecision, cntpPeersRootDelay, cntpPeersRootDispersion, cntpPeersRefId, cntpPeersRefTime, cntpPeersOrgTime, cntpPeersReceiveTime, cntpPeersTransmitTime, cntpPeersUpdateTimeRev1, cntpPeersReach, cntpPeersTimer, cntpPeersOffset, cntpPeersDelay, cntpPeersDispersion, cntpPeersFilterValidEntries, cntpPeersEntryStatus } STATUS deprecated DESCRIPTION "The NTP peer variables." ::= { ciscoNtpMIBGroups 4 } ciscoNtpPeerExtGroup OBJECT-GROUP OBJECTS { cntpPeersPrefPeer } STATUS current DESCRIPTION "The extended set of NTP peer variable(s)." ::= { ciscoNtpMIBGroups 5 } ciscoNtpPeersGroupRev2 OBJECT-GROUP OBJECTS { cntpPeersConfigured, cntpPeersPeerAddress, cntpPeersPeerPort, cntpPeersHostAddress, cntpPeersHostPort, cntpPeersLeap, cntpPeersMode, cntpPeersStratum, cntpPeersPeerPoll, cntpPeersHostPoll, cntpPeersPrecision, cntpPeersRootDelay, cntpPeersRootDispersion, cntpPeersRefId, cntpPeersRefTime, cntpPeersOrgTime, cntpPeersReceiveTime, cntpPeersTransmitTime, cntpPeersUpdateTimeRev1, cntpPeersReach, cntpPeersTimer, cntpPeersOffset, cntpPeersDelay, cntpPeersDispersion, cntpPeersFilterValidEntries, cntpPeersEntryStatus, cntpPeersPeerName, cntpPeersPeerType } STATUS current DESCRIPTION "The NTP peer variables." ::= { ciscoNtpMIBGroups 6 } ciscoNtpSysExtGroup OBJECT-GROUP OBJECTS { cntpSysSrvStatus } STATUS current DESCRIPTION "The extended set of NTP system variable(s)." ::= { ciscoNtpMIBGroups 7 } ciscoNtpSrvNotifGroup NOTIFICATION-GROUP NOTIFICATIONS { ciscoNtpSrvStatusChange, ciscoNtpHighPriorityConnFailure, ciscoNtpHighPriorityConnRestore, ciscoNtpGeneralConnFailure, ciscoNtpGeneralConnRestore } STATUS current DESCRIPTION "The collection of notifications for the NTP Server." ::= { ciscoNtpMIBGroups 8 } END