-- =================================================================
-- Copyright (c) 2004-2016 Hangzhou H3C Tech.  Co., Ltd.  All rights reserved.
--
-- Description: Network Time Protocol (NTP) Version 3, is used to synchronize
--              timekeeping among a set of distributed time servers and clients.
-- Reference:
-- Version: V1.8
-- History:
-- V1.0   <sunhaipeng>, <2003-03-19>, <initial>
-- V1.1   jinyi, 2004-12-02,
--        Fix syntax bugs and adjust format of the whole file.
-- V1.2  sunkai, 2006-03-23
--       Modified SYNTAX of hwNTPPeerKeyId.
-- V1.3  2010-03-05
--       Added hwNTPServerIP.
-- V1.4  2011-01-27
--       Added hwNTPSysPollSec, hwNTPSysClockSec.  Modified hwNTPServerIP.
-- V1.5  2012-04-13 by huangshengliang
--       change seconds to milliseconds.
-- V1.6  2013-05-29 by niuxuning
--       Modified local clock of hwNTPPeerStratum.
-- V1.7  2014-03-03 by wangjianming
--       Changed the state of hwNTPSysPeer to obsolete.
--       Added hwNTPSysSrcPeer.
-- V1.8  2016-09-14 by chenzichao
--       Corrected spelling of the word 'message'.
-- =================================================================
HUAWEI-NTP-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        IpAddress, Integer32, MODULE-IDENTITY, OBJECT-TYPE, Counter32, Unsigned32
            FROM SNMPv2-SMI
        RowStatus, TruthValue
            FROM SNMPv2-TC
        huaweiDatacomm
            FROM HUAWEI-3COM-OID-MIB;

        hwNTP MODULE-IDENTITY
            LAST-UPDATED "200303150000Z"
            ORGANIZATION
                "Hangzhou H3C Tech.  Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech.  Co., Ltd.
                Hai-Dian District Beijing P.R.  China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
                "This MIB provides mechanisms to monitor a NTP server."
            REVISION "200303150000Z"
            DESCRIPTION
                "The initial revision of this MIB module."
            ::= { huaweiDatacomm 22 }

        hwNTPSystemMIB OBJECT IDENTIFIER ::= { hwNTP 1 }

    hwNTPSystemMIBObjects OBJECT IDENTIFIER ::= { hwNTPSystemMIB 1 }

    hwNTPSysLeap OBJECT-TYPE
        SYNTAX      INTEGER
            {
                noWarning(0),
                addSecond(1),
                subtractSecond(2),
                alarm(3)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Leap Indicator (LI): This is a two-bit code warning of an impending
            leap second to be inserted/deleted in the last minute of the current
            day, with bit 0 and bit 1, respectively, coded as follows:
            00, no warning
            01, last minute has 61 seconds
            10, last minute has 59 seconds)
            11, alarm condition (clock not synchronized)."
        ::= { hwNTPSystemMIBObjects 1 }

    hwNTPSysStratum OBJECT-TYPE
        SYNTAX      Integer32(1..16)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an eight-bit integer indicating the stratum level
            of the local clock, with values defined as follows:
            0, unspecified
            1, primary reference (e.g.,, radio clock)
            2-255, secondary reference (via NTP)"
        ::= { hwNTPSystemMIBObjects 2 }

    hwNTPSysPrecision OBJECT-TYPE
        SYNTAX      Integer32(-20..20)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Precision : This is a signed integer indicating the
            precision of the various clocks, 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.67ms)
            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)."
        ::= { hwNTPSystemMIBObjects 3 }

    hwNTPSysRootdelay OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Root Delay : This is a signed fixed-point number indicating
            the total roundtrip delay to the primary reference source
            at the root of the synchronization subnet, in milliseconds.  Note
            that this variable can take on both positive and negative
            values, depending on clock precision and skew."
        ::= { hwNTPSystemMIBObjects 4 }

    hwNTPSysRootdispersion OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Root Dispersion : This is a signed fixed-point number
            indicating the maximum error relative to the primary
            reference source at the root of the synchronization
            subnet, in milliseconds.  Only positive values greater than
            zero are possible."
        ::= { hwNTPSystemMIBObjects 5 }

    hwNTPSysRefid OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Reference Clock Identifier : This is a 32-bit code
            identifying the particular reference clock.  In the
            case of stratum 0 (unspecified) or stratum 1 (primary
            reference source), this is a four-octet, left-justified,
            zero-padded ASCII string.
            Stratum, Code, Meaning
            0,       DCN,  DCN routing protocol
            0,       TSP,  TSP time protocol
            1,       ATOM, Atomic clock (calibrated)
            1,       WWVB, WWVB LF (band 5) radio
            1,       GOES, GOES UHF (band 9) satellite
            1,       WWV,  WWV HF (band 7) radio"
        ::= { hwNTPSystemMIBObjects 6 }

    hwNTPSysReftime OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Reference Timestamp : This is the local time, in
            timestamp format, when the local clock was last
            updated.  If the local clock has never been synchronized,
            the value is zero."
        ::= { hwNTPSystemMIBObjects 7 }

    hwNTPSysPoll OBJECT-TYPE
        SYNTAX      Integer32(-20..20)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Poll Interval : This is a signed integer indicating
            the minimum interval between transmitted messages,
            in seconds as a power of two.  For instance, a value
            of six indicates a minimum interval of 64 seconds."
        ::= { hwNTPSystemMIBObjects 8 }

    hwNTPSysPeer OBJECT-TYPE
        SYNTAX      Integer32(0..2147483647)
        MAX-ACCESS  read-only
        STATUS      obsolete
        DESCRIPTION
            "This is a selector identifying the current synchronization
            source.  Usually this will be a pointer to a structure
            containing the peer variables.  The special value NULL indicates
            There is no currently valid synchronization source.
            hwNTPSysPeer is replaced by hwNTPSysSrcPeer.  Reading
            hwNTPSysPeer might fail because the syntax value range is limited,
            for example, when the synchronization source IP address is a Class C
            address."
        ::= { hwNTPSystemMIBObjects 9 }

    hwNTPSysState OBJECT-TYPE
        SYNTAX      INTEGER
            {
                noUpdateClock(0),
                getfreqInfo(1),
                clockBySet(2),
                clockBySetAndNoFreq(3),
                clockBySyns(4),
                findError(5)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a integer indicating the state of local clock."
        ::= { hwNTPSystemMIBObjects 10 }

    hwNTPSysOffset OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The offset of two clocks is the time difference between them, in milliseconds."
        ::= { hwNTPSystemMIBObjects 11 }

    hwNTPSysDrift OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Real clocks exhibit some variation in skew (second derivative of
            offset with time), which is called drift."
        ::= { hwNTPSystemMIBObjects 12 }

    hwNTPSysCompliance OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a string indicating the system error."
        ::= { hwNTPSystemMIBObjects 13 }

    hwNTPSysClock OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the current local time, in timestamp
            format.  Local time is derived from the hardware clock of the particular
            machine and increments at intervals depending on the design used."
        ::= { hwNTPSystemMIBObjects 14 }

    hwNTPSysStabil OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a indicating that stability of a clock is how well
            it can maintain a constant frequency."
        ::= { hwNTPSystemMIBObjects 15 }

    hwNTPSysAuthenticate OBJECT-TYPE
        SYNTAX      INTEGER
            {
                noAuthenticate(0),
                authenticate(1)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This is a integer indicating that system support authentication."
        ::= { hwNTPSystemMIBObjects 16 }

    hwNTPSysPollSec OBJECT-TYPE
        SYNTAX      Integer32 (2..1048576)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "PollSec Interval : This is a integer indicating the minimum
            interval between transmitted messages.  For instance, a value of
            six indicates a minimum interval of 6 seconds."
        ::= { hwNTPSystemMIBObjects 17 }

    hwNTPSysClockSec OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the current local time, in integer format.
            Local time is derived from the hardware clock of the particular
            machine and increments at intervals depending on the design used."
        ::= { hwNTPSystemMIBObjects 18 }

    hwNTPServerIP OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The NTP server ip address.  It must be a unicast address,
            rather than a broadcast address, a multicast address or
            the IP address of the local clock.  To delete a configured
            NTP server ip address, please set hwNTPServerIP to 0."
        ::= { hwNTPSystemMIBObjects 19 }

    hwNTPSysSrcPeer OBJECT-TYPE
        SYNTAX      Unsigned32(0..4294967295)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a selector identifying the current synchronization
            source.  Usually this will be a unsigned integer containing
            the peer variables.  The special value 0 indicates
            There is no currently valid synchronization source.
            This node will replace hwNTPSysPeer, because
            its value range is unlimited, and data type is changed from
            Integer32 to Unsigned32."
        ::= { hwNTPSystemMIBObjects 20 }

    hwNTPPeerMIB OBJECT IDENTIFIER ::= { hwNTP 2 }

    hwNTPPeerMIBObjects OBJECT IDENTIFIER ::= { hwNTPPeerMIB 1 }

    hwNTPPeerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF NTPPeerEntry
        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."
        ::= { hwNTPPeerMIBObjects 1 }

    hwNTPPeerEntry OBJECT-TYPE
        SYNTAX NTPPeerEntry
        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:
            hwNTPPeerRemAdr and making the hwNTPPeerRowStatus as
            'active'.  At the least, the management station has
            to set a value for hwNTPPeerRemAdr to make the
            row active."
    INDEX { hwNTPPeerRemAdr, hwNTPPeerHMode }
    ::= { hwNTPPeerTable 1 }

    NTPPeerEntry ::=
        SEQUENCE
            {
                hwNTPPeerConfig            TruthValue,
                hwNTPPeerAuthenable        TruthValue,
                hwNTPPeerAuthentic         TruthValue,
                hwNTPPeerRemAdr            IpAddress,
                hwNTPPeerRemPort           Integer32,
                hwNTPPeerLocAdr            IpAddress,
                hwNTPPeerLocPort           Integer32,
                hwNTPPeerLeap              INTEGER,
                hwNTPPeerHMode             INTEGER,
                hwNTPPeerStratum           Integer32,
                hwNTPPeerPPoll             Integer32,
                hwNTPPeerHPoll             Integer32,
                hwNTPPeerPrecision         Integer32,
                hwNTPPeerRootDelay         OCTET STRING,
                hwNTPPeerRootDispersion    OCTET STRING,
                hwNTPPeerRefId             OCTET STRING,
                hwNTPPeerRefTime           OCTET STRING,
                hwNTPPeerOrg               OCTET STRING,
                hwNTPPeerRec               OCTET STRING,
                hwNTPPeerXmt               OCTET STRING,
                hwNTPPeerReach             Integer32,
                hwNTPPeerValid             Integer32,
                hwNTPPeerTimer             Integer32,
                hwNTPPeerDelay             OCTET STRING,
                hwNTPPeerOffset            OCTET STRING,
                hwNTPPeerJitter            OCTET STRING,
                hwNTPPeerDispersion        OCTET STRING,
                hwNTPPeerKeyId             Unsigned32,
                hwNTPPeerFiltDelay         OCTET STRING,
                hwNTPPeerFiltOffset        OCTET STRING,
                hwNTPPeerFiltError         OCTET STRING,
                hwNTPPeerPMode             INTEGER,
                hwNTPPeerReceived          Counter32,
                hwNTPPeerSent              Counter32,
                hwNTPPeerFlash             BITS,
                hwNTPPeerRowStatus         RowStatus
            }

    hwNTPPeerConfig 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 demobilized
            if the peer becomes unreachable."
        ::= { hwNTPPeerEntry 1 }

    hwNTPPeerAuthenable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a bit indicating that system support authentication."
        ::= { hwNTPPeerEntry 2 }

    hwNTPPeerAuthentic OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a bit indicating that message pass authentication which is authentic."
        ::= { hwNTPPeerEntry 3 }

    hwNTPPeerRemAdr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The IP address of the peer.  When creating a new
            association, a value for this object should be set
            before the row is made active."
        ::= { hwNTPPeerEntry 4 }

    hwNTPPeerRemPort OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The UDP port number on which the peer receives NTP messages."
        ::= { hwNTPPeerEntry 5 }

    hwNTPPeerLocAdr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The IP address of the local host.  Multi-homing can
             be supported using this object."
        ::= { hwNTPPeerEntry 6 }

    hwNTPPeerLocPort 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."
        ::= { hwNTPPeerEntry 7 }

    hwNTPPeerLeap OBJECT-TYPE
        SYNTAX INTEGER
            {
                noWarning(0),
                addSecond(1),
                subtractSecond(2),
                alarm(3)
            }
        MAX-ACCESS  read-only
        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)"
        ::= { hwNTPPeerEntry 8 }

    hwNTPPeerHMode OBJECT-TYPE
        SYNTAX INTEGER
            {
                unspecified (0),
                symmetricActive (1),
                symmetricPassive (2),
                client (3),
                server(4),
                broadcast (5),
                reservedControl (6),
                reservedPrivate (7),
                broadcastclient (8),
                multicastclient (9)
            }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This is an integer indicating the association mode,
            with values coded as follows,
            0, unspecified
            1, symmetric active - A host operating in this mode
                    sends periodic messages regardless of the
                    reach ability 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
                    reach ability 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
                    reach ability 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
            8, broadcastclient
            9, multicastclient"
        ::= { hwNTPPeerEntry 9 }

    hwNTPPeerStratum OBJECT-TYPE
        SYNTAX      Integer32(0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a integer indicating the stratum level
            of the peer clock, with values defined as follows:
            0, unspecified
            1, primary reference (e.g.,, radio clock)
            2-255, secondary reference (via NTP)"
        ::= { hwNTPPeerEntry 10 }

    hwNTPPeerPPoll OBJECT-TYPE
        SYNTAX      Integer32(-20..20)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The interval at which the peer polls the local host."
        ::= { hwNTPPeerEntry 11 }

    hwNTPPeerHPoll OBJECT-TYPE
        SYNTAX      Integer32(-20..20)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The interval at which the local host polls the peer."
        ::= { hwNTPPeerEntry 12 }

    hwNTPPeerPrecision OBJECT-TYPE
        SYNTAX      Integer32(-20..20)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a 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)."
        ::= { hwNTPPeerEntry 13 }

    hwNTPPeerRootDelay OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a signed fixed-point number indicating
            the total roundtrip delay to the primary reference source
            at the root of the synchronization subnet, in milliseconds.
            Note that this variable can take on both positive and negative
            values, depending on clock precision and skew."
        ::= { hwNTPPeerEntry 14 }

    hwNTPPeerRootDispersion OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a signed fixed-point number indicating
            the maximum error of the peer clock relative to
            the primary reference source at the root of the
            synchronization subnet, in milliseconds.  Only
            positive values greater than zero are possible."
        ::= { hwNTPPeerEntry 15 }

    hwNTPPeerRefId OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The reference identifier of the peer.
            This is a 32-bit code identifying the particular reference clock.
            In the case of stratum 0 (unspecified) or stratum 1 (primary
            reference source), this is a four-octet, left-justified,
            zero-padded ASCII string.
            Stratum, Code, Meaning
            0,       DCN,  DCN routing protocol
            0,       TSP,  TSP time protocol
            1,       ATOM, Atomic clock (calibrated)
            1,       WWVB, WWVB LF (band 5) radio
            1,       GOES, GOES UHF (band 9) satellite
            1,       WWV,  WWV HF (band 7) radio"
        ::= { hwNTPPeerEntry 16 }

    hwNTPPeerRefTime OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the local time at the peer, in timestamp format,
            when the local clock was last updated.  If the local clock has
            never been synchronized, the value is zero."
        ::= { hwNTPPeerEntry 17 }

    hwNTPPeerOrg OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the local time, in timestamp format,
            at the peer when it's latest NTP message was sent.
            If the peer becomes unreachable the value is set to zero"
        ::= { hwNTPPeerEntry 18 }

    hwNTPPeerRec OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the local time, in timestamp format,
            when the latest NTP message from the peer arrived.
            If the peer becomes unreachable the value is set to zero."
        ::= { hwNTPPeerEntry 19 }

    hwNTPPeerXmt OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is the local time, in timestamp format,
            at which the NTP message departed the sender."
        ::= { hwNTPPeerEntry 20 }

    hwNTPPeerReach OBJECT-TYPE
        SYNTAX      Integer32(0..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a shift register of NTP.WINDOW bits used to
            determine the reach ability 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"
        ::= { hwNTPPeerEntry 21 }

    hwNTPPeerValid  OBJECT-TYPE
        SYNTAX      Integer32(0..255)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an integer counter indicating the valid samples
            remaining in the filter register.  It is used to
            determine the reach ability state and when the
            poll interval should be increased or decreased."
        ::= { hwNTPPeerEntry 22 }

    hwNTPPeerTimer  OBJECT-TYPE
        SYNTAX      Integer32(0..2147483647)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an integer counter used to control the
            interval of transmitted NTP messages from the local host to the peer."
        ::= { hwNTPPeerEntry 23 }

    hwNTPPeerDelay  OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a signed fixed-point number indicating
            the roundtrip delay of the peer clock relative to
            the local clock over the network path between them,
            in milliseconds.  Note that this variable can take on
            both positive and negative values, depending on
            clock precision and skew-error accumulation."
        ::= { hwNTPPeerEntry 24 }

    hwNTPPeerOffset OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a signed, fixed-point number indicating the offset
            of the peer clock relative to the local clock, in milliseconds."
        ::= { hwNTPPeerEntry 25 }

    hwNTPPeerJitter OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an indicating that peer of sample Variance"
        ::= { hwNTPPeerEntry 26 }

    hwNTPPeerDispersion OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is a signed fixed-point number indicating the
            maximum error of the peer clock relative to the local
            clock over the network path between them, in milliseconds.
            Only positive values greater than zero are possible."
        ::= { hwNTPPeerEntry 27 }

    hwNTPPeerKeyId OBJECT-TYPE
        SYNTAX      Unsigned32(0..4294967295)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an unsigned integer identifying the cryptographic
            key used to generate the message-authentication code."
        ::= { hwNTPPeerEntry 28 }

    hwNTPPeerFiltDelay OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        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
            milliseconds.  This variable can take on both positive
            and negative values, depending on clock precision
            and skew-error accumulation."
        ::= { hwNTPPeerEntry 29 }

    hwNTPPeerFiltOffset OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The offset of the peer clock relative to the local clock in milliseconds."
        ::= { hwNTPPeerEntry 30 }

    hwNTPPeerFiltError OBJECT-TYPE
        SYNTAX      OCTET STRING(SIZE(1..128))
        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
            milliseconds.  Only positive values greater than zero
            are possible."
        ::= { hwNTPPeerEntry 31 }

    hwNTPPeerPMode OBJECT-TYPE
        SYNTAX INTEGER
            {
                unspecified (0),
                symmetricActive (1),
                symmetricPassive (2),
                client (3),
                server(4),
                broadcast (5),
                reservedControl (6),
                reservedPrivate (7),
                broadcastclient (8),
                multicastclient (9)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This is an integer indicating the association mode,
            with values coded as follows,
            0, unspecified
            1, symmetric active - A host operating in this mode
                    sends periodic messages regardless of the
                    reach ability 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
                    reach ability 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
                    reach ability 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
            8, broadcastclient
            9, multicastclient
            When creating a new peer association, if no value
            is specified for this object, it defaults to
            'symmetricActive'."
        ::= { hwNTPPeerEntry 32 }

    hwNTPPeerReceived OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of received messages."
        ::= { hwNTPPeerEntry 33 }

    hwNTPPeerSent OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of send messages."
        ::= { hwNTPPeerEntry 34 }

    hwNTPPeerFlash OBJECT-TYPE
        SYNTAX      BITS
            {
                recvRepeatMsg(0),              -- received repeated message
                recvremanMsg(1),               -- received remanufactured message
                unSynMsg(2),                   -- unsynchronized message
                dispBeyond(3),                 -- the peer dispersion beyond the mark
                unauthenticate(4),             -- the peer unauthenticate
                unSynClock(5),                 -- the peer clock is unsynchronized
                straBeyond(6),                 -- the peer stratum beyond the mark
                rootDispBeyond(7),             -- the peer rootdispersion beyond the mark
                noAuthen(8),                   -- the peer no authentication
                refuOperate(9)                 -- refuse operate
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The information about the message."
        ::= { hwNTPPeerEntry 35 }


    hwNTPPeerRowStatus 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'."
        ::= { hwNTPPeerEntry 36 }
END
