You are here:

MonitorTools.com > Technical documentation > SNMP > MIB > Cisco > CISCO-NTP-MIB
ActiveXperts Network Monitor 2019##AdminFavorites

CISCO-NTP-MIB by vendor Cisco

CISCO-NTP-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing CISCO-NTP-MIB.


Vendor: Cisco
Mib: CISCO-NTP-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- *****************************************************************
-- CISCO-NTP-MIB.my:  NTP MIB
--
-- February 2000, Vinod B C
--
-- Copyright (c) 2000, 2002, 2003 by cisco Systems, Inc.
-- All rights reserved.
--
-- *****************************************************************
--

CISCO-NTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32,
	IpAddress, Gauge32, Unsigned32
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, TruthValue, RowStatus
                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
        InetAddress, InetAddressType
                FROM INET-ADDRESS-MIB
        ciscoMgmt
                FROM CISCO-SMI;

ciscoNtpMIB MODULE-IDENTITY
        LAST-UPDATED  "200407230000Z"
        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     "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:
--

ciscoNtpMIBObjects OBJECT IDENTIFIER ::= { ciscoNtpMIB 1 }

cntpSystem         OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 1 }
cntpPeers          OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 2 }
cntpFilter         OBJECT IDENTIFIER ::= { ciscoNtpMIBObjects 3 }


--
-- Textual Conventions
--

NTPTimeStamp ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "4d.4d"
        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
        DISPLAY-HINT "2d.2d"
        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
        DISPLAY-HINT "2d.2d"
        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 }

--
-- 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
                    -- deprecated by cntpPeersUpdateTimeRev1
        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 }

-- Conformance

ciscoNtpMIBConformance OBJECT IDENTIFIER ::= { ciscoNtpMIB 3 }
ciscoNtpMIBCompliances OBJECT IDENTIFIER
                ::= { ciscoNtpMIBConformance 1 }
ciscoNtpMIBGroups      OBJECT IDENTIFIER
                ::= { ciscoNtpMIBConformance 2 }

-- Compliance Statement

ciscoNtpMIBCompliance MODULE-COMPLIANCE
        STATUS      deprecated
                    -- superceded by ciscoNtpMIBComplianceRev1
        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
                  -- superceded by ciscoNtpMIBComplianceRev2
        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
                 -- superceded by ciscoNtpMIBComplianceRev3 
        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      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."

        ::= { ciscoNtpMIBCompliances 4 }

-- 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 -- superceded by ciscoNtpPeersGroupRev1
        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 }

END