-- MIB file created 31-Jan-2011 04:59:11, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-PTP-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-PTP-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    TruthValue, DisplayString
            FROM SNMPv2-TC-v1
    InetAddressType, InetAddress
            FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero
            FROM CISCO-TC
    ciscoMgmt
            FROM CISCO-SMI
    Counter, Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoPtpMIB OBJECT IDENTIFIER ::= { ciscoMgmt 760 }
-- MODULE-IDENTITY
--  LastUpdated
--    201101280000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--    Cisco Systems
--    Customer Service
--    
--    Postal: 170 W Tasman Drive
--    San Jose, CA  95134
--    USA
--    
--    Tel: +1 800 553-NETS
--    
--    E-mail: cs-<list>@cisco.com
--  Descr
--    The MIB module for PTPv2 (IEEE1588 - 2008)
--    
--    Overview of PTPv2 (IEEE 1588-2008)
--    
--    This IEEE standard defines a protocol enabling precise
--    synchronization of clocks in measurement and control systems
--    implemented with packet-based networks, the IEEE Standard PTPv2
--    1588 (2008). This MIB does not address the standard IEEE
--    1588 (2002). The protocol is applicable to network elements
--    communicating using IP. The protocol enables heterogeneous
--    systems that include clocks of various inherent precision,
--    resolution, and stability to synchronize to a grandmaster
--    clock.
--    The protocol supports system-wide synchronization accuracy in
--    the sub-microsecond range with minimal network and local clock
--    computing resources. The standard uses UDP/IP. It includes
--    formal mechanisms for message extensions, higher sampling
--    rates, correction for asymmetry, a clock type to reduce error
--    accumulation in large topologies, and specifications on how to
--    incorporate the resulting additional data into the
--    synchronization protocol. The standard defines conformance and
--    management capability also.
--    
--    MIB description
--    
--    This MIB is to support the Precision Timing Protocol (PTP)
--    feature of Cisco System devices.
--    
--    Acronyms:
--             ARB       arbitrary
--             BMC       best master clock
--             CAN       Controller Area Network
--             CP        Communication Profile
--                       [according to IEC 61784-1:200710]
--             CPF       Communication Profile Family
--                       [according to IEC 61784-1:2007]
--             DS        Differentiated Service
--             E2E       End-to-End
--             E2ETC     End-to-End Transparent Clock
--             EUI       Extended Unique Identifier.
--             FFO       Fractional Frequency Offset
--             GPS       Global Positioning System
--             IANA      Internet Assigned Numbers Authority
--             ICV       Integrity Check Value
--             ID        Identification
--             IPv4      Internet Protocol version 4
--             IPv6      Internet Protocol version 6
--             JD        Julian Date
--             JDN       Julian Day Number
--             MAC       Media Access Control
--                       [according to IEEE Std 802.3-2005]
--             MJD       Modified Julian Day
--             NIST      National Institute of Standards and
--    Technology                    (see www.nist.gov)
--             NTP       Network Time Protocol (see IETF RFC 1305
--    [B7])
--             OUI       Organizational Unique Identifier(allocated
--    by
--    the IEEE)
--             P2P       Peer-to-Peer
--             P2PTC     Peer-To-Peer Transparent Clock
--             PHY       physical layer [according to IEEE Std
--    802.3-2005]
--             POSIX     Portable Operating System Interface
--                       (see ISO/IEC 9945:2003)
--             PPS       Pulse per Second
--             PTP       Precision Time Protocol
--             SA        Security Associations
--             SNTP      Simple Network Time Protocol
--             SOF       Start of Frame
--             TAI       International Atomic Time
--             TC        Traffic Class
--             TC        Transparent Clock
--             TLV       Type, Length, Value [according to IEEE Std
--    802.1AB]
--             ToD       Time of Day Synchronization
--             ToS       Type of Service
--             UCMM      UnConnect Message Manager
--             UDP/IP    User Datagram Protocol
--             UTC       Coordinated Universal Time
--    
--    References:
--       [1]  Precision clock synchronization protocol for networked
--    measurement and control systems - IEC 61588 IEEE 1588(tm)
--    Edition 2.0 2009-02
--    
--    
--    Definitions from [1] section 3.1
--    
--    Accuracy:
--    The mean of the time or frequency error between the clock under
--    test and a perfect reference clock, over an ensemble of
--    measurements.  Stability is a measure of how the mean varies
--    with respect to variables such as time, temperature, and so on.
--    
--    The precision is a measure of the deviation of the error from
--    the mean.
--    
--    Atomic process:
--    A process is atomic if the values of all inputs to the process
--    are not permitted to change until all of the results of the
--    process are instantiated, and the outputs of the process are
--    not visible to other processes until the processing of each
--    output is complete.
--    
--    Boundary clock:
--    A clock that has multiple Precision Time Protocol(PTP) ports in
--    a domain and maintains the timescale used in the domain.  It
--    may serve as the source of time, i.e., be a master clock, and
--    may synchronize to another clock, i.e., be a slave clock.
--    
--    Boundary node clock:
--    A clock that has multiple Precision Time Protocol(PTP) ports in
--    a domain and maintains the timescale used in the domain. It
--    differs from the boundary clock in that the clock roles can
--    change.
--    
--    Clock:
--    A node participating in the Precision Time Protocol (PTP) that
--    is capable of providing a measurement of the passage of time
--    since a defined epoch.
--    
--    Domain:
--    A logical grouping of clocks that synchronize to each other
--    using the protocol, but that are not necessarily synchronized
--    to clocks in another domain.
--    
--    End-to-end transparent clock:
--    A transparent clock that supports the use of the end-to-end
--    delay measurement mechanism between slave clocks and the master
--    clock.  Each node must measure the residence time of PTP event
--    messages and accumulate it in Correction Field.
--    
--    Epoch:
--    The origin of a timescale.
--    
--    Event:
--    An abstraction of the mechanism by which signals or conditions
--    are generated and represented.
--    
--    Foreign master:
--    An ordinary or boundary clock sending Announce messages to
--    another clock that is not the current master recognized by the
--    other clock.
--    
--    Grandmaster clock:
--    Within a domain, a clock that is the ultimate source of time
--    for clock synchronization using the protocol.
--    
--    Holdover:
--    A clock previously synchronized/syntonized to another clock
--    (normally a primary reference or a master clock) but now
--    free-running based on its own internal oscillator, whose
--    frequency is being adjusted using data acquired while it had
--    been synchronized/syntonized to the other clock.  It is said to
--    be in holdover or in the holdover mode, as long as it is within
--    its accuracy requirements.
--    
--    Link:
--    A network segment between two Precision Time Protocol ports
--    supporting the peer delay mechanism of this standard.  The peer
--    delay mechanism is designed to measure the propagation time
--    over such a link.
--    
--    Management node:
--    A device that configures and monitors clocks.
--    
--    Master clock:
--    In the context of a single Precision Time Protocol
--    communication path, a clock that is the source of time to which
--    all other clocks on that path synchronize.
--    
--    Message timestamp point:
--    A point within a Precision Time Protocol event message serving
--    as a reference point in the message.  A timestamp is defined by
--    the instant a message timestamp point passes the reference
--    plane of a clock.
--    
--    Multicast communication:
--    A communication model in which each Precision Time Protocol
--    message sent from any PTP port is capable of being received and
--    processed by all PTP ports on the same PTP communication path.
--    
--    Node:
--    A device that can issue or receive Precision Time Protocol
--    communications on a network.
--    
--    One-step clock:
--    A clock that provides time information using a single event
--    message.
--    
--    On-pass support:
--    Indicates that each node in the synchronization chain from
--    master to slave can support IEEE-1588.
--    
--    Ordinary clock:
--    A clock that has a single Precision Time Protocol port in a
--    domain and maintains the timescale used in the domain.  It may
--    serve as a source of time, i.e., be a master clock, or may
--    synchronize to another clock, i.e., be a slave clock.
--    
--    Parent clock:
--    The master clock to which a clock is synchronized.
--    
--    
--    Peer-to-peer transparent clock:
--    A transparent clock that, in addition to providing Precision
--    Time Protocol event transit time information, also provides
--    corrections for the propagation delay of the link connected to
--    the port receiving the PTP event message.  In the presence of
--    peer-to-peer transparent clocks, delay measurements between
--    slave clocks and the master clock are performed using the
--    peer-to-peer delay measurement mechanism.
--    
--    
--    Phase change rate:
--    The observed rate of change in the measured time with respect
--    to the reference time.  The phase change rate is equal to the
--    fractional frequency offset between the measured frequency and
--    the reference frequency.
--    
--    PortNumber:
--    An index identifying a specific Precision Time Protocol port on
--    a PTP node.
--    
--    Primary reference:
--    A source of time and or frequency that is traceable to
--    international standards.
--    
--    Profile:
--    The set of allowed Precision Time Protocol features applicable
--    to a device.
--    
--    Precision Time Protocol communication:
--    Information used in the operation of the protocol, transmitted
--    in a PTP message over a PTP communication path.
--    
--    Precision Time Protocol communication path: The signaling path
--    portion of a particular network enabling direct communication
--    among ordinary and boundary clocks.
--    
--    Precision Time Protocol node:
--    PTP ordinary, boundary, or transparent clock or a device that
--    generates or parses PTP messages.
--    
--    Precision Time Protocol port:
--    A logical access point of a clock for PTP communications to the
--    communications network.
--    
--    Recognized standard time source:
--    A recognized standard time source is a source external to
--    Precision Time Protocol that provides time and/or frequency as
--    appropriate that is traceable to the international standards
--    laboratories maintaining clocks that form the basis for the
--    International Atomic Time and Universal Coordinated Time
--    timescales.  Examples of these are Global Positioning System,
--    NTP, and National Institute of Standards and Technology (NIST)
--    timeservers.
--    
--    Requestor:
--    The port implementing the peer-to-peer delay mechanism that
--    initiates the mechanism by sending a Pdelay_Req message.
--    
--    Responder:
--    The port responding to the receipt of a Pdelay_Req message as
--    part of the operation of the peer-to-peer delay mechanism.
--    
--    Synchronized clocks:
--    Two clocks are synchronized to a specified uncertainty if they
--    have the same  epoch and their measurements of the time of a
--    single event at an arbitrary time differ by no more than that
--    uncertainty.
--    
--    Syntonized clocks:
--    Two clocks are syntonized if the duration of the second is the
--    same on both, which means the time as measured by each advances
--    at the same rate. They may or may not share the same epoch.
--    
--    Time of Day:
--    
--    
--    Timeout:
--    A mechanism for terminating requested activity that, at least
--    from the requester's perspective, does not complete within the
--    specified time.
--    
--    Timescale:
--    A linear measure of time from an epoch.
--    
--    Traceability:
--    A property of the result of a measurement or the value of a
--    standard whereby it can be related to stated references,
--    usually national or international standards, through an unbroken
--    chain of comparisons all having stated uncertainties.
--    
--    Translation device:
--    A boundary clock or, in some cases, a transparent clock that
--    translates the protocol messages between regions implementing
--    different transport and messaging protocols, between different
--    versions of IEEE Std 1588-2008/IEC 61588:2009, or different
--    Precision Time Protocol profiles.
--    
--    transparent clock:
--    A device that measures the time taken for a Precision Time
--    Protocol event message to transit the device and provides this
--    information to clocks receiving this PTP event message.
--    
--    Two-step clock:
--    A clock that provides time information using the combination of
--    an event message and a subsequent general message.
--    
--    The below table specifies the object formats of the various
--    textual conventions used.
--    
--    Data type mapping     Textual Convention  SYNTAX
--    ====================  ==================  =====================
--    5.3.2 TimeInterval    ClockTimeInterval   OCTET
--    STRING(SIZE(1..255))
--    5.3.3 Timestamp       ClockTimestamp      OCTET STRING(SIZE(6))
--    5.3.4 ClockIdentity   ClockIdentity       OCTET
--    STRING(SIZE(1..255))
--    5.3.5 PortIdentity    ClockPortNumber     INTEGER(1..65535)
--    5.3.7 ClockQuality    ClockQualityClassType
--    
--    Simple master-slave hierarchy [1] section 6.6.2.4
--    
--      ===============
--      - Ordinary    -
--      - Clock(1)    -
--      - GrandMaster -
--      =======M=======
--             |
--             1
--             |
--      =======S===============================
--      - Boundary                            -
--      - Clock(1)                            -
--      ==============M==================M=====
--                    |                  |
--                    2                  3
--                    |                  |
--               =====S======     =======S==================
--               - Ordinary -     - Boundary               -
--               - Clock(2) -     - Clock(2)               -
--               ============     =====M=============M======
--                                     |             |
--                                     4             5
--                                     |             |
--                                =====S======  =====S======
--                                - Ordinary -  - Ordinary -
--                                - Clock(3) -  - Clock(4) -
--                                ============  ============
--    
--      Grandmaster
--    
--      Boundary Clock(0-N)   Ordinary Clocks(0-N)
--      Ordinary Clocks(0-N)
--    
--    
--     Relationship cardinality
--        PTP system 1 : N PTP Clock
--        PTP Clock 1 : 1 Domain
--        PTP Clock 1 : N PTP Ports
--        PTP Port N : N Physical Port (interface in IF-MIB)
--    
--    Transparent clock diagram from section 6.7.1.3 of [1]
--    
--    
--              +============================+
--              |     Boundary clock - 1     |
--              +============================+
--              |                       |
--              |                       |
--      +== A ==+                       B
--      |                               |
--    +=====================+           |
--    |   Ordinary clock - 1|           |
--    +=====================+           |
--                                      +======================+
--    +==============+                  |      End-to-end      |
--    |  Ordinary    |==================|  transparent clock-  |
--    |  clock 1-1   |                  |       1 - 1          |
--    +==============+                  +======================+
--                                       |
--                                       |
--                                       C
--                                       |
--                                       |
--                                      +======================+
--    +==============+                  |      End-to-end      |
--    |  Ordinary    |==================|  transparent clock-  |
--    |  clock 1-2   |                  |       1 - 2          |
--    +==============+                  +======================+
--    
--    
--    The MIB refers to the sections of the IEEE 1588 standard for
--    reference. Throughout the MIB various secions from the standard
--    are referenced
--  RevDate
--    201101280000Z
--  RevDescr
--    Initial Version

ciscoPtpMIBNotifs OBJECT IDENTIFIER ::= { ciscoPtpMIB 0 }
ciscoPtpMIBObjects OBJECT IDENTIFIER ::= { ciscoPtpMIB 1 }
ciscoPtpMIBConformance OBJECT IDENTIFIER ::= { ciscoPtpMIB 2 }
ciscoPtpMIBSystemInfo OBJECT IDENTIFIER ::= { ciscoPtpMIBObjects 1 }
ciscoPtpMIBCompliances OBJECT IDENTIFIER ::= { ciscoPtpMIBConformance 1 }
ciscoPtpMIBGroups OBJECT IDENTIFIER ::= { ciscoPtpMIBConformance 2 }
ciscoPtpMIBClockInfo OBJECT IDENTIFIER ::= { ciscoPtpMIBObjects 2 }

ClockDomainType ::= Gauge(0..255)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    The Domain is identified by an integer, the domainNumber, in
--    the range of 0 to 255. An integer value that is used to assign
--    each PTP device to a particular domain. The following values
--    define the valid domains. [1] Section 7.1 Domains Table 2
--    
--             Value       definition.
--             =========   ===================
--             0           Default domain
--             1           Alternate domain 1
--             2           Alternate domain 2
--             3           Alternate domain 3
--             4 - 127     User-defined domains
--             128 - 255   Reserved
--  Refer
--    Section 7.1 Domains and Table 2 of [1]

ClockIdentity ::= OCTET STRING(SIZE(1..255))
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The clock Identity is an 8-octet array and will be presented in
--    the form of a character array. The value of the
--    ClockIdentity should be taken from the IEEE EUI-64 individual
--    assigned numbers as indicated in Section 7.5.2.2.2 of [1].  The
--    EUI-64 address is divided into the following fields.
--    
--         OUI byte[0-2]
--         Extension identifier bytes:[3-7]
--    
--    The clock identifier can be constructed from existing EUI-48
--    assignments and here is an abbreviated example extracted from
--    section 7.5.2.2.2 [1].
--    
--         Company EUI-48 = 0xACDE4823456716
--         EUI-64 = ACDE48FFFE23456716
--    
--    It is important to note the IEEE Registration Authority has
--    deprecated the use of MAC-48 in any new design.
--  Refer
--    Section 7.5.2.2.1 from [1]

ClockIntervalBase2 ::= INTEGER(-128..127)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    The interval included in message types Announce, Sync,
--    Delay_Req, and Pdelay_Req as indicated in section 7.7.2.1 of
--    [1].
--    
--    The mean time interval between successive messages shall be
--    represented as the logarithm to the base 2 of this time
--    interval measured in seconds on the local clock of the device
--    sending the message. The values of these logarithmic attributes
--    shall be selected from integers in the range -128 to 127 subject
--    to further limits established in an applicable PTP profile.
--  Refer
--    Section 7.7.2.1 General interval specification of [1]

ClockMechanismType ::= INTEGER {
        e2e(1),
        p2p(2),
        disabled(254)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The clock type based on whether End to End or peer to peer
--    mechanisms are used. The mechanism used to calculate the Mean
--    Path Delay as indicated in Table 9 of IEEE 1588-2008.
--    
--    Delay mechanism       Value(hex) Specification
--    E2E                    01        The port is configured to use
--                                     the delay request-response
--                                     mechanism.
--    
--    P2P                    02        The port is configured to use
--                                     the peer delay mechanism.
--    
--    DISABLED               FE        The port does not implement
--                                     the delay mechanism.
--  Refer
--    Sections 8.2.5.4.4, 6.6.4 and 7.4.2 of [1].

ClockInstanceType ::= Gauge(0..255)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    The instance of the Clock of a given clock type in a given
--    domain.

ClockPortNumber ::= Gauge(0..65535)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    An index identifying a specific Precision Time Protocol (PTP)
--    port on a PTP node.
--  Refer
--    Section 7.5.2.3 Port Number and 5.3.5 of [1]

ClockPortState ::= INTEGER {
        initializing(1),
        faulty(2),
        disabled(3),
        listening(4),
        preMaster(5),
        master(6),
        passive(7),
        uncalibrated(8),
        slave(9)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This is the value of the current state of the protocol engine
--    associated with this port.
--    Port state      Value     Description
--    ===========================================================
--    initializing      1       In this state a port initializes
--                              its data sets, hardware, and
--                              communication facilities.
--    faulty            2       The fault state of the protocol.
--    disabled          3       The port shall not place any
--                              messages on its communication path.
--    listening         4       The port is waiting for the
--                              announceReceiptTimeout to expire or
--                              to receive an Announce message from
--                              a master.
--    preMaster         5       The port shall behave in all respects
--                              as though it were in the MASTER state
--                              except that it shall not place any
--                              messages on its communication path
--                              except for Pdelay_Req, Pdelay_Resp,
--                              Pdelay_Resp_Follow_Up, signaling, or
--                              management messages.
--    master            6       The port is behaving as a master
--                              port. 
--    passive           7       The port shall not place any
--                              messages on its communication path
--                              except for Pdelay_Req, Pdelay_Resp,
--                              Pdelay_Resp_Follow_Up, or signaling
--                              messages, or management messages
--                              that are a required response to
--                              another management message
--    uncalibrated      8       The local port is preparing to
--                              synchronize to the master port.
--    slave             9       The port is synchronizing to the
--                              selected master port.
--  Refer
--    Section 8.2.5.3.1 portState and 9.2.5 of [1]

ClockProfileType ::= INTEGER {
        default(1),
        telecom(2),
        vendorspecific(3)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Clock Profile used. From [1] section 3.1.30, Profile is the set
--    of allowed Precision Time Protocol (PTP) features applicable to
--    a device.
--  Refer
--    Section 3.1.30 and 19.3 PTP profiles of [1]

ClockQualityAccuracyType ::= INTEGER {
        reserved00(1),
        nanoSecond25(32),
        nanoSecond100(33),
        nanoSecond250(34),
        microSec1(35),
        microSec2dot5(36),
        microSec10(37),
        microSec25(38),
        microSec100(39),
        microSec250(40),
        milliSec1(41),
        milliSec2dot5(42),
        milliSec10(43),
        milliSec25(44),
        milliSec100(45),
        milliSec250(46),
        second1(47),
        second10(48),
        secondGreater10(49),
        unknown(254),
        reserved255(255)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The ClockQuality as specified in section 5.3.7, 7.6.2.5 and
--    Table 6 of [1].
--    
--    The following values are not represented in the enumerated
--    values.
--    
--             0x01-0x1F Reserved
--             0x32-0x7F Reserved
--    
--    It is important to note that section 7.1.1 RFC2578 allows for
--    gaps and enumerate values to start with zero when indicated by
--    the protocol.
--  Refer
--    Section 5.3.7, 7.6.2.5 and Table 6 of [1]

ClockQualityClassType ::= Gauge(0..255)
-- TEXTUAL-CONVENTION
--  DspHint
--    d
--  Status
--    mandatory
--  Descr
--    The ClockQuality as specified in section 5.3.7, 7.6.2.4 and
--    Table 5 of [1].
--    
--     Value    Description
--     ======
--    ==========================================================
--           0  Reserved to enable compatibility with future
--              versions.
--         1-5  Reserved
--           6  Shall designate a clock that is synchronized
--              to a primary reference time source.  The
--              timescale distributed shall be PTP.  A
--              clockClass 6 clock shall not be a slave to
--              another clock in the domain.
--           7  Shall designate a clock that has previously
--              been designated as clockClass 6 but that has
--              lost the ability to synchronize to a primary
--              reference time source and is in holdover mode
--              and within holdover specifications. The
--              timescale distributed shall be PTP.  A
--              clockClass 7 clock shall not be a slave to
--              another clock in the domain.
--           8  Reserved.
--        9-10  Reserved to enable compatibility with future
--              versions.
--       11-12  Reserved.
--          13  Shall designate a clock that is synchronized
--              to an application-specific source of time.
--              The timescale distributed shall be ARB.  A
--              clockClass 13 clock shall not be a slave to
--              another clock in the domain.
--          14  Shall designate a clock that has previously
--              been designated as clockClass 13 but that
--              has lost the ability to synchronize to an
--              application-specific source of time and is
--              in holdover mode and within holdover
--              specifications. The timescale distributed
--              shall be ARB.  A clockClass 14 clock shall
--              not be a slave to another clock in the domain.
--       15-51  Reserved.
--          52  Degradation alternative A for a clock of
--              clockClass 7 that is not within holdover
--              specification.  A clock of clockClass 52
--              shall not be a slave to another clock in
--              the domain.
--       53-57  Reserved.
--          58  Degradation alternative A for a clock of
--              clockClass 14 that is not within holdover
--              specification. A clock of clockClass 58 shall
--              not be a slave to another clock in the domain.
--       59-67  Reserved.
--      68-122  For use by alternate PTP profiles.
--     123-127  Reserved.
--     128-132  Reserved.
--     133-170  For use by alternate PTP profiles.
--     171-186  Reserved.
--    
--         187  Degradation alternative B for a clock of
--              clockClass 7 that is not within holdover
--              specification. A clock of clockClass 187 may
--              be a slave to another clock in the domain.
--     188-192 Reserved.
--         193 Degradation alternative B for a clock of
--             clockClass 14 that is not within holdover
--             specification. A clock of clockClass 193 may
--             be a slave to another clock in the domain.
--     194-215 Reserved.
--     216-232 For use by alternate PTP profiles.
--     233-247 Reserved.
--         248 Default. This clockClass shall be used if
--             none of the other clockClass definitions apply.
--     249-250 Reserved.
--         251 Reserved for version 1 compatibility; see Clause 18.
--     252-254 Reserved.
--         255 Shall be the clockClass of a slave-only clock; see
--    9.2.2.
--  Refer
--    section 5.3.7, 7.6.2.4 and Table 5 of [1].

ClockRoleType ::= INTEGER {
        master(1),
        slave(2)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The Clock Role. The protocol generates a Master Slave
--    relationship among the clocks in the system.
--    
--    Clock Role      Value     Description
--    ==============================================================
--    Master clock     1        A clock that is the source of
--                              time to which all other clocks on
--                              that path synchronize.
--    
--    Slave clock       2       A clock which synchronizes to
--                              another clock (master).

ClockStateType ::= INTEGER {
        freerun(1),
        holdover(2),
        acquiring(3),
        frequencyLocked(4),
        phaseAligned(5)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The clock state returned by PTP engine.
--    
--    Clock State      Value   Description
--    ==============================================================
--    Freerun state       1   Applies to a slave device that is not
--                            locked to a master. This is the initial
--                            state a slave starts out with when it
--                            is not getting any PTP packets from the
--                            master or because of some other input
--                            error (erroneous packets, etc).
--    
--    Holdover state      2  In this state the slave device is
--                            locked to a master but communication
--                            with the master is lost or the
--                            timestamps in the ptp packets are
--                            incorrect. But since the slave was
--                            locked to the master, it can run with
--                            the same accuracy for sometime. The
--                            slave can continue to operate in this
--                            state for some time. If communication
--                            with the master is not restored for a
--                            while, the device is moved to the
--                            FREERUN state.
--    
--    Acquiring state     3   The slave device is receiving packets
--                            from a master and is trying to acquire
--                            a lock.
--    
--    Freq_locked state   4   Slave device is locked to the Master
--                            with respect to frequency, but not phase
--                            aligned
--    
--    Phase_aligned state 5   Locked to the master with respect to
--                            frequency and phase.

ClockTimeSourceType ::= INTEGER {
        atomicClock(16),
        gps(32),
        terrestrialRadio(48),
        ptp(64),
        ntp(80),
        handSet(96),
        other(144),
        internalOsillator(160)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The ClockQuality as specified in section 5.3.7, 7.6.2.6 and
--    Table 7 of [1].
--    
--    The following values are not represented in the enumerated
--    values.
--    
--    0xF0-0xFE  For use by alternate PTP profiles
--    0xFF       Reserved
--    
--    It is important to note that section 7.1.1 RFC2578 allows for
--    gaps and enumerate values to start with zero when indicated by
--    the protocol.
--  Refer
--    section 5.3.7, 7.6.2.6 and Table 7 of [1].

ClockTimeInterval ::= OCTET STRING(SIZE(1..255))
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    This textual convention corresponds to the TimeInterval
--    structure indicated in section 5.3.2 of [1]. It will be
--    presented in the form of a character array.
--    
--    The TimeInterval type represents time intervals.
--    
--         struct TimeInterval
--         {
--              Integer64 scaledNanoseconds;
--         };
--    
--    The scaledNanoseconds member is the time interval expressed in
--    units of nanoseconds and multiplied by 2**16.
--    
--    Positive or negative time intervals outside the maximum range
--    of this data type shall be encoded as the largest positive and
--    negative values of the data type, respectively.
--    
--    For example, 2.5 ns is expressed as 0000 0000 0002 8000 in
--    Base16.
--  Refer
--    Section 5.3.2 and setion 7.7.2.1 Timer interval
--    specification of [1]

ClockTxModeType ::= INTEGER {
        unicast(1),
        multicast(2),
        multicastmix(3)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Transmission mode.
--    
--    unicast. Using unicast commnuication channel.
--    
--    multicast. Using Multicast communication channel.
--    
--    multicast-mix. Using multicast-unicast communication channel

ClockType ::= INTEGER {
        ordinaryClock(1),
        boundaryClock(2),
        transparentClock(3),
        boundaryNode(4)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The clock types as defined in the MIB module description.
--  Refer
--    section 6.5.1 of [1].

cPtpSystemTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpSystemEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of count information about the PTP system for all
        domains."
    ::= { ciscoPtpMIBSystemInfo 1 }

cPtpSystemEntry OBJECT-TYPE
    SYNTAX CPtpSystemEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing count information about a
        single domain. New row entries are added when the PTP clock for
        this domain is configured, while the unconfiguration of the PTP
        clock removes it."
    INDEX { cPtpDomainIndex, cPtpInstanceIndex }
    ::= { cPtpSystemTable 1 }

CPtpSystemEntry ::= SEQUENCE {
    cPtpDomainIndex ClockDomainType,
    cPtpInstanceIndex ClockInstanceType,
    cPtpDomainClockPortsTotal Gauge,
    cPtpDomainClockPortPhysicalInterfacesTotal Gauge
    }

cPtpDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices. The Clock Domain is a logical group of
        clocks and devices that synchronize with each other using the
        PTP protocol.
        
        
        0           Default domain
        1           Alternate domain 1
        2           Alternate domain 2
        3           Alternate domain 3
        4 - 127     User-defined domains
        128 - 255   Reserved"
    ::= { cPtpSystemEntry 1 }

cPtpInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the Clock for this
        domain."
    ::= { cPtpSystemEntry 2 }

cPtpDomainClockPortsTotal OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    ptp ports
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the total number of clock ports
        configured within a domain."
    ::= { cPtpSystemEntry 3 }

cPtpDomainClockPortPhysicalInterfacesTotal OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    physical ports
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the total number of clock port Physical
        interfaces configured within a domain instance for PTP
        communications."
    ::= { cPtpSystemEntry 4 }

cPtpSystemDomainTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpSystemDomainEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP system for all clock modes
        -- ordinary, boundary or transparent."
    ::= { ciscoPtpMIBSystemInfo 2 }

cPtpSystemDomainEntry OBJECT-TYPE
    SYNTAX CPtpSystemDomainEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        clock mode for the PTP system. A row entry gets added when PTP
        clocks are configured on the router."
    INDEX { cPtpSystemDomainClockTypeIndex }
    ::= { cPtpSystemDomainTable 1 }

CPtpSystemDomainEntry ::= SEQUENCE {
    cPtpSystemDomainClockTypeIndex ClockType,
    cPtpSystemDomainTotals Gauge
    }

cPtpSystemDomainClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpSystemDomainEntry 1 }

cPtpSystemDomainTotals OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    domains
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the  total number of PTP domains for this
        particular clock type configured in this node."
    ::= { cPtpSystemDomainEntry 2 }

cPtpClockNodeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP system for a given domain."
    ::= { ciscoPtpMIBSystemInfo 3 }

cPtpClockNodeEntry OBJECT-TYPE
    SYNTAX CPtpClockNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        domain. A entry is added when a new PTP clock domain is
        configured on the router."
    INDEX { cPtpClockDomainIndex, cPtpClockTypeIndex, cPtpClockInstanceIndex }
    ::= { cPtpClockNodeTable 1 }

CPtpClockNodeEntry ::= SEQUENCE {
    cPtpClockDomainIndex ClockDomainType,
    cPtpClockTypeIndex ClockType,
    cPtpClockInstanceIndex ClockInstanceType,
    cPtpClockInput1ppsEnabled TruthValue,
    cPtpClockInputFrequencyEnabled TruthValue,
    cPtpClockTODEnabled TruthValue,
    cPtpClockOutput1ppsEnabled TruthValue,
    cPtpClockOutput1ppsOffsetEnabled TruthValue,
    cPtpClockOutput1ppsOffsetValue Gauge,
    cPtpClockOutput1ppsOffsetNegative TruthValue,
    cPtpClockInput1ppsInterface DisplayString,
    cPtpClockOutput1ppsInterface DisplayString,
    cPtpClockTODInterface DisplayString
    }

cPtpClockDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the  domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockNodeEntry 1 }

cPtpClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockNodeEntry 2 }

cPtpClockInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the Clock for this clock
        type for the given domain."
    ::= { cPtpClockNodeEntry 3 }

cPtpClockInput1ppsEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the node is enabled for PTP input
        clocking using the 1pps interface."
    ::= { cPtpClockNodeEntry 4 }

cPtpClockInputFrequencyEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether enabled for Frequency input using
        the 1.544 Mhz, 2.048 Mhz, or 10Mhz timing interface."
    ::= { cPtpClockNodeEntry 5 }

cPtpClockTODEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the node is enabled for TOD."
    ::= { cPtpClockNodeEntry 6 }

cPtpClockOutput1ppsEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the node is enabled for PTP input
        clocking using the 1pps interface."
    ::= { cPtpClockNodeEntry 7 }

cPtpClockOutput1ppsOffsetEnabled OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether an offset is configured in order
        to compensate for a known phase error such as network
        asymmetry."
    REFERENCE
        "section 11 Clock offset, path delay, residence time, and
        asymmetry corrections of [1]"
    ::= { cPtpClockNodeEntry 8 }

cPtpClockOutput1ppsOffsetValue OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the fixed offset value configured to be
        added for the 1pps output."
    ::= { cPtpClockNodeEntry 9 }

cPtpClockOutput1ppsOffsetNegative OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the added (fixed) offset to the
        1pps output is negative or not.  When object returns TRUE the
        offset is negative and when object returns FALSE the offset is
        positive."
    ::= { cPtpClockNodeEntry 10 }

cPtpClockInput1ppsInterface OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the 1pps interface used for PTP input
        clocking."
    ::= { cPtpClockNodeEntry 11 }

cPtpClockOutput1ppsInterface OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the 1pps interface used for PTP output
        clocking."
    ::= { cPtpClockNodeEntry 12 }

cPtpClockTODInterface OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the interface used for PTP TOD."
    ::= { cPtpClockNodeEntry 13 }

cPtpSystemProfile OBJECT-TYPE
    SYNTAX ClockProfileType
--    Rsyntax INTEGER {
--        default(1),
--        telecom(2),
--        vendorspecific(3)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP Profile implemented on the
        system."
    REFERENCE
        "Section 19.3 PTP profiles of [1]"
    ::= { ciscoPtpMIBSystemInfo 4 }

cPtpClockCurrentDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockCurrentDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP clock Current Datasets for
        all domains."
    ::= { ciscoPtpMIBClockInfo 1 }

cPtpClockCurrentDSEntry OBJECT-TYPE
    SYNTAX CPtpClockCurrentDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP clock Current Datasets for a domain."
    REFERENCE
        "1588 Version 2.0 Section 8.2.2 currentDS data set member
        specifications of [1]"
    INDEX { cPtpClockCurrentDSDomainIndex, cPtpClockCurrentDSClockTypeIndex, cPtpClockCurrentDSInstanceIndex }
    ::= { cPtpClockCurrentDSTable 1 }

CPtpClockCurrentDSEntry ::= SEQUENCE {
    cPtpClockCurrentDSDomainIndex ClockDomainType,
    cPtpClockCurrentDSClockTypeIndex ClockType,
    cPtpClockCurrentDSInstanceIndex ClockInstanceType,
    cPtpClockCurrentDSStepsRemoved Counter,
    cPtpClockCurrentDSOffsetFromMaster ClockTimeInterval,
    cPtpClockCurrentDSMeanPathDelay ClockTimeInterval
    }

cPtpClockCurrentDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockCurrentDSEntry 1 }

cPtpClockCurrentDSClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockCurrentDSEntry 2 }

cPtpClockCurrentDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockCurrentDSEntry 3 }

cPtpClockCurrentDSStepsRemoved OBJECT-TYPE
    SYNTAX Counter
--  Units
--    steps
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The current clock dataset StepsRemoved value.
        
        This object specifies the distance measured by the number of
        Boundary clocks between the local clock and the Foreign master
        as indicated in the stepsRemoved field of Announce messages."
    REFERENCE
        "1588 Version 2.0 Section 8.2.2.2 stepsRemoved"
    ::= { cPtpClockCurrentDSEntry 4 }

cPtpClockCurrentDSOffsetFromMaster OBJECT-TYPE
    SYNTAX ClockTimeInterval
--    Rsyntax OCTET STRING(SIZE(1..255))
--  Units
--    Time Interval
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the current clock dataset ClockOffset
        value. The value of the computation of the offset in time
        between
        a slave and a master clock."
    REFERENCE
        "1588 Version 2.0 Section 8.2.2.3 of [1]"
    ::= { cPtpClockCurrentDSEntry 5 }

cPtpClockCurrentDSMeanPathDelay OBJECT-TYPE
    SYNTAX ClockTimeInterval
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the current clock dataset
        MeanPathDelay value.
        
        The mean path delay between a pair of ports as measure by the
        delay request-response mechanism."
    REFERENCE
        "1588 Version 2.0 Section 8.2.2.4 mean path delay"
    ::= { cPtpClockCurrentDSEntry 6 }

cPtpClockParentDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockParentDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP clock Parent Datasets for
        all domains."
    ::= { ciscoPtpMIBClockInfo 2 }

cPtpClockParentDSEntry OBJECT-TYPE
    SYNTAX CPtpClockParentDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP clock Parent Datasets for a domain."
    REFERENCE
        "Section 8.2.3 parentDS data set member specifications of
        [1]"
    INDEX { cPtpClockParentDSDomainIndex, cPtpClockParentDSClockTypeIndex, cPtpClockParentDSInstanceIndex }
    ::= { cPtpClockParentDSTable 1 }

CPtpClockParentDSEntry ::= SEQUENCE {
    cPtpClockParentDSDomainIndex ClockDomainType,
    cPtpClockParentDSClockTypeIndex ClockType,
    cPtpClockParentDSInstanceIndex ClockInstanceType,
    cPtpClockParentDSParentPortIdentity OCTET STRING,
    cPtpClockParentDSParentStats TruthValue,
    cPtpClockParentDSOffset ClockIntervalBase2,
    cPtpClockParentDSClockPhChRate INTEGER,
    cPtpClockParentDSGMClockIdentity ClockIdentity,
    cPtpClockParentDSGMClockPriority1 INTEGER,
    cPtpClockParentDSGMClockPriority2 INTEGER,
    cPtpClockParentDSGMClockQualityClass ClockQualityClassType,
    cPtpClockParentDSGMClockQualityAccuracy ClockQualityAccuracyType,
    cPtpClockParentDSGMClockQualityOffset Gauge
    }

cPtpClockParentDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockParentDSEntry 1 }

cPtpClockParentDSClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockParentDSEntry 2 }

cPtpClockParentDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockParentDSEntry 3 }

cPtpClockParentDSParentPortIdentity OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value of portIdentity of the port on
        the master that issues the Sync messages used in synchronizing
        this clock."
    REFERENCE
        "section 8.2.3.2 parentDS.parentPortIdentity of [1]"
    ::= { cPtpClockParentDSEntry 4 }

cPtpClockParentDSParentStats OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Parent Dataset ParentStats value.
        
        This value indicates whether the values of ParentDSOffset
        and ParentDSClockPhChRate have been measured and are valid.
        A TRUE value shall indicate valid data."
    REFERENCE
        "section 8.2.3.3 parentDS.parentStats of [1]"
    ::= { cPtpClockParentDSEntry 5 }

cPtpClockParentDSOffset OBJECT-TYPE
    SYNTAX ClockIntervalBase2(-128..127)
--    Rsyntax INTEGER(-128..127)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Parent Dataset
        ParentOffsetScaledLogVariance value.
        
        This value is the variance of the parent clocks phase as
        measured by the local clock."
    REFERENCE
        "section 8.2.3.4
        parentDS.observedParentOffsetScaledLogVariance [1]"
    ::= { cPtpClockParentDSEntry 6 }

cPtpClockParentDSClockPhChRate OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock's parent dataset
        ParentClockPhaseChangeRate value.
        
        This value is an estimate of the parent clocks phase change
        rate as measured by the slave clock."
    REFERENCE
        "section 8.2.3.5
        parentDS.observedParentClockPhaseChangeRate of [1]"
    ::= { cPtpClockParentDSEntry 7 }

cPtpClockParentDSGMClockIdentity OBJECT-TYPE
    SYNTAX ClockIdentity
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset Grandmaster clock
        identity."
    REFERENCE
        "section  8.2.3.6 parentDS.grandmasterIdentity of [1]"
    ::= { cPtpClockParentDSEntry 8 }

cPtpClockParentDSGMClockPriority1 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset Grandmaster clock
        priority1."
    REFERENCE
        "section 8.2.3.8 parentDS.grandmasterPriority1 of [1]"
    ::= { cPtpClockParentDSEntry 9 }

cPtpClockParentDSGMClockPriority2 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset grandmaster clock
        priority2."
    REFERENCE
        "section 8.2.3.9 parentDS.grandmasterPriority2 of [1]"
    ::= { cPtpClockParentDSEntry 10 }

cPtpClockParentDSGMClockQualityClass OBJECT-TYPE
    SYNTAX ClockQualityClassType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset grandmaster clock
        quality class."
    REFERENCE
        "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"
    ::= { cPtpClockParentDSEntry 11 }

cPtpClockParentDSGMClockQualityAccuracy OBJECT-TYPE
    SYNTAX ClockQualityAccuracyType
--    Rsyntax INTEGER {
--        reserved00(1),
--        nanoSecond25(32),
--        nanoSecond100(33),
--        nanoSecond250(34),
--        microSec1(35),
--        microSec2dot5(36),
--        microSec10(37),
--        microSec25(38),
--        microSec100(39),
--        microSec250(40),
--        milliSec1(41),
--        milliSec2dot5(42),
--        milliSec10(43),
--        milliSec25(44),
--        milliSec100(45),
--        milliSec250(46),
--        second1(47),
--        second10(48),
--        secondGreater10(49),
--        unknown(254),
--        reserved255(255)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset grandmaster clock
        quality accuracy."
    REFERENCE
        "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"
    ::= { cPtpClockParentDSEntry 12 }

cPtpClockParentDSGMClockQualityOffset OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the parent dataset grandmaster clock
        quality offset."
    REFERENCE
        "section 8.2.3.7 parentDS.grandmasterClockQuality of [1]"
    ::= { cPtpClockParentDSEntry 13 }

cPtpClockDefaultDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockDefaultDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP clock Default Datasets for
        all domains."
    ::= { ciscoPtpMIBClockInfo 3 }

cPtpClockDefaultDSEntry OBJECT-TYPE
    SYNTAX CPtpClockDefaultDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP clock Default Datasets for a domain."
    INDEX { cPtpClockDefaultDSDomainIndex, cPtpClockDefaultDSClockTypeIndex, cPtpClockDefaultDSInstanceIndex }
    ::= { cPtpClockDefaultDSTable 1 }

CPtpClockDefaultDSEntry ::= SEQUENCE {
    cPtpClockDefaultDSDomainIndex ClockDomainType,
    cPtpClockDefaultDSClockTypeIndex ClockType,
    cPtpClockDefaultDSInstanceIndex ClockInstanceType,
    cPtpClockDefaultDSTwoStepFlag TruthValue,
    cPtpClockDefaultDSClockIdentity ClockIdentity,
    cPtpClockDefaultDSPriority1 INTEGER,
    cPtpClockDefaultDSPriority2 INTEGER,
    cPtpClockDefaultDSSlaveOnly TruthValue,
    cPtpClockDefaultDSQualityClass ClockQualityClassType,
    cPtpClockDefaultDSQualityAccuracy ClockQualityAccuracyType,
    cPtpClockDefaultDSQualityOffset INTEGER
    }

cPtpClockDefaultDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockDefaultDSEntry 1 }

cPtpClockDefaultDSClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockDefaultDSEntry 2 }

cPtpClockDefaultDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockDefaultDSEntry 3 }

cPtpClockDefaultDSTwoStepFlag OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the Two Step process is used."
    ::= { cPtpClockDefaultDSEntry 4 }

cPtpClockDefaultDSClockIdentity OBJECT-TYPE
    SYNTAX ClockIdentity
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default Datasets clock identity."
    ::= { cPtpClockDefaultDSEntry 5 }

cPtpClockDefaultDSPriority1 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default Datasets clock Priority1."
    ::= { cPtpClockDefaultDSEntry 6 }

cPtpClockDefaultDSPriority2 OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default Datasets clock Priority2."
    ::= { cPtpClockDefaultDSEntry 7 }

cPtpClockDefaultDSSlaveOnly OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Whether the SlaveOnly flag is set."
    ::= { cPtpClockDefaultDSEntry 8 }

cPtpClockDefaultDSQualityClass OBJECT-TYPE
    SYNTAX ClockQualityClassType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default dataset Quality Class."
    ::= { cPtpClockDefaultDSEntry 9 }

cPtpClockDefaultDSQualityAccuracy OBJECT-TYPE
    SYNTAX ClockQualityAccuracyType
--    Rsyntax INTEGER {
--        reserved00(1),
--        nanoSecond25(32),
--        nanoSecond100(33),
--        nanoSecond250(34),
--        microSec1(35),
--        microSec2dot5(36),
--        microSec10(37),
--        microSec25(38),
--        microSec100(39),
--        microSec250(40),
--        milliSec1(41),
--        milliSec2dot5(42),
--        milliSec10(43),
--        milliSec25(44),
--        milliSec100(45),
--        milliSec250(46),
--        second1(47),
--        second10(48),
--        secondGreater10(49),
--        unknown(254),
--        reserved255(255)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default dataset Quality Accurarcy."
    ::= { cPtpClockDefaultDSEntry 10 }

cPtpClockDefaultDSQualityOffset OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the default dataset Quality offset."
    ::= { cPtpClockDefaultDSEntry 11 }

cPtpClockRunningTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockRunningEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP clock Running Datasets for
        all domains."
    ::= { ciscoPtpMIBClockInfo 4 }

cPtpClockRunningEntry OBJECT-TYPE
    SYNTAX CPtpClockRunningEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP clock running Datasets for a domain."
    INDEX { cPtpClockRunningDomainIndex, cPtpClockRunningClockTypeIndex, cPtpClockRunningInstanceIndex }
    ::= { cPtpClockRunningTable 1 }

CPtpClockRunningEntry ::= SEQUENCE {
    cPtpClockRunningDomainIndex ClockDomainType,
    cPtpClockRunningClockTypeIndex ClockType,
    cPtpClockRunningInstanceIndex ClockInstanceType,
    cPtpClockRunningState ClockStateType,
    cPtpClockRunningPacketsSent Counter,
    cPtpClockRunningPacketsReceived Counter
    }

cPtpClockRunningDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockRunningEntry 1 }

cPtpClockRunningClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockRunningEntry 2 }

cPtpClockRunningInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockRunningEntry 3 }

cPtpClockRunningState OBJECT-TYPE
    SYNTAX ClockStateType
--    Rsyntax INTEGER {
--        freerun(1),
--        holdover(2),
--        acquiring(3),
--        frequencyLocked(4),
--        phaseAligned(5)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Clock state returned by PTP engine
        which was described earlier.
        
        Freerun state. Applies to a slave device that is not locked to
        a master. This is the initial state a slave starts out with
        when
        it is not getting any PTP packets from the master or because of
        some other input error (erroneous packets, etc).
        
        Holdover state. In this state the slave device is locked to a
        master but communication with the master is lost or the
        timestamps in the ptp packets are incorrect. But since the
        slave was locked to the master, it can run with the same
        accuracy for
        sometime. The slave can continue to operate in this state for
        some time. If communication with the master is not restored for
        a while, the device is moved to the FREERUN state.
        
        Acquiring state. The slave device is receiving packets from a
        master and is trying to acquire a lock.
        
        Freq_locked state. Slave device is locked to the Master with
        respect to frequency, but not phase aligned
        
        Phase_aligned state. Locked to the master with respect to
        frequency and phase."
    ::= { cPtpClockRunningEntry 4 }

cPtpClockRunningPacketsSent OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the total number of all packet Unicast
        and multicast that have been sent out for this clock in this
        domain for this type."
    ::= { cPtpClockRunningEntry 5 }

cPtpClockRunningPacketsReceived OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the total number of all packet Unicast
        and multicast that have been received for this clock in this
        domain for this type."
    ::= { cPtpClockRunningEntry 6 }

cPtpClockTimePropertiesDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockTimePropertiesDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP clock Timeproperties
        Datasets for all domains."
    ::= { ciscoPtpMIBClockInfo 5 }

cPtpClockTimePropertiesDSEntry OBJECT-TYPE
    SYNTAX CPtpClockTimePropertiesDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP clock timeproperties Datasets for a domain."
    REFERENCE
        "Section 8.2.4 of [1]"
    INDEX { cPtpClockTimePropertiesDSDomainIndex, cPtpClockTimePropertiesDSClockTypeIndex, cPtpClockTimePropertiesDSInstanceIndex }
    ::= { cPtpClockTimePropertiesDSTable 1 }

CPtpClockTimePropertiesDSEntry ::= SEQUENCE {
    cPtpClockTimePropertiesDSDomainIndex ClockDomainType,
    cPtpClockTimePropertiesDSClockTypeIndex ClockType,
    cPtpClockTimePropertiesDSInstanceIndex ClockInstanceType,
    cPtpClockTimePropertiesDSCurrentUTCOffsetValid TruthValue,
    cPtpClockTimePropertiesDSCurrentUTCOffset INTEGER,
    cPtpClockTimePropertiesDSLeap59 TruthValue,
    cPtpClockTimePropertiesDSLeap61 TruthValue,
    cPtpClockTimePropertiesDSTimeTraceable TruthValue,
    cPtpClockTimePropertiesDSFreqTraceable TruthValue,
    cPtpClockTimePropertiesDSPTPTimescale TruthValue,
    cPtpClockTimePropertiesDSSource ClockTimeSourceType
    }

cPtpClockTimePropertiesDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockTimePropertiesDSEntry 1 }

cPtpClockTimePropertiesDSClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockTimePropertiesDSEntry 2 }

cPtpClockTimePropertiesDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockTimePropertiesDSEntry 3 }

cPtpClockTimePropertiesDSCurrentUTCOffsetValid OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the timeproperties dataset value of
        whether current UTC offset is valid."
    REFERENCE
        "Section 8.2.4.2 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 4 }

cPtpClockTimePropertiesDSCurrentUTCOffset OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the timeproperties dataset value of
        current UTC offset.
        
        In PTP systems whose epoch is the PTP epoch, the value of
        timePropertiesDS.currentUtcOffset is the offset
        between TAI and UTC; otherwise the value has no meaning. The
        value shall be in units of seconds.
        The initialization value shall be selected as follows:
        a) If the timePropertiesDS.ptpTimescale (see 8.2.4.8) is TRUE,
        the value is the value obtained from a
        primary reference if the value is known at the time of
        initialization, else.
        b) The value shall be the current number of leap seconds (7.2.3)
        when the node is designed."
    REFERENCE
        "Section 8.2.4.3 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 5 }

cPtpClockTimePropertiesDSLeap59 OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Leap59 value in the clock Current
        Dataset."
    REFERENCE
        "Section 8.2.4.4 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 6 }

cPtpClockTimePropertiesDSLeap61 OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Leap61 value in the clock Current
        Dataset."
    REFERENCE
        "Section 8.2.4.5 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 7 }

cPtpClockTimePropertiesDSTimeTraceable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Timetraceable value in the clock
        Current Dataset."
    REFERENCE
        "Section 8.2.4.6 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 8 }

cPtpClockTimePropertiesDSFreqTraceable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Frequency Traceable value in the
        clock Current Dataset."
    REFERENCE
        "Section 8.2.4.7 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 9 }

cPtpClockTimePropertiesDSPTPTimescale OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP Timescale value in the clock
        Current Dataset."
    REFERENCE
        "Section 8.2.4.8 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 10 }

cPtpClockTimePropertiesDSSource OBJECT-TYPE
    SYNTAX ClockTimeSourceType
--    Rsyntax INTEGER {
--        atomicClock(16),
--        gps(32),
--        terrestrialRadio(48),
--        ptp(64),
--        ntp(80),
--        handSet(96),
--        other(144),
--        internalOsillator(160)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Timesource value in the clock Current
        Dataset."
    REFERENCE
        "Section 8.2.4.9 of [1]"
    ::= { cPtpClockTimePropertiesDSEntry 11 }

cPtpClockTransDefaultDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockTransDefaultDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the PTP Transparent clock Default
        Datasets for all domains."
    ::= { ciscoPtpMIBClockInfo 6 }

cPtpClockTransDefaultDSEntry OBJECT-TYPE
    SYNTAX CPtpClockTransDefaultDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        PTP Transparent clock Default Datasets for a domain."
    REFERENCE
        "Section 8.3.2 of [1]"
    INDEX { cPtpClockTransDefaultDSDomainIndex, cPtpClockTransDefaultDSInstanceIndex }
    ::= { cPtpClockTransDefaultDSTable 1 }

CPtpClockTransDefaultDSEntry ::= SEQUENCE {
    cPtpClockTransDefaultDSDomainIndex ClockDomainType,
    cPtpClockTransDefaultDSInstanceIndex ClockInstanceType,
    cPtpClockTransDefaultDSClockIdentity ClockIdentity,
    cPtpClockTransDefaultDSNumOfPorts Counter,
    cPtpClockTransDefaultDSDelay ClockMechanismType,
    cPtpClockTransDefaultDSPrimaryDomain INTEGER
    }

cPtpClockTransDefaultDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockTransDefaultDSEntry 1 }

cPtpClockTransDefaultDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockTransDefaultDSEntry 2 }

cPtpClockTransDefaultDSClockIdentity OBJECT-TYPE
    SYNTAX ClockIdentity
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value of the clockIdentity attribute
        of the local clock."
    REFERENCE
        "Section 8.3.2.2.1 of [1]"
    ::= { cPtpClockTransDefaultDSEntry 3 }

cPtpClockTransDefaultDSNumOfPorts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the number of PTP ports of the device."
    REFERENCE
        "Section 8.3.2.2.2 of [1]"
    ::= { cPtpClockTransDefaultDSEntry 4 }

cPtpClockTransDefaultDSDelay OBJECT-TYPE
    SYNTAX ClockMechanismType
--    Rsyntax INTEGER {
--        e2e(1),
--        p2p(2),
--        disabled(254)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object, if the transparent clock is an end-to-end
        transparent clock, has the value shall be E2E; If the
        transparent clock is a peer-to-peer transparent clock, the
        value
        shall be P2P."
    REFERENCE
        "Section 8.3.2.3.1 of [1]"
    ::= { cPtpClockTransDefaultDSEntry 5 }

cPtpClockTransDefaultDSPrimaryDomain OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value of the primary syntonization
        domain. The initialization value shall be 0."
    REFERENCE
        "Section 8.3.2.3.2 of [1]"
    ::= { cPtpClockTransDefaultDSEntry 6 }

cPtpClockPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the clock ports for a particular
        domain."
    ::= { ciscoPtpMIBClockInfo 7 }

cPtpClockPortEntry OBJECT-TYPE
    SYNTAX CPtpClockPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        clock port."
    INDEX { cPtpClockPortDomainIndex, cPtpClockPortClockTypeIndex, cPtpClockPortClockInstanceIndex, cPtpClockPortTablePortNumberIndex }
    ::= { cPtpClockPortTable 1 }

CPtpClockPortEntry ::= SEQUENCE {
    cPtpClockPortDomainIndex ClockDomainType,
    cPtpClockPortClockTypeIndex ClockType,
    cPtpClockPortClockInstanceIndex ClockInstanceType,
    cPtpClockPortTablePortNumberIndex ClockPortNumber,
    cPtpClockPortName DisplayString,
    cPtpClockPortRole ClockRoleType,
    cPtpClockPortSyncOneStep TruthValue,
    cPtpClockPortCurrentPeerAddressType InetAddressType,
    cPtpClockPortCurrentPeerAddress InetAddress,
    cPtpClockPortNumOfAssociatedPorts Gauge
    }

cPtpClockPortDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockPortEntry 1 }

cPtpClockPortClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockPortEntry 2 }

cPtpClockPortClockInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockPortEntry 3 }

cPtpClockPortTablePortNumberIndex OBJECT-TYPE
    SYNTAX ClockPortNumber(1..65535)
--    Rsyntax Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP Portnumber for this port."
    ::= { cPtpClockPortEntry 4 }

cPtpClockPortName OBJECT-TYPE
    SYNTAX DisplayString(SIZE(1..64))
--    Rsyntax OCTET STRING(SIZE(1..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP clock port name configured on the
        router."
    ::= { cPtpClockPortEntry 5 }

cPtpClockPortRole OBJECT-TYPE
    SYNTAX ClockRoleType
--    Rsyntax INTEGER {
--        master(1),
--        slave(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object describes the current role (slave/master) of the
        port."
    ::= { cPtpClockPortEntry 6 }

cPtpClockPortSyncOneStep OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies that one-step clock operation between
        the PTP master and slave device is enabled."
    ::= { cPtpClockPortEntry 7 }

cPtpClockPortCurrentPeerAddressType OBJECT-TYPE
    SYNTAX InetAddressType
--    Rsyntax INTEGER {
--        ?? enum value of zero may cause problems
--        unknown(0),
--        ipv4(1),
--        ipv6(2),
--        ipv4z(3),
--        ipv6z(4),
--        dns(16)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the current peer's network address used
        for PTP communication. Based on the scenario and the setup
        involved, the values might look like these -
        Scenario                   Value
        -------------------   ----------------
        Single Master          master port
        Multiple Masters       selected master port
        Single Slave           slave port
        Multiple Slaves        <empty>
        
        (In relevant setups, information on available
        slaves and available masters will be available through 
        cPtpClockPortAssociateTable)"
    ::= { cPtpClockPortEntry 8 }

cPtpClockPortCurrentPeerAddress OBJECT-TYPE
    SYNTAX InetAddress
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the current peer's network address used
        for PTP communication. Based on the scenario and the setup
        involved, the values might look like these -
        Scenario                   Value
        -------------------   ----------------
        Single Master          master port
        Multiple Masters       selected master port
        Single Slave           slave port
        Multiple Slaves        <empty>
        
        (In relevant setups, information on available
        slaves and available masters will be available through 
        cPtpClockPortAssociateTable)"
    ::= { cPtpClockPortEntry 9 }

cPtpClockPortNumOfAssociatedPorts OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies -
        For a master port - the number of PTP slave sessions (peers)
        associated with this PTP port.
        For a slave port - the number of masters available to this slave
        port (might or might not be peered)."
    ::= { cPtpClockPortEntry 10 }

cPtpClockPortDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockPortDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the clock ports dataset for a
        particular domain."
    ::= { ciscoPtpMIBClockInfo 8 }

cPtpClockPortDSEntry OBJECT-TYPE
    SYNTAX CPtpClockPortDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing port dataset information for
        a single clock port."
    INDEX { cPtpClockPortDSDomainIndex, cPtpClockPortDSClockTypeIndex, cPtpClockPortDSClockInstanceIndex, cPtpClockPortDSPortNumberIndex }
    ::= { cPtpClockPortDSTable 1 }

CPtpClockPortDSEntry ::= SEQUENCE {
    cPtpClockPortDSDomainIndex ClockDomainType,
    cPtpClockPortDSClockTypeIndex ClockType,
    cPtpClockPortDSClockInstanceIndex ClockInstanceType,
    cPtpClockPortDSPortNumberIndex ClockPortNumber,
    cPtpClockPortDSName DisplayString,
    cPtpClockPortDSPortIdentity OCTET STRING,
    cPtpClockPortDSAnnouncementInterval INTEGER,
    cPtpClockPortDSAnnounceRctTimeout INTEGER,
    cPtpClockPortDSSyncInterval INTEGER,
    cPtpClockPortDSMinDelayReqInterval INTEGER,
    cPtpClockPortDSPeerDelayReqInterval INTEGER,
    cPtpClockPortDSDelayMech ClockMechanismType,
    cPtpClockPortDSPeerMeanPathDelay ClockTimeInterval,
    cPtpClockPortDSGrantDuration Gauge,
    cPtpClockPortDSPTPVersion INTEGER
    }

cPtpClockPortDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockPortDSEntry 1 }

cPtpClockPortDSClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockPortDSEntry 2 }

cPtpClockPortDSClockInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockPortDSEntry 3 }

cPtpClockPortDSPortNumberIndex OBJECT-TYPE
    SYNTAX ClockPortNumber(1..65535)
--    Rsyntax Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP portnumber associated with this
        PTP port."
    ::= { cPtpClockPortDSEntry 4 }

cPtpClockPortDSName OBJECT-TYPE
    SYNTAX DisplayString(SIZE(1..64))
--    Rsyntax OCTET STRING(SIZE(1..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP clock port name."
    ::= { cPtpClockPortDSEntry 5 }

cPtpClockPortDSPortIdentity OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP clock port Identity."
    ::= { cPtpClockPortDSEntry 6 }

cPtpClockPortDSAnnouncementInterval OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Announce message transmission
        interval associated with this clock port."
    ::= { cPtpClockPortDSEntry 7 }

cPtpClockPortDSAnnounceRctTimeout OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Announce receipt timeout associated
        with this clock port."
    ::= { cPtpClockPortDSEntry 8 }

cPtpClockPortDSSyncInterval OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Sync message transmission interval."
    ::= { cPtpClockPortDSEntry 9 }

cPtpClockPortDSMinDelayReqInterval OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Delay_Req message transmission
        interval."
    ::= { cPtpClockPortDSEntry 10 }

cPtpClockPortDSPeerDelayReqInterval OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Pdelay_Req message transmission
        interval."
    ::= { cPtpClockPortDSEntry 11 }

cPtpClockPortDSDelayMech OBJECT-TYPE
    SYNTAX ClockMechanismType
--    Rsyntax INTEGER {
--        e2e(1),
--        p2p(2),
--        disabled(254)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the delay mechanism used. If the clock
        is an end-to-end clock, the value of the is e2e, else if the
        clock is a peer to-peer clock, the value shall be p2p."
    ::= { cPtpClockPortDSEntry 12 }

cPtpClockPortDSPeerMeanPathDelay OBJECT-TYPE
    SYNTAX ClockTimeInterval
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the peer meanPathDelay."
    ::= { cPtpClockPortDSEntry 13 }

cPtpClockPortDSGrantDuration OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the grant duration allocated by the
        master."
    ::= { cPtpClockPortDSEntry 14 }

cPtpClockPortDSPTPVersion OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP version being used."
    ::= { cPtpClockPortDSEntry 15 }

cPtpClockPortRunningTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockPortRunningEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the clock ports running dataset for
        a particular domain."
    ::= { ciscoPtpMIBClockInfo 9 }

cPtpClockPortRunningEntry OBJECT-TYPE
    SYNTAX CPtpClockPortRunningEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing runing dataset information
        about a single clock port."
    INDEX { cPtpClockPortRunningDomainIndex, cPtpClockPortRunningClockTypeIndex, cPtpClockPortRunningClockInstanceIndex, cPtpClockPortRunningPortNumberIndex }
    ::= { cPtpClockPortRunningTable 1 }

CPtpClockPortRunningEntry ::= SEQUENCE {
    cPtpClockPortRunningDomainIndex ClockDomainType,
    cPtpClockPortRunningClockTypeIndex ClockType,
    cPtpClockPortRunningClockInstanceIndex ClockInstanceType,
    cPtpClockPortRunningPortNumberIndex ClockPortNumber,
    cPtpClockPortRunningName DisplayString,
    cPtpClockPortRunningState ClockPortState,
    cPtpClockPortRunningRole ClockRoleType,
    cPtpClockPortRunningInterfaceIndex InterfaceIndexOrZero,
    cPtpClockPortRunningIPversion INTEGER,
    cPtpClockPortRunningEncapsulationType INTEGER,
    cPtpClockPortRunningTxMode ClockTxModeType,
    cPtpClockPortRunningRxMode ClockTxModeType,
    cPtpClockPortRunningPacketsReceived Counter,
    cPtpClockPortRunningPacketsSent Counter
    }

cPtpClockPortRunningDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockPortRunningEntry 1 }

cPtpClockPortRunningClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual convention description."
    ::= { cPtpClockPortRunningEntry 2 }

cPtpClockPortRunningClockInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockPortRunningEntry 3 }

cPtpClockPortRunningPortNumberIndex OBJECT-TYPE
    SYNTAX ClockPortNumber(1..65535)
--    Rsyntax Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP portnumber associated with this
        clock port."
    ::= { cPtpClockPortRunningEntry 4 }

cPtpClockPortRunningName OBJECT-TYPE
    SYNTAX DisplayString(SIZE(1..64))
--    Rsyntax OCTET STRING(SIZE(1..64))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP clock port name."
    ::= { cPtpClockPortRunningEntry 5 }

cPtpClockPortRunningState OBJECT-TYPE
    SYNTAX ClockPortState
--    Rsyntax INTEGER {
--        initializing(1),
--        faulty(2),
--        disabled(3),
--        listening(4),
--        preMaster(5),
--        master(6),
--        passive(7),
--        uncalibrated(8),
--        slave(9)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the port state returned by PTP engine.
        
        initializing - In this state a port initializes
                       its data sets, hardware, and
                       communication facilities.
        faulty       - The fault state of the protocol.
        disabled     - The port shall not place any
                       messages on its communication path.
        listening    - The port is waiting for the
                       announceReceiptTimeout to expire or
                       to receive an Announce message from
                       a master.
        preMaster    - The port shall behave in all respects
                       as though it were in the MASTER state
                       except that it shall not place any
                       messages on its communication path
                       except for Pdelay_Req, Pdelay_Resp,
                       Pdelay_Resp_Follow_Up, signaling, or
                       management messages.
        master       - The port is behaving as a master port.           
        
        passive      - The port shall not place any
                       messages on its communication path
                       except for Pdelay_Req, Pdelay_Resp,
                       Pdelay_Resp_Follow_Up, or signaling
                       messages, or management messages
                       that are a required response to
                       another management message
        uncalibrated - The local port is preparing to
                       synchronize to the master port.
        slave        - The port is synchronizing to the
                       selected master port."
    ::= { cPtpClockPortRunningEntry 6 }

cPtpClockPortRunningRole OBJECT-TYPE
    SYNTAX ClockRoleType
--    Rsyntax INTEGER {
--        master(1),
--        slave(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the Clock Role."
    ::= { cPtpClockPortRunningEntry 7 }

cPtpClockPortRunningInterfaceIndex OBJECT-TYPE
    SYNTAX InterfaceIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the interface on the router being used by
        the PTP Clock for PTP communication."
    ::= { cPtpClockPortRunningEntry 8 }

cPtpClockPortRunningIPversion OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifirst the IP version being used for PTP
        communication (the mapping used)."
    ::= { cPtpClockPortRunningEntry 9 }

cPtpClockPortRunningEncapsulationType OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the type of encapsulation if the
        interface is adding extra  layers (eg. VLAN, Pseudowire
        encapsulation...) for the PTP messages."
    ::= { cPtpClockPortRunningEntry 10 }

cPtpClockPortRunningTxMode OBJECT-TYPE
    SYNTAX ClockTxModeType
--    Rsyntax INTEGER {
--        unicast(1),
--        multicast(2),
--        multicastmix(3)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the clock transmission mode as
        
        unicast:       Using unicast commnuication channel.
        multicast:     Using Multicast communication channel.
        multicast-mix: Using multicast-unicast communication channel"
    ::= { cPtpClockPortRunningEntry 11 }

cPtpClockPortRunningRxMode OBJECT-TYPE
    SYNTAX ClockTxModeType
--    Rsyntax INTEGER {
--        unicast(1),
--        multicast(2),
--        multicastmix(3)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifie the clock receive mode as
        
        unicast:       Using unicast commnuication channel.
        multicast:     Using Multicast communication channel.
        multicast-mix: Using multicast-unicast communication channel"
    ::= { cPtpClockPortRunningEntry 12 }

cPtpClockPortRunningPacketsReceived OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the packets received on the clock port
        (cummulative)."
    ::= { cPtpClockPortRunningEntry 13 }

cPtpClockPortRunningPacketsSent OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the packets sent on the clock port
        (cummulative)."
    ::= { cPtpClockPortRunningEntry 14 }

cPtpClockPortTransDSTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockPortTransDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about the Transparent clock ports running
        dataset for a particular domain."
    ::= { ciscoPtpMIBClockInfo 10 }

cPtpClockPortTransDSEntry OBJECT-TYPE
    SYNTAX CPtpClockPortTransDSEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing clock port Transparent
        dataset information about a single clock port"
    INDEX { cPtpClockPortTransDSDomainIndex, cPtpClockPortTransDSInstanceIndex, cPtpClockPortTransDSPortNumberIndex }
    ::= { cPtpClockPortTransDSTable 1 }

CPtpClockPortTransDSEntry ::= SEQUENCE {
    cPtpClockPortTransDSDomainIndex ClockDomainType,
    cPtpClockPortTransDSInstanceIndex ClockInstanceType,
    cPtpClockPortTransDSPortNumberIndex ClockPortNumber,
    cPtpClockPortTransDSPortIdentity ClockIdentity,
    cPtpClockPortTransDSlogMinPdelayReqInt INTEGER,
    cPtpClockPortTransDSFaultyFlag TruthValue,
    cPtpClockPortTransDSPeerMeanPathDelay ClockTimeInterval
    }

cPtpClockPortTransDSDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the domain number used to create logical
        group of PTP devices."
    ::= { cPtpClockPortTransDSEntry 1 }

cPtpClockPortTransDSInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType(0..255)
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockPortTransDSEntry 2 }

cPtpClockPortTransDSPortNumberIndex OBJECT-TYPE
    SYNTAX ClockPortNumber(1..65535)
--    Rsyntax Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP port number associated with this
        port."
    REFERENCE
        "Section 7.5.2 Port Identity of [1]"
    ::= { cPtpClockPortTransDSEntry 3 }

cPtpClockPortTransDSPortIdentity OBJECT-TYPE
    SYNTAX ClockIdentity
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value of the PortIdentity
        attribute of the local port."
    REFERENCE
        "Section 8.3.3.2.1 of [1]"
    ::= { cPtpClockPortTransDSEntry 4 }

cPtpClockPortTransDSlogMinPdelayReqInt OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value of the logarithm to the
        base 2 of the minPdelayReqInterval."
    REFERENCE
        "Section 8.3.3.3.1 of [1]"
    ::= { cPtpClockPortTransDSEntry 5 }

cPtpClockPortTransDSFaultyFlag OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the value TRUE if the port is faulty
        and FALSE if the port is operating normally."
    REFERENCE
        "Section 8.3.3.3.2 of [1]"
    ::= { cPtpClockPortTransDSEntry 6 }

cPtpClockPortTransDSPeerMeanPathDelay OBJECT-TYPE
    SYNTAX ClockTimeInterval
--    Rsyntax OCTET STRING(SIZE(1..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies, (if the delayMechanism used is P2P) the
        value is the estimate of the current one-way propagation delay,
        i.e., <meanPathDelay> on the link attached to this port
        computed
        using the peer delay mechanism. If the value of the
        delayMechanism
        used is E2E, then the value will be zero."
    REFERENCE
        "Section 8.3.3.3.3 of [1]"
    ::= { cPtpClockPortTransDSEntry 7 }

cPtpClockPortAssociateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CPtpClockPortAssociateEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of information about a given port's associated ports.
        
        For a master port - multiple slave ports which have established
        sessions with the current master port.  
        For a slave port - the list of masters available for a given
        slave port. 
        
        Session information (pkts, errors) to be displayed based on
        availability and scenario."
    ::= { ciscoPtpMIBClockInfo 11 }

cPtpClockPortAssociateEntry OBJECT-TYPE
    SYNTAX CPtpClockPortAssociateEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about a single
        associated port for the given clockport."
    INDEX { cPtpClockPortCurrentDomainIndex, cPtpClockPortCurrentClockTypeIndex, cPtpClockPortCurrentClockInstanceIndex, cPtpClockPortCurrentPortNumberIndex, cPtpClockPortAssociatePortIndex }
    ::= { cPtpClockPortAssociateTable 1 }

CPtpClockPortAssociateEntry ::= SEQUENCE {
    cPtpClockPortCurrentDomainIndex ClockDomainType,
    cPtpClockPortCurrentClockTypeIndex ClockType,
    cPtpClockPortCurrentClockInstanceIndex ClockInstanceType,
    cPtpClockPortCurrentPortNumberIndex ClockPortNumber,
    cPtpClockPortAssociatePortIndex Gauge,
    cPtpClockPortAssociateAddressType InetAddressType,
    cPtpClockPortAssociateAddress InetAddress,
    cPtpClockPortAssociatePacketsSent Counter,
    cPtpClockPortAssociatePacketsReceived Counter,
    cPtpClockPortAssociateInErrors Counter,
    cPtpClockPortAssociateOutErrors Counter
    }

cPtpClockPortCurrentDomainIndex OBJECT-TYPE
    SYNTAX ClockDomainType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the given port's domain number."
    ::= { cPtpClockPortAssociateEntry 1 }

cPtpClockPortCurrentClockTypeIndex OBJECT-TYPE
    SYNTAX ClockType
--    Rsyntax INTEGER {
--        ordinaryClock(1),
--        boundaryClock(2),
--        transparentClock(3),
--        boundaryNode(4)
--        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the given port's clock type."
    ::= { cPtpClockPortAssociateEntry 2 }

cPtpClockPortCurrentClockInstanceIndex OBJECT-TYPE
    SYNTAX ClockInstanceType
--    Rsyntax Gauge(0..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { cPtpClockPortAssociateEntry 3 }

cPtpClockPortCurrentPortNumberIndex OBJECT-TYPE
    SYNTAX ClockPortNumber
--    Rsyntax Gauge(0..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the PTP Port Number for the given port."
    ::= { cPtpClockPortAssociateEntry 4 }

cPtpClockPortAssociatePortIndex OBJECT-TYPE
    SYNTAX Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This object specifies the associated port's serial number in
        the current port's context."
    ::= { cPtpClockPortAssociateEntry 5 }

cPtpClockPortAssociateAddressType OBJECT-TYPE
    SYNTAX InetAddressType
--    Rsyntax INTEGER {
--        ?? enum value of zero may cause problems
--        unknown(0),
--        ipv4(1),
--        ipv6(2),
--        ipv4z(3),
--        ipv6z(4),
--        dns(16)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the peer port's network address type used
        for PTP communication."
    ::= { cPtpClockPortAssociateEntry 6 }

cPtpClockPortAssociateAddress OBJECT-TYPE
    SYNTAX InetAddress
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the peer port's network address used for
        PTP communication."
    ::= { cPtpClockPortAssociateEntry 7 }

cPtpClockPortAssociatePacketsSent OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets sent to this peer port from the current
        port."
    ::= { cPtpClockPortAssociateEntry 8 }

cPtpClockPortAssociatePacketsReceived OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets received from this peer port by the
        current port."
    ::= { cPtpClockPortAssociateEntry 9 }

cPtpClockPortAssociateInErrors OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the input errors associated with the
        peer port."
    ::= { cPtpClockPortAssociateEntry 10 }

cPtpClockPortAssociateOutErrors OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
--  Units
--    packets
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the output errors associated with the
        peer port."
    ::= { cPtpClockPortAssociateEntry 11 }

ciscoPtpMIBSystemInfoGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing system-wide
--    information
--  objects
--    cPtpSystemDomainTotals, cPtpDomainClockPortsTotal, 
--    cPtpDomainClockPortPhysicalInterfacesTotal, 
--    cPtpClockInput1ppsEnabled, cPtpClockOutput1ppsEnabled, 
--    cPtpClockOutput1ppsOffsetEnabled, 
--    cPtpClockInputFrequencyEnabled, cPtpClockTODEnabled, 
--    cPtpClockOutput1ppsOffsetValue, 
--    cPtpClockOutput1ppsOffsetNegative, cPtpSystemProfile, 
--    cPtpClockInput1ppsInterface, cPtpClockOutput1ppsInterface, 
--    cPtpClockTODInterface

ciscoPtpMIBClockCurrentDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Current Dataset
--    information
--  objects
--    cPtpClockCurrentDSStepsRemoved, 
--    cPtpClockCurrentDSOffsetFromMaster, 
--    cPtpClockCurrentDSMeanPathDelay

ciscoPtpMIBClockParentDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Parent Dataset
--    information
--  objects
--    cPtpClockParentDSParentPortIdentity, 
--    cPtpClockParentDSParentStats, cPtpClockParentDSOffset, 
--    cPtpClockParentDSClockPhChRate, 
--    cPtpClockParentDSGMClockIdentity, 
--    cPtpClockParentDSGMClockPriority1, 
--    cPtpClockParentDSGMClockPriority2, 
--    cPtpClockParentDSGMClockQualityClass, 
--    cPtpClockParentDSGMClockQualityAccuracy, 
--    cPtpClockParentDSGMClockQualityOffset

ciscoPtpMIBClockDefaultDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 4 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Default Dataset
--    information
--  objects
--    cPtpClockDefaultDSTwoStepFlag, 
--    cPtpClockDefaultDSClockIdentity, cPtpClockDefaultDSPriority1, 
--    cPtpClockDefaultDSPriority2, cPtpClockDefaultDSSlaveOnly, 
--    cPtpClockDefaultDSQualityClass, 
--    cPtpClockDefaultDSQualityAccuracy, 
--    cPtpClockDefaultDSQualityOffset

ciscoPtpMIBClockRunningGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 5 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP running state
--    information
--  objects
--    cPtpClockRunningState, cPtpClockRunningPacketsSent, 
--    cPtpClockRunningPacketsReceived

ciscoPtpMIBClockTimepropertiesGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 6 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Time Properties
--    information
--  objects
--    cPtpClockTimePropertiesDSCurrentUTCOffsetValid, 
--    cPtpClockTimePropertiesDSCurrentUTCOffset, 
--    cPtpClockTimePropertiesDSLeap59, 
--    cPtpClockTimePropertiesDSLeap61, 
--    cPtpClockTimePropertiesDSTimeTraceable, 
--    cPtpClockTimePropertiesDSFreqTraceable, 
--    cPtpClockTimePropertiesDSPTPTimescale, 
--    cPtpClockTimePropertiesDSSource

ciscoPtpMIBClockTranparentDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 7 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Transparent
--    Dataset
--    information
--  objects
--    cPtpClockTransDefaultDSClockIdentity, 
--    cPtpClockTransDefaultDSNumOfPorts, 
--    cPtpClockTransDefaultDSDelay, 
--    cPtpClockTransDefaultDSPrimaryDomain

ciscoPtpMIBClockPortGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 8 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing information for a
--    given PTP Port.
--  objects
--    cPtpClockPortName, cPtpClockPortSyncOneStep, 
--    cPtpClockPortCurrentPeerAddress, 
--    cPtpClockPortNumOfAssociatedPorts, 
--    cPtpClockPortCurrentPeerAddressType, cPtpClockPortRole

ciscoPtpMIBClockPortDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 9 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP Port Dataset
--    information
--  objects
--    cPtpClockPortDSName, cPtpClockPortDSPortIdentity, 
--    cPtpClockPortDSAnnouncementInterval, 
--    cPtpClockPortDSAnnounceRctTimeout, 
--    cPtpClockPortDSSyncInterval, 
--    cPtpClockPortDSMinDelayReqInterval, 
--    cPtpClockPortDSPeerDelayReqInterval, cPtpClockPortDSDelayMech, 
--    cPtpClockPortDSPeerMeanPathDelay, 
--    cPtpClockPortDSGrantDuration, cPtpClockPortDSPTPVersion

ciscoPtpMIBClockPortRunningGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 10 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP running interface
--    information
--  objects
--    cPtpClockPortRunningName, cPtpClockPortRunningState, 
--    cPtpClockPortRunningRole, cPtpClockPortRunningInterfaceIndex, 
--    cPtpClockPortRunningIPversion, 
--    cPtpClockPortRunningEncapsulationType, 
--    cPtpClockPortRunningTxMode, cPtpClockPortRunningRxMode, 
--    cPtpClockPortRunningPacketsReceived, 
--    cPtpClockPortRunningPacketsSent

ciscoPtpMIBClockPortTransDSGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 11 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing PTP TransparentDS
--    Dataset
--    information
--  objects
--    cPtpClockPortTransDSPortIdentity, 
--    cPtpClockPortTransDSlogMinPdelayReqInt, 
--    cPtpClockPortTransDSFaultyFlag, 
--    cPtpClockPortTransDSPeerMeanPathDelay

ciscoPtpMIBClockPortAssociateGroup OBJECT IDENTIFIER ::= { ciscoPtpMIBGroups 12 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Group which aggregates objects describing information on peer
--    PTP ports for a given PTP clock-port.
--  objects
--    cPtpClockPortAssociatePacketsSent, 
--    cPtpClockPortAssociatePacketsReceived, 
--    cPtpClockPortAssociateAddress, 
--    cPtpClockPortAssociateAddressType, 
--    cPtpClockPortAssociateInErrors, 
--    cPtpClockPortAssociateOutErrors

ciscoPtpMIBCompliances1 OBJECT IDENTIFIER ::= { ciscoPtpMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    Compliance statement for agents that provide read-only support
--    for CISCO-PTP-MIB. Such devices can only be monitored using this
--    MIB module.
--    
--    The Module is implemented with support for read-only. In other
--    words, only monitoring is available by implementing this
--    MODULE-COMPLIANCE.
--  Module
--    >>current<<
--   MandGroup
--    ciscoPtpMIBSystemInfoGroup

ciscoPtpMIBCompliances2 OBJECT IDENTIFIER ::= { ciscoPtpMIBCompliances 2 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    Compliance statement for agents that provide read-only support
--    for CISCO-PTP-MIB. Such devices can only be monitored using this
--    MIB module.
--    
--    The Module is implemented with support for read-only. In other
--    words, only monitoring is available by implementing this
--    MODULE-COMPLIANCE.
--  Module
--    >>current<<
--   MandGroup
--    ciscoPtpMIBClockCurrentDSGroup
--   MandGroup
--    ciscoPtpMIBClockParentDSGroup
--   MandGroup
--    ciscoPtpMIBClockDefaultDSGroup
--   MandGroup
--    ciscoPtpMIBClockRunningGroup
--   MandGroup
--    ciscoPtpMIBClockTimepropertiesGroup

ciscoPtpMIBCompliances3 OBJECT IDENTIFIER ::= { ciscoPtpMIBCompliances 3 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    Compliance statement for agents that provide read-only support
--    for CISCO-PTP-MIB. Such devices can only be monitored using this
--    MIB module.
--    
--    The Module is implemented with support for read-only. In other
--    words, only monitoring is available by implementing this
--    MODULE-COMPLIANCE.
--  Module
--    >>current<<
--   MandGroup
--    ciscoPtpMIBClockPortGroup
--   MandGroup
--    ciscoPtpMIBClockPortDSGroup
--   MandGroup
--    ciscoPtpMIBClockPortRunningGroup
--   MandGroup
--    ciscoPtpMIBClockPortAssociateGroup

ciscoPtpMIBCompliances4 OBJECT IDENTIFIER ::= { ciscoPtpMIBCompliances 4 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    Compliance statement for agents that provide read-only support
--    for CISCO-PTP-MIB. Such devices can only be monitored using this
--    MIB module.
--    
--    The Module is implemented with support for read-only. In other
--    words, only monitoring is available by implementing this
--    MODULE-COMPLIANCE.
--  Module
--    >>current<<
--   MandGroup
--    ciscoPtpMIBClockTranparentDSGroup
--   MandGroup
--    ciscoPtpMIBClockPortTransDSGroup


END

