TICTOC Working Group                                Vinay
Internet Engineering Task Force (IETF)                   V. Shankarkumar
INTERNET DRAFT                                         Laurent
Request for Comments: 8173                                    L. Montini
Intended status:
Category: Standards Track                                  Cisco Systems

                                                            Tim
ISSN: 2070-1721                                                 T. Frost
                                                   Calnex Solutions Ltd.

                                                           Greg
                                                                 G. Dowd
                                                               Microsemi

Expires: September 17, 2017                             March 17,
                                                               June 2017

               Precision Time Protocol Version 2 (PTPv2)
                      Management Information Base
                     draft-ietf-tictoc-ptp-mib-12.txt

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in TCP/IP-based internets. internets based on TCP
   or IP.  In particular, it defines objects for managing networks using
   the Precision Time Protocol (PTP), specified in IEEE Std. 1588(TM)-2008. 1588-2008.

   This memo specifies a MIB module in a manner that is both compliant
   to the SMIv2, Structure of Management Information version 2 (SMIv2) and
   semantically identical to the peer SMIv1 definitions.

Status of this This Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum
   (IETF).  It represents the consensus of six months the IETF community.  It has
   received public review and may be updated, replaced, or obsoleted has been approved for publication by other documents at any
   time.  It the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work available in progress."

   The list Section 2 of RFC 7841.

   Information about the current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list status of Internet-Draft Shadow Directories can this document, any errata,
   and how to provide feedback on it may be accessed obtained at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on March 17, 2017.
   http://www.rfc-editor.org/info/rfc8173.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ................................................. 2 ....................................................3
      1.1. Relationship to other Other Profiles and MIBs ................. 3
      1.2. Change Log .............................................. 3 ....................3
   2. The SNMP Management Framework ................................ 5 ...................................4
   3. Overview ..................................................... 6 ........................................................4
   4. IETF PTP MIB Definition ...................................... 6 ..............................................5
   5. Security Considerations ..................................... 58 ........................................58
   6. IANA Considerations ......................................... 61 ............................................60
   7. References .................................................. 61 .....................................................61
      7.1. Normative References ................................... 61 ......................................61
      7.2. Informative References ................................. 61
   8. ....................................62
   Acknowledgements ............................................ 63
   9. ..................................................63
   Author's Addresses .......................................... 63 ................................................63

1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   module for use with network management protocols in the Internet
   Community.
   community.  In particular, it describes managed objects used for
   managing PTP devices including the ordinary clock, clocks, transparent clock, clocks,
   and boundary clocks.

   This MIB module is restricted to reading standard PTP data elements,
   as described in [IEEE 1588-2008]. [IEEE-1588-2008].  This enables it to monitor the
   operation of PTP clocks within the network.  It is envisioned that
   this MIB module will complement other managed objects to be defined
   that will provide more detailed information on the performance of PTP
   clocks supporting the Telecom Profile defined in [G.8265.1], [G.8265.1] and any
   future profiles that may be defined.  Those objects are considered
   out of scope for the current draft. document.

   Similarly, this MIB module is read-only and not intended to provide
   the ability to configure PTP clocks.  Since PTP clocks are often
   embedded in other network elements such as routers, switches switches, and
   gateways, this ability is generally provided via the configuration
   interface for the network element.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

1.1.  Relationship to other Other Profiles and MIBs

   This MIB module is intended to be used with the default PTP profile
   described in [IEEE 1588-2008] [IEEE-1588-2008] when running over the IP network layer.
   As stated above, it is envisioned that this MIB module will
   complement other managed objects to be defined to monitor and measure
   the performance of PTP clocks supporting specific PTP profiles, e.g. e.g.,
   the Telecom Profile defined in [G.8265.1].

   Some other PTP profiles have their own MIB modules defined as part of
   the profile, and this MIB module is not intended to replace those MIB
   modules.

2.  The SNMP Internet-Standard Management Framework

   The SNMP

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework presently consists Framework, please refer to section 7 of five major
   components:

   o An overall architecture, described in STD62, [RFC 3411].

   o Mechanisms for describing and naming
   RFC 3410 [RFC3410].

   Managed objects and events for are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
      purpose of management.  The first version of this
   Structure of Management Information (SMI) (SMI).  This memo specifies a MIB
   module that is called SMIv1 and described in
      STD 16: [RFC 1155], [RFC 1212] and [RFC 1215].
      The second version, called compliant to the SMIv2, which is described in STD 58:
      [RFC 2578], [RFC 2579] and [RFC 2580].

   o Message protocols for transferring management information.  The
      first version of the SNMP message protocol is called SNMPv1 and
      described in STD 15 [RFC 1157].  A second version of the SNMP
      message protocol, which is not an Internet standards track
      protocol, is called SNMPv2c and described in [RFC 1901] and
      [RFC 1906].  The third version of the message protocol is called
      SNMPv3 and described in STD62: [RFC 3417], [RFC 3412] and [RFC
      3414].

   o Protocol operations for accessing management information.  The
      first set of protocol operations and associated PDU formats is
      described in STD 15 [RFC 1157].  A second set of protocol
      operations and associated PDU formats is described in STD 62
      [RFC 3416].

   o A set of fundamental applications described in 58,
   RFC 2578 [RFC2578], STD 62 [RFC 3413] 58, RFC 2579 [RFC2579] and the view-based access control mechanism described in STD 62
      [RFC 3415].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2.  A
   MIB module conforming to the SMIv1 can be produced through the
   appropriate translations.  The resulting translated MIB must be
   semantically equivalent, except where objects or events are omitted
   because no translation is possible (e.g., use of Counter64).  Some
   machine readable information in SMIv2 will be converted into textual
   descriptions in SMIv1 during the translation process.  However, this
   loss of machine readable information is not considered to change the
   semantics of the MIB module. 58, RFC 2580
   [RFC2580].

3.  Overview

   The objects defined in this MIB module are to be used when describing
   the Precision Time Protocol (PTP), as defined in [IEEE 1588-2008]. [IEEE-1588-2008].

   Section 6 of [IEEE 1588-2008] [IEEE-1588-2008] provides an overview of synchronization
   networks using PTP.

   Terms used in this document have meanings as defined in section Section 3.1
   of [IEEE 1588-2008]. [IEEE-1588-2008].

4. IETF  PTP MIB Definition

PTPBASE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    OBJECT-IDENTITY,
    Gauge32,
    Unsigned32,
    Counter32,
    Counter64,
    mib-2,
    Integer32
        FROM SNMPv2-SMI
    OBJECT-GROUP,
    MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION,
    TruthValue,
    DisplayString,
    AutonomousType
        FROM SNMPv2-TC
    InterfaceIndexOrZero
        FROM IF-MIB;

ptpbaseMIB MODULE-IDENTITY
    LAST-UPDATED    "201703120000Z"    "201705300000Z"
    ORGANIZATION    "TICTOC Working Group"
    CONTACT-INFO
          "WG Email: tictoc@ietf.org

           Vinay Shankarkumar
           Cisco Systems, Systems
           Email: vinays@cisco.com

           Laurent Montini, Montini
           Cisco Systems, Systems
           Email: lmontini@cisco.com

           Tim Frost, Frost
           Calnex Solutions Ltd., Ltd.
           Email: tim.frost@calnexsol.com

           Greg Dowd, Dowd
           Microsemi Inc., Inc.
           Email: greg.dowd@microsemi.com"
    DESCRIPTION
        "The MIB module for PTP version 2 (IEEE Std. 1588(TM)-2008)

        Copyright (c) 2017 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.

        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject to
        the license terms contained in, the Simplified BSD License set
        forth in Section 4.c of the IETF Trust's Legal Provisions
        Relating to IETF Documents
        (http://trustee.ietf.org/license-info).

        Overview of PTP version 2 (IEEE Std. 1588(TM)-2008)

        [IEEE 1588-2008] 1588-2008)

        [IEEE-1588-2008] defines a protocol enabling precise
        synchronization of clocks in measurement and control systems
        implemented with packet-based networks, the Precision Time
        Protocol Version version 2 (PTPv2).  This MIB module does not address
        PTPv1, the earlier version defined in IEEE Std. 1588(TM)-2002 (PTPv1). 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. [IEEE 1588-2008]  [IEEE-1588-2008] uses UDP/IP or
        Ethernet and can be adapted to other mappings.  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 [IEEE 1588-2008]  [IEEE-1588-2008] also defines
        conformance and management capability also. capability.

        MIB description

        This MIB module supports the Precision Time Protocol version 2
        (PTPv2, hereafter designated as PTP) features of network element
        system devices, when using the default PTP profile described in
        [IEEE 1588-2008]
        [IEEE-1588-2008] when running over the IP network layer.

        It is envisioned that this MIB module will complement other
        managed objects to be defined to monitor and measure the
        performance of the PTP devices and telecom clocks supporting
        specific PTP profiles.

        Some other PTP profiles have their own MIB modules defined as
        part of the profile, and this MIB module is not intended to
        replace those MIB modules.

        Technical terms used in this module are defined in [IEEE 1588-
2008].
        [IEEE-1588-2008].

        The MIB module refers to the sections of [IEEE 1588-2008].

        Acronyms:
            ARB     Arbitrary Timescale [IEEE-1588-2008].

        Abbreviations:
            E2E     End-to-End
            EUI     Extended Unique Identifier
            GPS     Global Positioning System
            IANA    Internet Assigned Numbers Authority
            IP      Internet Protocol
            MAC     Media Access Control
                    according to [IEEE 802.3-2008]
            MAC-48  Used to identify hardware instances within 802-based
                    networking applications. This is obsolete now.
            NIST    National Institute of Standards and Technology
            NTP     Network Time Protocol (see IETF [RFC 5905])
            OUI     Organizational Unique Identifier
                    (allocated by the IEEE) [RFC5905])
            P2P     Peer-to-Peer
            PTP     Precision Time Protocol
            TAI     International Atomic Time
            TC      Transparent Clock
            UDP     User Datagram Protocol
            UTC     Coordinated Universal Time

        References:

        [IEEE 1588-2008]

        [IEEE-1588-2008] IEEE Standard for A Precision Clock
            Synchronization Protocol for Networked Measurement and
            Control Systems, IEEE Std. 1588(TM)-2008, 24 1588-2008, July 2008.

        The below table specifies the object formats of the various
        textual conventions used.

        Data type mapping   Textual Convention    SYNTAX
        ------------------- --------------------- ------------------
        5.3.2 TimeInterval  PtpClockTimeInterval  OCTET
                                                  STRING(SIZE(1..255))
        5.3.3 Timestamp     PtpClockTimestamp     OCTET STRING(SIZE(6))
        5.3.4 ClockIdentity PtpClockIdentity      OCTET STRING(SIZE(8))
        5.3.5 PortIdentity  PtpClockPortNumber    INTEGER(1..65535)
        5.3.7 ClockQuality  PtpClockQualityClassType
      "

      -- revision log
      REVISION        "201703120000Z"
      DESCRIPTION     "Draft 12, for IESG approval remvoed the IEEE
standard texts."

      REVISION        "201608240000Z"        "201705300000Z"
      DESCRIPTION     "Draft 11, for IESG approval after all comments,
including the correct MIB."

      REVISION        "201608220000Z"
      DESCRIPTION     "Draft 10, for IESG approval after all comments
addressed."

      REVISION        "201604200000Z"
      DESCRIPTION     "Draft 9, for IESG approval."

      REVISION        "201602220000Z"
      DESCRIPTION     "Draft 8, for IETF last call."     "Initial version of this MIB module, published
                      as RFC 8173."

      ::= { mib-2 XXX 241 }

-- XXX to be assigned by IANA

-- Textual Conventions

PtpClockDomainType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "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."

    REFERENCE   "Section 7.1 Domains, ('Domains') and Table 2 ('domainNumber')
                of [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX      Unsigned32 (0..255)

PtpClockIdentity ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "255a"
    STATUS          current
    DESCRIPTION
        "The clock Identity identity is an 8-octet array and will be presented in
        the form of a character array.  Network byte order is assumed.

        The value of the PtpClockIdentity should be taken from the
        IEEE EUI-64 individual assigned numbers as indicated in
        Section 7.5.2.2.2 of [IEEE 1588-2008]. [IEEE-1588-2008].  It can also be a
        non-EUI-64 address as defined in section Section 7.5.2.2.3 of [IEEE 1588-2008].
        [IEEE-1588-2008].

        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 [IEEE 1588-2008]."
        assignments."

    REFERENCE       "Section 7.5.2.2.1 ('General') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          OCTET STRING (SIZE (8))

PtpClockInstanceType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The instance of the Clock clock of a given clock type in a given
        domain."
    SYNTAX          Unsigned32 (0..255)

PtpClockIntervalBase2 ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "The interval included in message types Announce, Sync,
        Delay_Req, and Pdelay_Req as indicated in section Section 7.7.2.1 of
        [IEEE 1588-2008]."
        [IEEE-1588-2008]."
    REFERENCE   "Section 7.7.2.1 General ('General interval specification specification') of
                [IEEE 1588-2008]"
                [IEEE-1588-2008]"
    SYNTAX      Integer32 (-128..127)

PtpClockMechanismType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "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]." [IEEE-1588-2008]."

    REFERENCE
        "Sections 8.2.5.4.4 portDS.delayMechanism, ('portDS.delayMechanism'),
        6.6.4  Measuring ('Measuring link propagation delay in clocks supporting
        peer-to-peer path correction, correction'), and
        7.4.2 communication ('communication Path asymmetry asymmetry') of [IEEE 1588-2008]." [IEEE-1588-2008]."
    SYNTAX      INTEGER {
                    e2e(1),
                    p2p(2),
                    disabled(254)
                    }

PtpClockPortNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "An index identifying a specific Precision Time Protocol (PTP) PTP port on a PTP node."

    REFERENCE
        "Sections 7.5.2.3 portNumber ('portNumber') and 5.3.5 PortIdentity ('PortIdentity') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    SYNTAX      Unsigned32 (0..65535)

PtpClockPortState ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This is the value of the current state of the protocol engine
        associated with this port."

    REFERENCE
        "Section
        "Sections 8.2.5.3.1 portState ('portState') and 9.2.5 State machines ('State machines')
        of
        [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          INTEGER  {
                        initializing(1),
                        faulty(2),
                        disabled(3),
                        listening(4),
                        preMaster(5),
                        master(6),
                        passive(7),
                        uncalibrated(8),
                        slave(9)
                    }

PtpClockPortTransportTypeAddress ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "255a"
    STATUS          current
    DESCRIPTION
        "The Clock clock port transport protocol address used for this
         communication between the clock nodes.  This is a string
         corresponding to the address type as specified by the
         transport type used.  The transport types can be defined
         elsewhere, in addition to the ones defined in this document.
         This can be an address of type IP version 4, IP version 6,
         Ethernet, DeviceNET, ControlNET ControlNET, or IEC61158.  The OCTET STRING
         representation of the OID of ptpbaseWellKnownTransportTypes
         will be used in the values contained in the OCTET STRING."

    REFERENCE   "Annex D (IPv4), Annex E (IPv6), Annex F (Ethernet),
                 Annex G (DeviceNET), Annex H (ControlNET) (ControlNET), and
                 Annex I (IEC61158) of [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          OCTET STRING (SIZE (1..255))

PtpClockProfileType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Clock Profile used.  A profile is the set of allowed Precision
        Time Protocol (PTP) PTP
        features applicable to a device."

    REFERENCE       "Section       "Sections 3.1.30 profile ('profile') and 19.3 PTP profiles ('PTP
                    profiles') of
                     [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          INTEGER  {
                        default(1),
                        telecom(2),
                        vendorspecific(3)
                    }

PtpClockQualityAccuracyType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The ClockQuality as specified in sections Section 5.3.7, 7.6.2.5
        Section 7.6.2.5, and Table 6 of [IEEE 1588-2008]. [IEEE-1588-2008].

        The following values are not represented in the enumerated
        values.

                 0x01-0x1F Reserved
                 0x32-0x7F Reserved

        It is important to note that section Section 7.1.1 of [RFC 2578] RFC 2578 allows
        for gaps and enumerate for enumerated values starting to start at zero when
        indicated by the protocol."

    REFERENCE
        "Section 5.3.7 ClockQuality, ('ClockQuality'), Section 7.6.2.5 clockAccuracy
        ('clockAccuracy'), and Table 6
        clockAccuracy enumeration ('clockAccuracy enumeration')
        of [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          INTEGER  {
                     -- reserved00(0:31), 0x00 to 0x1F
                        nanoSecond25(32),    -- 0x20
                        nanoSecond100(33),   -- 0x21
                        nanoSecond250(34),   -- 0x22
                        microSec1(35),       -- 0x23
                        microSec2dot5(36),   -- 0x24
                        microSec10(37),      -- 0x25
                        microSec25(38),      -- 0x26
                        microSec100(39),     -- 0x27
                        microSec250(40),     -- 0x28
                        milliSec1(41),       -- 0x29
                        milliSec2dot5(42),   -- 0x2A
                        milliSec10(43),      -- 0x2B
                        milliSec25(44),      -- 0x2C
                        milliSec100(45),     -- 0x2D
                        milliSec250(46),     -- 0x2E
                        second1(47),         -- 0x2F
                        second10(48),        -- 0x30
                        secondGreater10(49), -- 0x31
                        unknown(254)         -- 0xFE
                     -- reserved255(255),    0xFF
                    }

PtpClockQualityClassType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The ClockQuality as specified in section 5.3.7 ClockQuality,
        7.6.2.4 clockClass Section 5.3.7,
        Section 7.6.2.4, and Table 5 clockClass specifications of
        [IEEE 1588-2008]." [IEEE-1588-2008]."

    REFERENCE       "Section 5.3.7, 5.3.7 ('ClockQuality'), Section 7.6.2.4
                    ('clockClass'), and Table 5 ('clockClass
                    specifications') of
                     [IEEE 1588-2008]." [IEEE-1588-2008]."
    SYNTAX          INTEGER  {
                     -- reserved(0), 0x00
                     -- reserved(1:5), 0x01 to 0x05
                        clockclass6(6), -- 0x06
                        clockclass7(7), -- 0x07
                        -- reserved(8), 0x08
                        -- reserved(9:10), 0x09 to 0x0A
                        -- reserved(11:12), 0x0B, 0x0C
                        clockclass13(13), -- 0x0D
                        clockclass14(14), -- 0x0E
                        -- reserved(15:51), 0x0F to 0x33
                        clockclass52(52), -- 0x34
                        -- reserved(53:57), 0x35 to 0x39
                        clockclass58(58) -- 0x3A
                        -- reserved(59:67), 0x3B to 0x43
                        -- otherprofiles(68:122), 0x44 to 0x7A
                        -- reserved(123:127), 0x7B to 0x7F
                        -- reserved(128:132), 0x80 to 0x84
                    }

PtpClockRoleType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The Clock Role.  The protocol generates a Master Slave master-slave
        relationship among the clocks in the system.

        Clock Role      Value
        -------------------------
        Master clock     1
        Slave clock      2      "
    SYNTAX          INTEGER  {
                        master(1),
                        slave(2)
                    }

PtpClockStateType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The clock state returned by a PTP engine.

        Clock State      Value
        ------------------------
        Freerun state       1
        Holdover state      2
        Acquiring state     3
        Freq_locked state   4
        Phase_aligned state 5  "
    SYNTAX          INTEGER  {
                        freerun(1),
                        holdover(2),
                        acquiring(3),
                        frequencyLocked(4),
                        phaseAligned(5)
                    }

PtpClockTimeInterval ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "255a"
    STATUS          current
    DESCRIPTION
        "This textual convention corresponds to the TimeInterval
        structure indicated in section Section 5.3.2 of [IEEE 1588-2008]. [IEEE-1588-2008].
        It will be presented in the form of a character array.
        Network byte order is assumed."

    REFERENCE
        "Section
        "Sections 5.3.2 TimeInterval ('TimeInterval') and section 7.7.2.1 Timer ('Timer interval
         specification
         specification') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    SYNTAX          OCTET STRING (SIZE (1..255))

PtpClockTimeSourceType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The ClockQuality as specified in Sections 5.3.7, 7.6.2.6
        Section 7.6.2.6, and Table 7 of [IEEE 1588-2008]. [IEEE-1588-2008].

        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 Section 7.1.1 of RFC 2578 allows
        for gaps and enumerate for enumerated values to start with at zero when
        indicated by the protocol."

    REFERENCE       "Section 5.3.7, 5.3.7 ('ClockQuality'), Section 7.6.2.6
                    ('timeSource'), and Table 7 ('timeSource
                    enumeration') of
                     [IEEE 1588-2008]." [IEEE-1588-2008]."
    SYNTAX          INTEGER  {
                        atomicClock(16), -- 0x10
                        gps(32), -- 0x20
                        terrestrialRadio(48), -- 0x22
                        ptp(64), -- 0x40
                        ntp(80), -- 0x50
                        handSet(96), -- 0x60
                        other(144), -- 0x90
                        internalOscillator(160) -- 0xA0
                    }

PtpClockTxModeType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Transmission mode.

        Unicast:       Using unicast communication channel.
        Multicast:     Using Multicast communication channel.
        multicast-mix: Using multicast-unicast communication channel"
    SYNTAX          INTEGER  {
                        unicast(1),
                        multicast(2),
                        multicastmix(3)
                    }

PtpClockType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "The clock types as defined in the MIB module description."

    REFERENCE
        "Section 6.5.1 PTP ('PTP device types types') of [IEEE 1588-2008]." [IEEE-1588-2008]."
    SYNTAX          INTEGER  {
                        ordinaryClock(1),
                        boundaryClock(2),
                        transparentClock(3),
                        boundaryNode(4)
                    }

ptpbaseMIBNotifs  OBJECT IDENTIFIER
    ::= { ptpbaseMIB 0 }

ptpbaseMIBObjects  OBJECT IDENTIFIER
    ::= { ptpbaseMIB 1 }

ptpbaseMIBConformance  OBJECT IDENTIFIER
    ::= { ptpbaseMIB 2 }

ptpbaseMIBSystemInfo  OBJECT IDENTIFIER
    ::= { ptpbaseMIBObjects 1 }

ptpbaseMIBClockInfo  OBJECT IDENTIFIER
    ::= { ptpbaseMIBObjects 2 }

ptpbaseSystemTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseSystemEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of count information about the PTP system for all
        domains."
    ::= { ptpbaseMIBSystemInfo 1 }

ptpbaseSystemEntry OBJECT-TYPE
    SYNTAX          PtpbaseSystemEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains 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." them."
    INDEX           {
                        ptpDomainIndex,
                        ptpInstanceIndex
                    }
    ::= { ptpbaseSystemTable 1 }

PtpbaseSystemEntry ::= SEQUENCE {
        ptpDomainIndex           PtpClockDomainType,
        ptpInstanceIndex         PtpClockInstanceType,
        ptpDomainClockPortsTotal Gauge32
}

ptpDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        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"
    ::= { ptpbaseSystemEntry 1 }

ptpInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the Clock clock for this
        domain."
    ::= { ptpbaseSystemEntry 2 }

ptpDomainClockPortsTotal OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "ptp ports"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of clock ports
        configured within a domain in the system."
    ::= { ptpbaseSystemEntry 3 }

ptpbaseSystemDomainTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseSystemDomainEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP system for all clock modes
        -- ordinary, boundary boundary, or transparent."
    ::= { ptpbaseMIBSystemInfo 2 }

ptpbaseSystemDomainEntry OBJECT-TYPE
    SYNTAX          PtpbaseSystemDomainEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        clock mode for the PTP system.  A row entry gets added when PTP
        clocks are configured on the node."
    INDEX           { ptpbaseSystemDomainClockTypeIndex }
    ::= { ptpbaseSystemDomainTable 1 }

PtpbaseSystemDomainEntry ::= SEQUENCE {
        ptpbaseSystemDomainClockTypeIndex PtpClockType,
        ptpbaseSystemDomainTotals         Unsigned32
}

ptpbaseSystemDomainClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseSystemDomainEntry 1 }

ptpbaseSystemDomainTotals OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "domains"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of PTP domains for this
        particular clock type configured in this node."
    ::= { ptpbaseSystemDomainEntry 2 }

ptpbaseSystemProfile OBJECT-TYPE
    SYNTAX          PtpClockProfileType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP Profile profile implemented on the
        system."
    REFERENCE       "Section 19.3 PTP profiles ('PTP profiles')
                    of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseMIBSystemInfo 3 }

ptpbaseClockCurrentDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockCurrentDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP clock Current Datasets currentDS for
        all domains."
    ::= { ptpbaseMIBClockInfo 1 }

ptpbaseClockCurrentDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockCurrentDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP clock Current Datasets currentDS for a domain."
    REFERENCE
        "[IEEE 1588-2008] Section
        "Section 8.2.2 currentDS ('currentDS data set member
        specifications
        specifications') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    INDEX           {
                        ptpbaseClockCurrentDSDomainIndex,
                        ptpbaseClockCurrentDSClockTypeIndex,
                        ptpbaseClockCurrentDSInstanceIndex
                    }
    ::= { ptpbaseClockCurrentDSTable 1 }

PtpbaseClockCurrentDSEntry ::= SEQUENCE {
        ptpbaseClockCurrentDSDomainIndex      PtpClockDomainType,
        ptpbaseClockCurrentDSClockTypeIndex   PtpClockType,
        ptpbaseClockCurrentDSInstanceIndex    PtpClockInstanceType,
        ptpbaseClockCurrentDSStepsRemoved     Unsigned32,
        ptpbaseClockCurrentDSOffsetFromMaster PtpClockTimeInterval,
        ptpbaseClockCurrentDSMeanPathDelay    PtpClockTimeInterval
}

ptpbaseClockCurrentDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockCurrentDSEntry 1 }

ptpbaseClockCurrentDSClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockCurrentDSEntry 2 }

ptpbaseClockCurrentDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockCurrentDSEntry 3 }

ptpbaseClockCurrentDSStepsRemoved OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "Steps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current clock dataset StepsRemoved stepsRemoved value.

        This object specifies the distance measured by the number of
        Boundary
        boundary clocks between the local clock and the Foreign foreign master
        as indicated in the stepsRemoved field of Announce messages."
    REFERENCE
        "Section 8.2.2.2 stepsRemoved ('stepsRemoved') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockCurrentDSEntry 4 }

ptpbaseClockCurrentDSOffsetFromMaster OBJECT-TYPE
    SYNTAX          PtpClockTimeInterval
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    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
        "Section 8.2.2.3 currentDS.offsetFromMaster ('currentDS.offsetFromMaster')
        of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockCurrentDSEntry 5 }

ptpbaseClockCurrentDSMeanPathDelay OBJECT-TYPE
    SYNTAX          PtpClockTimeInterval
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the current clock dataset
        MeanPathDelay value.

        The mean path delay between a pair of ports as measured by the
        delay request-response mechanism."
    REFERENCE
        "Section 8.2.2.4 currentDS.meanPathDelay ('currentDS.meanPathDelay')
        of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockCurrentDSEntry 6 }

ptpbaseClockParentDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockParentDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP clock Parent Datasets parentDS for
        all domains."
    ::= { ptpbaseMIBClockInfo 2 }

ptpbaseClockParentDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockParentDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP clock Parent Datasets parentDS for a domain."
    REFERENCE
        "Section 8.2.3 parentDS ('parentDS data set member specifications specifications') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    INDEX           {
                        ptpbaseClockParentDSDomainIndex,
                        ptpbaseClockParentDSClockTypeIndex,
                        ptpbaseClockParentDSInstanceIndex
                    }
    ::= { ptpbaseClockParentDSTable 1 }

PtpbaseClockParentDSEntry ::= SEQUENCE {
    ptpbaseClockParentDSDomainIndex            PtpClockDomainType,
    ptpbaseClockParentDSClockTypeIndex         PtpClockType,
    ptpbaseClockParentDSInstanceIndex          PtpClockInstanceType,
    ptpbaseClockParentDSParentPortIdentity     OCTET STRING,
    ptpbaseClockParentDSParentStats            TruthValue,
    ptpbaseClockParentDSOffset                 PtpClockIntervalBase2,
    ptpbaseClockParentDSClockPhChRate          Integer32,
    ptpbaseClockParentDSGMClockIdentity        PtpClockIdentity,
    ptpbaseClockParentDSGMClockPriority1       Unsigned32,
    ptpbaseClockParentDSGMClockPriority2       Unsigned32,
    ptpbaseClockParentDSGMClockQualityClass    PtpClockQualityClassType,
    ptpbaseClockParentDSGMClockQualityAccuracy
PtpClockQualityAccuracyType,
    ptpbaseClockParentDSGMClockQualityOffset   Unsigned32
}

ptpbaseClockParentDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockParentDSEntry 1 }

ptpbaseClockParentDSClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockParentDSEntry 2 }

ptpbaseClockParentDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockParentDSEntry 3 }

ptpbaseClockParentDSParentPortIdentity OBJECT-TYPE
    SYNTAX          OCTET STRING(SIZE(1..256))
    MAX-ACCESS      read-only
    STATUS          current
    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 ('parentDS.parentPortIdentity') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 4 }

ptpbaseClockParentDSParentStats OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Parent Dataset parentDS 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 ('parentDS.parentStats') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 5 }

ptpbaseClockParentDSOffset OBJECT-TYPE
    SYNTAX          PtpClockIntervalBase2 (-128..127)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Parent Dataset parentDS
        ParentOffsetScaledLogVariance value.

        This value is the variance of the parent clock's phase as
        measured by the local clock."
    REFERENCE
        "Section 8.2.3.4
        parentDS.observedParentOffsetScaledLogVariance
        [IEEE 1588-2008]"
        ('parentDS.observedParentOffsetScaledLogVariance') of
        [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 6 }

ptpbaseClockParentDSClockPhChRate OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the clock's parent dataset parentDS
        ParentClockPhaseChangeRate value.

        This value is an estimate of the parent clock's phase change
        rate as measured by the slave clock."
    REFERENCE
        "Section 8.2.3.5
        parentDS.observedParentClockPhaseChangeRate
        ('parentDS.observedParentClockPhaseChangeRate') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 7 }

ptpbaseClockParentDSGMClockIdentity OBJECT-TYPE
    SYNTAX          PtpClockIdentity
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset Grandmaster parentDS grandmaster clock
        identity."
    REFERENCE
        "Section 8.2.3.6 parentDS.grandmasterIdentity ('parentDS.grandmasterIdentity') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 8 }

ptpbaseClockParentDSGMClockPriority1 OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset Grandmaster parentDS grandmaster clock
        priority1."
    REFERENCE
        "Section 8.2.3.8 parentDS.grandmasterPriority1 ('parentDS.grandmasterPriority1') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 9 }

ptpbaseClockParentDSGMClockPriority2 OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset parentDS grandmaster clock
        priority2."
    REFERENCE
        "Section 8.2.3.9 parentDS.grandmasterPriority2 ('parentDS.grandmasterPriority2') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 10 }

ptpbaseClockParentDSGMClockQualityClass OBJECT-TYPE
    SYNTAX          PtpClockQualityClassType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset parentDS grandmaster clock
        quality class."
    REFERENCE
        "Section 8.2.3.7 parentDS.grandmasterClockQuality ('parentDS.grandmasterClockQuality') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 11 }

ptpbaseClockParentDSGMClockQualityAccuracy OBJECT-TYPE
    SYNTAX          PtpClockQualityAccuracyType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset parentDS grandmaster clock
        quality accuracy."
    REFERENCE
        "Section 8.2.3.7 parentDS.grandmasterClockQuality ('parentDS.grandmasterClockQuality') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 12 }

ptpbaseClockParentDSGMClockQualityOffset OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the parent dataset parentDS grandmaster clock
        quality offset."
    REFERENCE
        "Section 8.2.3.7 parentDS.grandmasterClockQuality ('parentDS.grandmasterClockQuality') of
         [IEEE 1588-2008]"
         [IEEE-1588-2008]"
    ::= { ptpbaseClockParentDSEntry 13 }

ptpbaseClockDefaultDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockDefaultDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP clock Default Datasets defaultDS for
        all domains."
    ::= { ptpbaseMIBClockInfo 3 }

ptpbaseClockDefaultDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockDefaultDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP clock Default Datasets defaultDS for a domain."
    INDEX           {
                        ptpbaseClockDefaultDSDomainIndex,
                        ptpbaseClockDefaultDSClockTypeIndex,
                        ptpbaseClockDefaultDSInstanceIndex
                    }
    ::= { ptpbaseClockDefaultDSTable 1 }

PtpbaseClockDefaultDSEntry ::= SEQUENCE {
        ptpbaseClockDefaultDSDomainIndex     PtpClockDomainType,
        ptpbaseClockDefaultDSClockTypeIndex  PtpClockType,
        ptpbaseClockDefaultDSInstanceIndex   PtpClockInstanceType,
        ptpbaseClockDefaultDSTwoStepFlag     TruthValue,
        ptpbaseClockDefaultDSClockIdentity   PtpClockIdentity,
        ptpbaseClockDefaultDSPriority1       Unsigned32,
        ptpbaseClockDefaultDSPriority2       Unsigned32,
        ptpbaseClockDefaultDSSlaveOnly       TruthValue,
        ptpbaseClockDefaultDSQualityClass    PtpClockQualityClassType,
        ptpbaseClockDefaultDSQualityAccuracy
PtpClockQualityAccuracyType,
        ptpbaseClockDefaultDSQualityOffset   Integer32
}

ptpbaseClockDefaultDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockDefaultDSEntry 1 }

ptpbaseClockDefaultDSClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockDefaultDSEntry 2 }

ptpbaseClockDefaultDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockDefaultDSEntry 3 }

ptpbaseClockDefaultDSTwoStepFlag OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies whether the Two Step two-step process is used."
    ::= { ptpbaseClockDefaultDSEntry 4 }

ptpbaseClockDefaultDSClockIdentity OBJECT-TYPE
    SYNTAX          PtpClockIdentity
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default Datasets clock identity." defaultDS clockIdentity member."
    ::= { ptpbaseClockDefaultDSEntry 5 }

ptpbaseClockDefaultDSPriority1 OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default Datasets clock Priority1." defaultDS priority1 member."
    ::= { ptpbaseClockDefaultDSEntry 6 }

ptpbaseClockDefaultDSPriority2 OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default Datasets clock Priority2." defaultDS priority2 member."
    ::= { ptpbaseClockDefaultDSEntry 7 }

ptpbaseClockDefaultDSSlaveOnly OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Whether
        "This object specifies whether the SlaveOnly flag is set."
    ::= { ptpbaseClockDefaultDSEntry 8 }

ptpbaseClockDefaultDSQualityClass OBJECT-TYPE
    SYNTAX          PtpClockQualityClassType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default dataset defaultDS Quality Class."
    ::= { ptpbaseClockDefaultDSEntry 9 }

ptpbaseClockDefaultDSQualityAccuracy OBJECT-TYPE
    SYNTAX          PtpClockQualityAccuracyType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default dataset defaultDS Quality Accuracy."
    ::= { ptpbaseClockDefaultDSEntry 10 }

ptpbaseClockDefaultDSQualityOffset OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the default dataset defaultDS Quality offset."
    ::= { ptpbaseClockDefaultDSEntry 11 }

ptpbaseClockRunningTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockRunningEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP clock Running Datasets running datasets for
        all domains."
    ::= { ptpbaseMIBClockInfo 4 }

ptpbaseClockRunningEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockRunningEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP clock running Datasets dataset for a domain."
    INDEX           {
                        ptpbaseClockRunningDomainIndex,
                        ptpbaseClockRunningClockTypeIndex,
                        ptpbaseClockRunningInstanceIndex
                    }
    ::= { ptpbaseClockRunningTable 1 }

PtpbaseClockRunningEntry ::= SEQUENCE {
        ptpbaseClockRunningDomainIndex     PtpClockDomainType,
        ptpbaseClockRunningClockTypeIndex  PtpClockType,
        ptpbaseClockRunningInstanceIndex   PtpClockInstanceType,
        ptpbaseClockRunningState           PtpClockStateType,
        ptpbaseClockRunningPacketsSent     Counter64,
        ptpbaseClockRunningPacketsReceived Counter64
}

ptpbaseClockRunningDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        Logical
        logical group of PTP devices."
    ::= { ptpbaseClockRunningEntry 1 }

ptpbaseClockRunningClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockRunningEntry 2 }

ptpbaseClockRunningInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockRunningEntry 3 }

ptpbaseClockRunningState OBJECT-TYPE
    SYNTAX          PtpClockStateType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Clock clock state returned by a PTP
        engine."
    ::= { ptpbaseClockRunningEntry 4 }

ptpbaseClockRunningPacketsSent OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of all unicast and
        multicast packets that have been sent out for this clock in this
        domain for this type.  These counters are discontinuous."
    ::= { ptpbaseClockRunningEntry 5 }

ptpbaseClockRunningPacketsReceived OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the total number of all unicast and
        multicast packets that have been received for this clock in this
        domain for this type.  These counters are discontinuous."
    ::= { ptpbaseClockRunningEntry 6 }

ptpbaseClockTimePropertiesDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockTimePropertiesDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP clock time properties
        datasets timePropertiesDS
        for all domains."
    ::= { ptpbaseMIBClockInfo 5 }

ptpbaseClockTimePropertiesDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockTimePropertiesDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP clock timeproperties Datasets timePropertiesDS for a domain."
    REFERENCE
        "Section 8.2.4 timePropertiesDS ('timePropertiesDS data set member specifications
        specifications') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    INDEX           {
                        ptpbaseClockTimePropertiesDSDomainIndex,
                        ptpbaseClockTimePropertiesDSClockTypeIndex,
                        ptpbaseClockTimePropertiesDSInstanceIndex
                    }
    ::= { ptpbaseClockTimePropertiesDSTable 1 }

PtpbaseClockTimePropertiesDSEntry ::= SEQUENCE {
  ptpbaseClockTimePropertiesDSDomainIndex           PtpClockDomainType,
  ptpbaseClockTimePropertiesDSClockTypeIndex        PtpClockType,
  ptpbaseClockTimePropertiesDSInstanceIndex
PtpClockInstanceType,
  ptpbaseClockTimePropertiesDSCurrentUTCOffsetValid TruthValue,
  ptpbaseClockTimePropertiesDSCurrentUTCOffset      Integer32,
  ptpbaseClockTimePropertiesDSLeap59                TruthValue,
  ptpbaseClockTimePropertiesDSLeap61                TruthValue,
  ptpbaseClockTimePropertiesDSTimeTraceable         TruthValue,
  ptpbaseClockTimePropertiesDSFreqTraceable         TruthValue,
  ptpbaseClockTimePropertiesDSPTPTimescale          TruthValue,
  ptpbaseClockTimePropertiesDSSource
PtpClockTimeSourceType
}

ptpbaseClockTimePropertiesDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockTimePropertiesDSEntry 1 }

ptpbaseClockTimePropertiesDSClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockTimePropertiesDSEntry 2 }

ptpbaseClockTimePropertiesDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockTimePropertiesDSEntry 3 }

ptpbaseClockTimePropertiesDSCurrentUTCOffsetValid OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the timeproperties dataset timePropertiesDS value of
        whether the current UTC offset is valid."
    REFERENCE
        "Section 8.2.4.2 timePropertiesDS.currentUtcOffset ('timePropertiesDS.currentUtcOffset') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 4 }

ptpbaseClockTimePropertiesDSCurrentUTCOffset OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the timeproperties dataset timePropertiesDS value of
        the 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 otherwise, the value has no meaning.  The
        value shall be in units of seconds."
    REFERENCE
        "Section 8.2.4.3 timePropertiesDS.currentUtcOffsetValid ('timePropertiesDS.currentUtcOffsetValid') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 5 }

ptpbaseClockTimePropertiesDSLeap59 OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Leap59 value in the clock Current
        Dataset."
        currentDS."
    REFERENCE
        "Section 8.2.4.4 timePropertiesDS.leap59 ('timePropertiesDS.leap59')
        of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 6 }

ptpbaseClockTimePropertiesDSLeap61 OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Leap61 value in the clock Current
        Dataset."
        currentDS."
    REFERENCE
        "Section 8.2.4.5 timePropertiesDS.leap61 ('timePropertiesDS.leap61')
        of [IEEE 1588-2008]" [IEEE-1588-2008]"
 ::= { ptpbaseClockTimePropertiesDSEntry 7 }

ptpbaseClockTimePropertiesDSTimeTraceable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Time Traceable value in the clock
        Current Dataset."
        currentDS."
    REFERENCE
        "Section 8.2.4.6 timePropertiesDS.timeTraceable ('timePropertiesDS.timeTraceable') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 8 }

ptpbaseClockTimePropertiesDSFreqTraceable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Frequency Traceable value in the
        clock Current Dataset." currentDS."
    REFERENCE
        "Section 8.2.4.7 timePropertiesDS.frequencyTraceable ('timePropertiesDS.frequencyTraceable') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 9 }

ptpbaseClockTimePropertiesDSPTPTimescale OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP Timescale value in the clock
        Current Dataset."
        currentDS."
    REFERENCE
        "Section 8.2.4.8 timePropertiesDS.ptpTimescale ('timePropertiesDS.ptpTimescale') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 10 }

ptpbaseClockTimePropertiesDSSource OBJECT-TYPE
    SYNTAX          PtpClockTimeSourceType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Timesource value in the clock Current
        Dataset."
        currentDS."
    REFERENCE
        "Section 8.2.4.9 timePropertiesDS.timeSource ('timePropertiesDS.timeSource') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockTimePropertiesDSEntry 11 }

ptpbaseClockTransDefaultDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockTransDefaultDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the PTP Transparent clock Default
        Datasets transparentClockDefaultDS
        for all domains."
    ::= { ptpbaseMIBClockInfo 6 }

ptpbaseClockTransDefaultDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockTransDefaultDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        PTP Transparent transparent clock Default Datasets defaultDS for a domain."
    REFERENCE
        "Section 8.3.2 transparentClockDefaultDS ('transparentClockDefaultDS data set member
        specifications
        specifications') of [IEEE 1588-2008]" [IEEE-1588-2008]"
    INDEX           {
                        ptpbaseClockTransDefaultDSDomainIndex,
                        ptpbaseClockTransDefaultDSInstanceIndex
                    }
    ::= { ptpbaseClockTransDefaultDSTable 1 }

PtpbaseClockTransDefaultDSEntry ::= SEQUENCE {
        ptpbaseClockTransDefaultDSDomainIndex   PtpClockDomainType,
        ptpbaseClockTransDefaultDSInstanceIndex PtpClockInstanceType,
        ptpbaseClockTransDefaultDSClockIdentity PtpClockIdentity,
        ptpbaseClockTransDefaultDSNumOfPorts    Counter32,
        ptpbaseClockTransDefaultDSDelay         PtpClockMechanismType,
        ptpbaseClockTransDefaultDSPrimaryDomain PtpClockDomainType
}

ptpbaseClockTransDefaultDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockTransDefaultDSEntry 1 }

ptpbaseClockTransDefaultDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockTransDefaultDSEntry 2 }

ptpbaseClockTransDefaultDSClockIdentity OBJECT-TYPE
    SYNTAX          PtpClockIdentity
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the clockIdentity attribute
        of the local clock."
    REFERENCE
       "Section 8.3.2.2.1 transparentClockDefaultDS.clockIdentity ('transparentClockDefaultDS.clockIdentity')
       of
       [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockTransDefaultDSEntry 3 }

ptpbaseClockTransDefaultDSNumOfPorts OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the number of PTP ports of the device.
         These counters are discontinuous."
    REFERENCE
        "Section 8.3.2.2.2 transparentClockDefaultDS.numberPorts ('transparentClockDefaultDS.numberPorts')
        of
        [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockTransDefaultDSEntry 4 }

ptpbaseClockTransDefaultDSDelay OBJECT-TYPE
    SYNTAX          PtpClockMechanismType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object, if the transparent clock is an end-to-end
        transparent clock, has the value of E2E; e2e; if the
        transparent clock is a peer-to-peer transparent clock, the
        value
        shall be P2P." is p2p."
    REFERENCE
        "Section 8.3.2.3.1 transparentClockDefaultDS.delayMechanism ('transparentClockDefaultDS.delayMechanism')
        of
        [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockTransDefaultDSEntry 5 }

ptpbaseClockTransDefaultDSPrimaryDomain OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the primary syntonization
        domain.  The initialization value shall be is 0."
    REFERENCE
        "Section 8.3.2.3.2 transparentClockDefaultDS.primaryDomain ('transparentClockDefaultDS.primaryDomain')
        of
        [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockTransDefaultDSEntry 6 }

ptpbaseClockPortTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockPortEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the clock ports for a particular
        domain."
    ::= { ptpbaseMIBClockInfo 7 }

ptpbaseClockPortEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockPortEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        clock port."
    INDEX           {
                        ptpbaseClockPortDomainIndex,
                        ptpbaseClockPortClockTypeIndex,
                        ptpbaseClockPortClockInstanceIndex,
                        ptpbaseClockPortTablePortNumberIndex
                    }
    ::= { ptpbaseClockPortTable 1 }

PtpbaseClockPortEntry ::= SEQUENCE {
        ptpbaseClockPortDomainIndex            PtpClockDomainType,
        ptpbaseClockPortClockTypeIndex         PtpClockType,
        ptpbaseClockPortClockInstanceIndex     PtpClockInstanceType,
        ptpbaseClockPortTablePortNumberIndex   PtpClockPortNumber,
        ptpbaseClockPortName                   DisplayString,
        ptpbaseClockPortRole                   PtpClockRoleType,
        ptpbaseClockPortSyncTwoStep            TruthValue,
        ptpbaseClockPortCurrentPeerAddressType AutonomousType,
        ptpbaseClockPortCurrentPeerAddress
PtpClockPortTransportTypeAddress,
        ptpbaseClockPortNumOfAssociatedPorts   Gauge32
}

ptpbaseClockPortDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockPortEntry 1 }

ptpbaseClockPortClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockPortEntry 2 }

ptpbaseClockPortClockInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockPortEntry 3 }

ptpbaseClockPortTablePortNumberIndex OBJECT-TYPE
    SYNTAX          PtpClockPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP Portnumber portNumber for this port."
    ::= { ptpbaseClockPortEntry 4 }

ptpbaseClockPortName OBJECT-TYPE
    SYNTAX          DisplayString (SIZE  (1..64))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP clock port name configured on the
        node."
    ::= { ptpbaseClockPortEntry 5 }

ptpbaseClockPortRole OBJECT-TYPE
    SYNTAX          PtpClockRoleType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object describes the current role (slave/master) of the
        port."
    ::= { ptpbaseClockPortEntry 6 }

ptpbaseClockPortSyncTwoStep OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies that two-step clock operation between
        the PTP master and slave device is enabled."
    ::= { ptpbaseClockPortEntry 7 }

ptpbaseClockPortCurrentPeerAddressType OBJECT-TYPE
    SYNTAX          AutonomousType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the current peer's network address type
         used for PTP communication."
    ::= { ptpbaseClockPortEntry 8 }

ptpbaseClockPortCurrentPeerAddress OBJECT-TYPE
    SYNTAX          PtpClockPortTransportTypeAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the current peer's network address used
        for PTP communication."
    ::= { ptpbaseClockPortEntry 9 }

ptpbaseClockPortNumOfAssociatedPorts OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies - the following:
        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)."
    ::= { ptpbaseClockPortEntry 10 }

ptpbaseClockPortDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockPortDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the clock ports dataset clock's portDS for a
        particular domain."
    ::= { ptpbaseMIBClockInfo 8 }

ptpbaseClockPortDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockPortDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing port dataset that contains portDS information for
        a single clock port."
    INDEX           {
                        ptpbaseClockPortDSDomainIndex,
                        ptpbaseClockPortDSClockTypeIndex,
                        ptpbaseClockPortDSClockInstanceIndex,
                        ptpbaseClockPortDSPortNumberIndex
                    }
    ::= { ptpbaseClockPortDSTable 1 }

PtpbaseClockPortDSEntry ::= SEQUENCE {
        ptpbaseClockPortDSDomainIndex          PtpClockDomainType,
        ptpbaseClockPortDSClockTypeIndex       PtpClockType,
        ptpbaseClockPortDSClockInstanceIndex   PtpClockInstanceType,
        ptpbaseClockPortDSPortNumberIndex      PtpClockPortNumber,
        ptpbaseClockPortDSName                 DisplayString,
        ptpbaseClockPortDSPortIdentity         OCTET STRING,
        ptpbaseClockPortDSlogAnnouncementInterval PtpClockIntervalBase2,
        ptpbaseClockPortDSAnnounceRctTimeout   Integer32,
        ptpbaseClockPortDSlogSyncInterval      PtpClockIntervalBase2,
        ptpbaseClockPortDSMinDelayReqInterval  Integer32,
        ptpbaseClockPortDSPeerDelayReqInterval Integer32,
        ptpbaseClockPortDSDelayMech            PtpClockMechanismType,
        ptpbaseClockPortDSPeerMeanPathDelay    PtpClockTimeInterval,
        ptpbaseClockPortDSGrantDuration        Unsigned32,
        ptpbaseClockPortDSPTPVersion           Unsigned32
}

ptpbaseClockPortDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockPortDSEntry 1 }

ptpbaseClockPortDSClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockPortDSEntry 2 }

ptpbaseClockPortDSClockInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockPortDSEntry 3 }

ptpbaseClockPortDSPortNumberIndex OBJECT-TYPE
    SYNTAX          PtpClockPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP portnumber portNumber associated with this
        PTP port."
    ::= { ptpbaseClockPortDSEntry 4 }

ptpbaseClockPortDSName OBJECT-TYPE
    SYNTAX          DisplayString (SIZE  (1..64))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP clock port dataset portDS name."
    ::= { ptpbaseClockPortDSEntry 5 }

ptpbaseClockPortDSPortIdentity OBJECT-TYPE
    SYNTAX          OCTET STRING(SIZE(1..256))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP clock port Identity."
    ::= { ptpbaseClockPortDSEntry 6 }

ptpbaseClockPortDSlogAnnouncementInterval OBJECT-TYPE
    SYNTAX          PtpClockIntervalBase2
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Announce message transmission
        interval associated with this clock port."
    ::= { ptpbaseClockPortDSEntry 7 }

ptpbaseClockPortDSAnnounceRctTimeout OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Announce receipt timeout associated
        with this clock port."
    ::= { ptpbaseClockPortDSEntry 8 }

ptpbaseClockPortDSlogSyncInterval OBJECT-TYPE
    SYNTAX          PtpClockIntervalBase2
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Sync message transmission interval."
    ::= { ptpbaseClockPortDSEntry 9 }

ptpbaseClockPortDSMinDelayReqInterval OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Delay_Req message transmission
        interval."
    ::= { ptpbaseClockPortDSEntry 10 }

ptpbaseClockPortDSPeerDelayReqInterval OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Pdelay_Req message transmission
        interval."
    ::= { ptpbaseClockPortDSEntry 11 }

ptpbaseClockPortDSDelayMech OBJECT-TYPE
    SYNTAX          PtpClockMechanismType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the delay mechanism used.  If the clock
        is an end-to-end clock, the value of the is e2e, else e2e; if the
        clock is a peer to-peer clock, the value shall be is p2p."
    ::= { ptpbaseClockPortDSEntry 12 }

ptpbaseClockPortDSPeerMeanPathDelay OBJECT-TYPE
    SYNTAX          PtpClockTimeInterval
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the peer meanPathDelay."
    ::= { ptpbaseClockPortDSEntry 13 }

ptpbaseClockPortDSGrantDuration OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the grant duration allocated by the
        master."
    ::= { ptpbaseClockPortDSEntry 14 }

ptpbaseClockPortDSPTPVersion OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP version being used."
    ::= { ptpbaseClockPortDSEntry 15 }

ptpbaseClockPortRunningTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockPortRunningEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the clock ports running datasets for
        a particular domain."
    ::= { ptpbaseMIBClockInfo 9 }

ptpbaseClockPortRunningEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockPortRunningEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains running dataset information
        about a single clock port."
    INDEX           {
                        ptpbaseClockPortRunningDomainIndex,
                        ptpbaseClockPortRunningClockTypeIndex,
                        ptpbaseClockPortRunningClockInstanceIndex,
                        ptpbaseClockPortRunningPortNumberIndex
                    }
    ::= { ptpbaseClockPortRunningTable 1 }

PtpbaseClockPortRunningEntry ::= SEQUENCE {
        ptpbaseClockPortRunningDomainIndex        PtpClockDomainType,
        ptpbaseClockPortRunningClockTypeIndex     PtpClockType,
        ptpbaseClockPortRunningClockInstanceIndex PtpClockInstanceType,
        ptpbaseClockPortRunningPortNumberIndex    PtpClockPortNumber,
        ptpbaseClockPortRunningName               DisplayString,
        ptpbaseClockPortRunningState              PtpClockPortState,
        ptpbaseClockPortRunningRole               PtpClockRoleType,
        ptpbaseClockPortRunningInterfaceIndex     InterfaceIndexOrZero,
        ptpbaseClockPortRunningTransport          AutonomousType,
        ptpbaseClockPortRunningEncapsulationType  AutonomousType,
        ptpbaseClockPortRunningTxMode             PtpClockTxModeType,
        ptpbaseClockPortRunningRxMode             PtpClockTxModeType,
        ptpbaseClockPortRunningPacketsReceived    Counter64,
        ptpbaseClockPortRunningPacketsSent        Counter64
}

ptpbaseClockPortRunningDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        logical group of PTP devices."
    ::= { ptpbaseClockPortRunningEntry 1 }

ptpbaseClockPortRunningClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the clock type as defined in the
        Textual
        textual convention description."
    ::= { ptpbaseClockPortRunningEntry 2 }

ptpbaseClockPortRunningClockInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockPortRunningEntry 3 }

ptpbaseClockPortRunningPortNumberIndex OBJECT-TYPE
    SYNTAX          PtpClockPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP portnumber portNumber associated with this
        clock port."
    ::= { ptpbaseClockPortRunningEntry 4 }

ptpbaseClockPortRunningName OBJECT-TYPE
    SYNTAX          DisplayString (SIZE  (1..64))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP clock port name."
    ::= { ptpbaseClockPortRunningEntry 5 }

ptpbaseClockPortRunningState OBJECT-TYPE
    SYNTAX          PtpClockPortState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the port state returned by PTP engine. engine:

        initializing
        faulty
        disabled
        listening
        preMaster
        master
        passive
        uncalibrated
        slave        "
    ::= { ptpbaseClockPortRunningEntry 6 }

ptpbaseClockPortRunningRole OBJECT-TYPE
    SYNTAX          PtpClockRoleType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the Clock Role."
    ::= { ptpbaseClockPortRunningEntry 7 }

ptpbaseClockPortRunningInterfaceIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the interface on the node being used by
        the PTP Clock clock for PTP communication."
    ::= { ptpbaseClockPortRunningEntry 8 }

ptpbaseClockPortRunningTransport OBJECT-TYPE
    SYNTAX          AutonomousType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the transport protocol being used for PTP
        communication (the mapping used)."
    ::= { ptpbaseClockPortRunningEntry 9 }

ptpbaseClockPortRunningEncapsulationType OBJECT-TYPE
    SYNTAX          AutonomousType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the type of encapsulation if the
        interface is adding extra layers (e.g., VLAN, VLAN or Pseudowire
        encapsulation...)
        encapsulation) for the PTP messages."
    ::= { ptpbaseClockPortRunningEntry 10 }

ptpbaseClockPortRunningTxMode OBJECT-TYPE
    SYNTAX          PtpClockTxModeType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the clock transmission mode as as:
        unicast:       Using unicast communication channel. channel
        multicast:     Using Multicast multicast communication channel. channel
        multicast-mix: Using multicast-unicast communication channel"
    ::= { ptpbaseClockPortRunningEntry 11 }

ptpbaseClockPortRunningRxMode OBJECT-TYPE
    SYNTAX          PtpClockTxModeType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the clock receive mode as as:
        unicast:       Using unicast communication channel. channel
        multicast:     Using Multicast multicast communication channel. channel
        multicast-mix: Using multicast-unicast communication channel"
    ::= { ptpbaseClockPortRunningEntry 12 }

ptpbaseClockPortRunningPacketsReceived OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the packets received on the clock port
        (cumulative).  These counters are discontinuous."
    ::= { ptpbaseClockPortRunningEntry 13 }

ptpbaseClockPortRunningPacketsSent OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the packets sent on the clock port
        (cumulative).  These counters are discontinuous."
    ::= { ptpbaseClockPortRunningEntry 14 }

ptpbaseClockPortTransDSTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockPortTransDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about the Transparent clock ports running
        dataset transparentClockPortDS
        for a particular domain."
    ::= { ptpbaseMIBClockInfo 10 }

ptpbaseClockPortTransDSEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockPortTransDSEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains clock port Transparent transparent
        dataset information about a single clock port" port."
    INDEX           {
                        ptpbaseClockPortTransDSDomainIndex,
                        ptpbaseClockPortTransDSInstanceIndex,
                        ptpbaseClockPortTransDSPortNumberIndex
                    }
    ::= { ptpbaseClockPortTransDSTable 1 }

PtpbaseClockPortTransDSEntry ::= SEQUENCE {
        ptpbaseClockPortTransDSDomainIndex        PtpClockDomainType,
        ptpbaseClockPortTransDSInstanceIndex      PtpClockInstanceType,
        ptpbaseClockPortTransDSPortNumberIndex    PtpClockPortNumber,
        ptpbaseClockPortTransDSPortIdentity       PtpClockIdentity,
        ptpbaseClockPortTransDSlogMinPdelayReqInt PtpClockIntervalBase2,
        ptpbaseClockPortTransDSFaultyFlag         TruthValue,
        ptpbaseClockPortTransDSPeerMeanPathDelay  PtpClockTimeInterval
}

ptpbaseClockPortTransDSDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the domain number used to create a
        Logical
        logical group of PTP devices."
    ::= { ptpbaseClockPortTransDSEntry 1 }

ptpbaseClockPortTransDSInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockPortTransDSEntry 2 }

ptpbaseClockPortTransDSPortNumberIndex OBJECT-TYPE
    SYNTAX          PtpClockPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP port number portNumber associated with this
        port."
    REFERENCE       "Section 7.5.2 Port Identity ('Port Identity')
                    of [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockPortTransDSEntry 3 }

ptpbaseClockPortTransDSPortIdentity OBJECT-TYPE
    SYNTAX          PtpClockIdentity
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the PortIdentity
        attribute of the local port."
    REFERENCE
        "Section 8.3.3.2.1 transparentClockPortDS.portIdentity ('transparentClockPortDS.portIdentity') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockPortTransDSEntry 4 }

ptpbaseClockPortTransDSlogMinPdelayReqInt OBJECT-TYPE
    SYNTAX          PtpClockIntervalBase2
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the logarithm to the
        base 2 of the minPdelayReqInterval."
    REFERENCE
       "Section 8.3.3.3.1 transparentClockPortDS.logMinPdelayReqInterval
       ('transparentClockPortDS.logMinPdelayReqInterval') of [IEEE 1588-2008]"
       [IEEE-1588-2008]"
    ::= { ptpbaseClockPortTransDSEntry 5 }

ptpbaseClockPortTransDSFaultyFlag OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    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 transparentClockPortDS.faultyFlag ('transparentClockPortDS.faultyFlag') of
        [IEEE 1588-2008]"
        [IEEE-1588-2008]"
    ::= { ptpbaseClockPortTransDSEntry 6 }

ptpbaseClockPortTransDSPeerMeanPathDelay OBJECT-TYPE
    SYNTAX          PtpClockTimeInterval
    UNITS           "Time Interval"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies, if the delayMechanism used is P2P, p2p, the
        value of 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, e2e, then the value will be zero."
    REFERENCE
        "Section 8.3.3.3.3 transparentClockPortDS.peerMeanPathDelay ('transparentClockPortDS.peerMeanPathDelay')
        of
        [IEEE 1588-2008]" [IEEE-1588-2008]"
    ::= { ptpbaseClockPortTransDSEntry 7 }

ptpbaseClockPortAssociateTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF PtpbaseClockPortAssociateEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Table of information about a given port's associated ports.

        For a master port: multiple slave ports that have established
                           sessions with the current master port.
        For a slave port:  the list of masters available for a given
                           slave port.

        Session information (packets, errors) to be displayed based on
        availability and scenario."
    ::= { ptpbaseMIBClockInfo 11 }

--
-- Well Known transport types for PTP communication.
--
ptpbaseWellKnownTransportTypes OBJECT IDENTIFIER ::= {
ptpbaseMIBClockInfo 12 }

ptpbaseTransportTypeIPversion4 OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "IP version 4"
    ::= { ptpbaseWellKnownTransportTypes 1 }

ptpbaseTransportTypeIPversion6 OBJECT-IDENTITY
   STATUS current
     DESCRIPTION
        "IP version 6"
     ::= { ptpbaseWellKnownTransportTypes 2 }

ptpbaseTransportTypeEthernet OBJECT-IDENTITY
   STATUS current
    DESCRIPTION
        "Ethernet"
     ::= { ptpbaseWellKnownTransportTypes 3 }

ptpbaseTransportTypeDeviceNET OBJECT-IDENTITY
   STATUS current
    DESCRIPTION
        "Device NET"
     ::= { ptpbaseWellKnownTransportTypes 4 }

ptpbaseTransportTypeControlNET OBJECT-IDENTITY
   STATUS current
    DESCRIPTION
        "Control NET"
     ::= { ptpbaseWellKnownTransportTypes 5 }

ptpbaseTransportTypeIEC61158 OBJECT-IDENTITY
   STATUS current
    DESCRIPTION
        "IEC61158"
     ::= { ptpbaseWellKnownTransportTypes 6 }

--
-- Well Known encapsulation types for PTP communication.
--
ptpbaseWellKnownEncapsulationTypes OBJECT IDENTIFIER ::= {
ptpbaseMIBClockInfo 13 }

ptpbaseEncapsulationTypeEthernet OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Ethernet Encapsulation type."
    ::= { ptpbaseWellKnownEncapsulationTypes 1 }

ptpbaseEncapsulationTypeVLAN OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "VLAN Encapsulation type."
    ::= { ptpbaseWellKnownEncapsulationTypes 2 }

ptpbaseEncapsulationTypeUDPIPLSP OBJECT-IDENTITY
   STATUS current
     DESCRIPTION
        "UDP/IP over MPLS Encapsulation type."
     ::= { ptpbaseWellKnownEncapsulationTypes 3 }

ptpbaseEncapsulationTypePWUDPIPLSP OBJECT-IDENTITY
   STATUS current
     DESCRIPTION
        "UDP/IP Pseudowire over MPLS Encapsulation type."
     ::= { ptpbaseWellKnownEncapsulationTypes 4 }

ptpbaseEncapsulationTypePWEthernetLSP OBJECT-IDENTITY
   STATUS current
     DESCRIPTION
        "Ethernet Pseudowire over MPLS Encapsulation type."
     ::= { ptpbaseWellKnownEncapsulationTypes 5 }

ptpbaseClockPortAssociateEntry OBJECT-TYPE
    SYNTAX          PtpbaseClockPortAssociateEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An
        "A table entry in the table, containing that contains information about a single
        associated port for the given clockport." clock port."
    INDEX           {
                        ptpClockPortCurrentDomainIndex,
                        ptpClockPortCurrentClockTypeIndex,
                        ptpClockPortCurrentClockInstanceIndex,
                        ptpClockPortCurrentPortNumberIndex,
                        ptpbaseClockPortAssociatePortIndex
                    }
    ::= { ptpbaseClockPortAssociateTable 1 }

PtpbaseClockPortAssociateEntry ::= SEQUENCE {
        ptpClockPortCurrentDomainIndex           PtpClockDomainType,
        ptpClockPortCurrentClockTypeIndex        PtpClockType,
        ptpClockPortCurrentClockInstanceIndex    PtpClockInstanceType,
        ptpClockPortCurrentPortNumberIndex       PtpClockPortNumber,
        ptpbaseClockPortAssociatePortIndex       Unsigned32,
        ptpbaseClockPortAssociateAddressType     AutonomousType,
        ptpbaseClockPortAssociateAddress
PtpClockPortTransportTypeAddress,
        ptpbaseClockPortAssociatePacketsSent     Counter64,
        ptpbaseClockPortAssociatePacketsReceived Counter64,
        ptpbaseClockPortAssociateInErrors        Counter64,
        ptpbaseClockPortAssociateOutErrors       Counter64
}

ptpClockPortCurrentDomainIndex OBJECT-TYPE
    SYNTAX          PtpClockDomainType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the given port's domain number."
    ::= { ptpbaseClockPortAssociateEntry 1 }

ptpClockPortCurrentClockTypeIndex OBJECT-TYPE
    SYNTAX          PtpClockType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the given port's clock type."
    ::= { ptpbaseClockPortAssociateEntry 2 }

ptpClockPortCurrentClockInstanceIndex OBJECT-TYPE
    SYNTAX          PtpClockInstanceType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the instance of the clock for this clock
        type in the given domain."
    ::= { ptpbaseClockPortAssociateEntry 3 }

ptpClockPortCurrentPortNumberIndex OBJECT-TYPE
    SYNTAX          PtpClockPortNumber
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object specifies the PTP Port Number portNumber for the given port."
    ::= { ptpbaseClockPortAssociateEntry 4 }

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

ptpbaseClockPortAssociateAddressType OBJECT-TYPE
    SYNTAX          AutonomousType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the peer port's network address type used
        for PTP communication.  The OCTET STRING representation of the
        OID of ptpbaseWellKnownTransportTypes will be used in the values
        contained in the OCTET STRING."
    ::= { ptpbaseClockPortAssociateEntry 6 }

ptpbaseClockPortAssociateAddress OBJECT-TYPE
    SYNTAX          PtpClockPortTransportTypeAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the peer port's network address used for
        PTP communication."
    ::= { ptpbaseClockPortAssociateEntry 7 }

ptpbaseClockPortAssociatePacketsSent OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of packets sent to this peer port from the current
        port.  These counters are discontinuous."
    ::= { ptpbaseClockPortAssociateEntry 8 }

ptpbaseClockPortAssociatePacketsReceived OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of packets received from this peer port by the
        current port.  These counters are discontinuous."
    ::= { ptpbaseClockPortAssociateEntry 9 }

ptpbaseClockPortAssociateInErrors OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the input errors associated with the
        peer port.  These counters are discontinuous."
    ::= { ptpbaseClockPortAssociateEntry 10 }

ptpbaseClockPortAssociateOutErrors OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the output errors associated with the
        peer port.  These counters are discontinuous."
    ::= { ptpbaseClockPortAssociateEntry 11 }

-- Conformance Information Definition

ptpbaseMIBCompliances  OBJECT IDENTIFIER
    ::= { ptpbaseMIBConformance 1 }

ptpbaseMIBGroups  OBJECT IDENTIFIER
    ::= { ptpbaseMIBConformance 2 }

ptpbaseMIBCompliancesSystemInfo MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for agents that provide read-only support
        for PTPBASE-MIB to provide system level system-level information of clock
        devices.  Such devices can only be monitored using this MIB
        module.

        The Module module is implemented with support for read-only.  In other
        words, only monitoring is available by implementing this
        MODULE-COMPLIANCE."
    MODULE          -- this module
    MANDATORY-GROUPS { ptpbaseMIBSystemInfoGroup }
    ::= { ptpbaseMIBCompliances 1 }

ptpbaseMIBCompliancesClockInfo MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for agents that provide read-only support
        for PTPBASE-MIB to provide clock related clock-related information.
        Such devices can only be monitored using this MIB module.

        The Module module is implemented with support for read-only.  In other
        words, only monitoring is available by implementing this
        MODULE-COMPLIANCE."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ptpbaseMIBClockCurrentDSGroup,
                        ptpbaseMIBClockParentDSGroup,
                        ptpbaseMIBClockDefaultDSGroup,
                        ptpbaseMIBClockRunningGroup,
                        ptpbaseMIBClockTimepropertiesGroup
                    }
    ::= { ptpbaseMIBCompliances 2 }

ptpbaseMIBCompliancesClockPortInfo MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for agents that provide read-only support
        for PTPBASE-MIB to provide clock port related clock-port-related information.
        Such devices can only be monitored using this MIB module.

        The Module module is implemented with support for read-only.  In other
        words, only monitoring is available by implementing this
        MODULE-COMPLIANCE."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ptpbaseMIBClockPortGroup,
                        ptpbaseMIBClockPortDSGroup,
                        ptpbaseMIBClockPortRunningGroup,
                        ptpbaseMIBClockPortAssociateGroup
                    }
    ::= { ptpbaseMIBCompliances 3 }

ptpbaseMIBCompliancesTransparentClockInfo MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "Compliance statement for agents that provide read-only support
        for PTPBASE-MIB to provide Transparent clock related transparent-clock-related
        information.  Such devices can only be monitored using this MIB
        module.

        The Module module is implemented with support for read-only.  In other
        words, only monitoring is available by implementing this
        MODULE-COMPLIANCE."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ptpbaseMIBClockTranparentDSGroup,
                        ptpbaseMIBClockPortTransDSGroup
                    }
    ::= { ptpbaseMIBCompliances 4 }

ptpbaseMIBSystemInfoGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseSystemDomainTotals,
                        ptpDomainClockPortsTotal,
                        ptpbaseSystemProfile
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing system-wide
        information"
    ::= { ptpbaseMIBGroups 1 }

ptpbaseMIBClockCurrentDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockCurrentDSStepsRemoved,
                        ptpbaseClockCurrentDSOffsetFromMaster,
                        ptpbaseClockCurrentDSMeanPathDelay
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Current Dataset currentDS
        information"
    ::= { ptpbaseMIBGroups 2 }

ptpbaseMIBClockParentDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockParentDSParentPortIdentity,
                        ptpbaseClockParentDSParentStats,
                        ptpbaseClockParentDSOffset,
                        ptpbaseClockParentDSClockPhChRate,
                        ptpbaseClockParentDSGMClockIdentity,
                        ptpbaseClockParentDSGMClockPriority1,
                        ptpbaseClockParentDSGMClockPriority2,
                        ptpbaseClockParentDSGMClockQualityClass,
                        ptpbaseClockParentDSGMClockQualityAccuracy,
                        ptpbaseClockParentDSGMClockQualityOffset
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Parent Dataset parentDS
        information"
    ::= { ptpbaseMIBGroups 3 }

ptpbaseMIBClockDefaultDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockDefaultDSTwoStepFlag,
                        ptpbaseClockDefaultDSClockIdentity,
                        ptpbaseClockDefaultDSPriority1,
                        ptpbaseClockDefaultDSPriority2,
                        ptpbaseClockDefaultDSSlaveOnly,
                        ptpbaseClockDefaultDSQualityClass,
                        ptpbaseClockDefaultDSQualityAccuracy,
                        ptpbaseClockDefaultDSQualityOffset
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Default Dataset defaultDS
        information"
    ::= { ptpbaseMIBGroups 4 }

ptpbaseMIBClockRunningGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockRunningState,
                        ptpbaseClockRunningPacketsSent,
                        ptpbaseClockRunningPacketsReceived
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP running state
        information"
    ::= { ptpbaseMIBGroups 5 }

ptpbaseMIBClockTimepropertiesGroup OBJECT-GROUP
    OBJECTS  {
                ptpbaseClockTimePropertiesDSCurrentUTCOffsetValid,
                ptpbaseClockTimePropertiesDSCurrentUTCOffset,
                ptpbaseClockTimePropertiesDSLeap59,
                ptpbaseClockTimePropertiesDSLeap61,
                ptpbaseClockTimePropertiesDSTimeTraceable,
                ptpbaseClockTimePropertiesDSFreqTraceable,
                ptpbaseClockTimePropertiesDSPTPTimescale,
                ptpbaseClockTimePropertiesDSSource
              }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Time Properties
        information"
    ::= { ptpbaseMIBGroups 6 }

ptpbaseMIBClockTranparentDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockTransDefaultDSClockIdentity,
                        ptpbaseClockTransDefaultDSNumOfPorts,
                        ptpbaseClockTransDefaultDSDelay,
                        ptpbaseClockTransDefaultDSPrimaryDomain
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Transparent
        Dataset
        transparentClockDefaultDS information"
    ::= { ptpbaseMIBGroups 7 }

ptpbaseMIBClockPortGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockPortName,
                        ptpbaseClockPortSyncTwoStep,
                        ptpbaseClockPortCurrentPeerAddress,
                        ptpbaseClockPortNumOfAssociatedPorts,
                        ptpbaseClockPortCurrentPeerAddressType,
                        ptpbaseClockPortRole
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing information for a
        given PTP Port." Port"
    ::= { ptpbaseMIBGroups 8 }

ptpbaseMIBClockPortDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockPortDSName,
                        ptpbaseClockPortDSPortIdentity,
                        ptpbaseClockPortDSlogAnnouncementInterval,
                        ptpbaseClockPortDSAnnounceRctTimeout,
                        ptpbaseClockPortDSlogSyncInterval,
                        ptpbaseClockPortDSMinDelayReqInterval,
                        ptpbaseClockPortDSPeerDelayReqInterval,
                        ptpbaseClockPortDSDelayMech,
                        ptpbaseClockPortDSPeerMeanPathDelay,
                        ptpbaseClockPortDSGrantDuration,
                        ptpbaseClockPortDSPTPVersion
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP Port Dataset portDS
        information"
    ::= { ptpbaseMIBGroups 9 }

ptpbaseMIBClockPortRunningGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockPortRunningName,
                        ptpbaseClockPortRunningState,
                        ptpbaseClockPortRunningRole,
                        ptpbaseClockPortRunningInterfaceIndex,
                        ptpbaseClockPortRunningTransport,
                        ptpbaseClockPortRunningEncapsulationType,
                        ptpbaseClockPortRunningTxMode,
                        ptpbaseClockPortRunningRxMode,
                        ptpbaseClockPortRunningPacketsReceived,
                        ptpbaseClockPortRunningPacketsSent
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP running interface
        information"
    ::= { ptpbaseMIBGroups 10 }

ptpbaseMIBClockPortTransDSGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockPortTransDSPortIdentity,
                        ptpbaseClockPortTransDSlogMinPdelayReqInt,
                        ptpbaseClockPortTransDSFaultyFlag,
                        ptpbaseClockPortTransDSPeerMeanPathDelay
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing PTP TransparentDS
        transparentClockPortDS information"
    ::= { ptpbaseMIBGroups 11 }

ptpbaseMIBClockPortAssociateGroup OBJECT-GROUP
    OBJECTS         {
                        ptpbaseClockPortAssociatePacketsSent,
                        ptpbaseClockPortAssociatePacketsReceived,
                        ptpbaseClockPortAssociateAddress,
                        ptpbaseClockPortAssociateAddressType,
                        ptpbaseClockPortAssociateInErrors,
                        ptpbaseClockPortAssociateOutErrors
                    }
    STATUS          current
    DESCRIPTION
        "Group which that aggregates objects describing information on peer
        PTP ports for a given PTP clock-port." clock port"
    ::= { ptpbaseMIBGroups 12 }

END

5.  Security Considerations

   There are no management objects defined in this MIB module that have
   a MAX-ACCESS clause of read-write and/or read-create.  So, if this
   MIB module is implemented correctly, then there is no risk that an
   intruder can alter or create any management objects of this MIB
   module via direct SNMP SET operations.

   Some of the readable objects in this MIB module (i.e., objects with a
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments.  It is thus important to
   control even GET and/or NOTIFY access to these objects and possibly
   to even encrypt the values of these objects when sending them over
   the network via SNMP.

   The following

   These are the tables and objects all have a MAX-ACCESS of read-only: and their sensitivity/vulnerability:

      ptpDomainClockPortsTotal, ptpbaseSystemDomainTotals, and
      ptpbaseSystemProfile expose general information about the clock
      system.

      ptpbaseClockRunningState, ptpbaseClockRunningPacketsSent, and
      ptpbaseClockRunningPacketsReceived expose a clock's current
      running status.

      ptpbaseClockCurrentDSStepsRemoved,
      ptpbaseClockCurrentDSOffsetFromMaster, and
      ptpbaseClockCurrentDSMeanPathDelay expose the values of a clock's
      current dataset (currentDS).

      ptpbaseClockParentDSParentPortIdentity,
      ptpbaseClockParentDSParentStats, ptpbaseClockParentDSOffset,
      ptpbaseClockParentDSClockPhChRate,
      ptpbaseClockParentDSGMClockIdentity,
      ptpbaseClockParentDSGMClockPriority1,
      ptpbaseClockParentDSGMClockPriority2,
      ptpbaseClockParentDSGMClockQualityClass,
      ptpbaseClockParentDSGMClockQualityAccuracy, and
      ptpbaseClockParentDSGMClockQualityOffset expose the values of a
      clock's parent dataset (parentDS).

      ptpbaseClockDefaultDSTwoStepFlag,
      ptpbaseClockDefaultDSClockIdentity,
      ptpbaseClockDefaultDSPriority1, ptpbaseClockDefaultDSPriority2,
      ptpbaseClockDefaultDSSlaveOnly, ptpbaseClockDefaultDSQualityClass,
      ptpbaseClockDefaultDSQualityAccuracy, and
      ptpbaseClockDefaultDSQualityOffset expose the values of a clock's
      default dataset (defaultDS).

      ptpbaseClockTimePropertiesDSCurrentUTCOffsetValid,
      ptpbaseClockTimePropertiesDSCurrentUTCOffset,
      ptpbaseClockTimePropertiesDSLeap59,
      ptpbaseClockTimePropertiesDSLeap61,
      ptpbaseClockTimePropertiesDSTimeTraceable,
      ptpbaseClockTimePropertiesDSFreqTraceable,
      ptpbaseClockTimePropertiesDSPTPTimescale, and
      ptpbaseClockTimePropertiesDSSource expose the values of a clock's
      time properties dataset (timePropertiesDS).

      ptpbaseClockTransDefaultDSClockIdentity,
      ptpbaseClockTransDefaultDSNumOfPorts,
      ptpbaseClockTransDefaultDSDelay, and
      ptpbaseClockTransDefaultDSPrimaryDomain expose the values of a
      transparent clock's default dataset (transparentClockDefaultDS).

      ptpbaseClockPortName, ptpbaseClockPortRole,
      ptpbaseClockPortSyncTwoStep,
      ptpbaseClockPortCurrentPeerAddressType,
      ptpbaseClockPortCurrentPeerAddress, and
      ptpbaseClockPortNumOfAssociatedPorts expose general information
      about a clock port.

      ptpbaseClockPortRunningName, ptpbaseClockPortRunningState,
      ptpbaseClockPortRunningRole,
      ptpbaseClockPortRunningInterfaceIndex,
      ptpbaseClockPortRunningTransport,
      ptpbaseClockPortRunningEncapsulationType,
      ptpbaseClockPortRunningTxMode, ptpbaseClockPortRunningRxMode,
      ptpbaseClockPortRunningPacketsReceived, and
      ptpbaseClockPortRunningPacketsSent expose a clock port's current
      running status.

      ptpbaseClockPortDSName, ptpbaseClockPortDSPortIdentity,
      ptpbaseClockPortDSlogAnnouncementInterval,
      ptpbaseClockPortDSAnnounceRctTimeout,
      ptpbaseClockPortDSlogSyncInterval,
      ptpbaseClockPortDSMinDelayReqInterval,
      ptpbaseClockPortDSPeerDelayReqInterval,
      ptpbaseClockPortDSDelayMech, ptpbaseClockPortDSPeerMeanPathDelay,
      ptpbaseClockPortDSGrantDuration, and ptpbaseClockPortDSPTPVersion
      expose the values of a clock port's port dataset (portDS).

      ptpbaseClockPortTransDSPortIdentity,
      ptpbaseClockPortTransDSlogMinPdelayReqInt,
      ptpbaseClockPortTransDSFaultyFlag, and
      ptpbaseClockPortTransDSPeerMeanPathDelay expose the values of a
      transparent clock port's port dataset (transparentClockPortDS).

      ptpbaseClockPortAssociateAddressType,
      ptpbaseClockPortAssociateAddress,
      ptpbaseClockPortAssociatePacketsSent,
      ptpbaseClockPortAssociatePacketsReceived,
      ptpbaseClockPortAssociateInErrors, and
      ptpbaseClockPortAssociateOutErrors expose information about a
      clock port's peer node.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example example, by using IPSec), IPsec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET (read) the objects in this MIB module.

   Implementations SHOULD provide the security features described by the
   SNMPv3 framework (see [RFC 3410]), [RFC3410]), and implementations claiming
   compliance to the SNMPv3 standard MUST include full support for
   authentication and privacy via the User-based Security Model (USM)
   [RFC 3414]
   [RFC3414] with the AES cipher algorithm [RFC 3826]. [RFC3826].  Implementations
   MAY also provide support for the Transport Security Model (TSM)
   [RFC 5591]
   [RFC5591] in combination with a secure transport such as SSH
   [RFC 5592]
   [RFC5592] or TLS/DTLS [RFC 6353]. [RFC6353].

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   recommended.  Instead, it is recommended to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   those objects only to those principals (users) that have legitimate
   rights to access them.

6.  IANA Considerations

   The MIB module defined in this document uses the following IANA-
   assigned OBJECT IDENTIFIER value recorded in the SMI "Structure of
   Management Information (SMI) Numbers (MIB Module Registrations)"
   registry:

           Descriptor        OBJECT IDENTIFIER value
           ----------        -----------------------
           ptpbaseMIB        { mib-2 xxx 241 }

   [NOTE for IANA: Please allocate an object identifier at
   http://www.iana.org/assignments/smi-numbers for object ptpbaseMIB.]

7.  References

7.1.  Normative References

   [IEEE 1588-2008]

   [IEEE-1588-2008]
               IEEE, "IEEE Standard for A a Precision Clock
               Synchronization Protocol for Networked Measurement and
               Control Systems", IEEE Std.
   1588(TM)-2008, 24 July 2008

7.2. Informative References

   [RFC 1155] Rose, M., and K. McCloghrie, "Structure and Identification
   of Management Information for TCP/IP-based Internets", STD 16, RFC
   1155, Performance Systems International, Hughes LAN Systems, May 1990

   [RFC 1157] Case, J., Fedor, M., Schoffstall, M., and J. Davin,
   "Simple Network Management Protocol", STD 15, RFC 1157, SNMP
   Research, Performance Systems International, Performance Systems
   International, MIT Laboratory for Computer Science, May 1990.

   [RFC 1212] Rose, M., and K. McCloghrie, "Concise MIB Definitions",
   STD 16, RFC 1212, Performance Systems International, Hughes LAN
   Systems, March 1991

   [RFC 1215] M. Rose, "A Convention for Defining Traps for use with the
   SNMP", RFC 1215, Performance Systems International, March 1991

   [RFC 1901]  SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M.,
   and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC
   1901, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach
   Consulting, Inc., International Network Services, January 1996.

   [RFC 1906] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M.,
   and S. Waldbusser, "Transport Mappings for Version 2 of the Simple
   Network Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Inc.,
   Cisco Systems, Inc., Dover Beach Consulting, Inc., International
   Network Services, January 1996.

   [RFC 2119] 1588-2008, DOI
               10.1109/IEEESTD.2008.4579760.

   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119 Harvard University, 2119, DOI
               10.17487/RFC2119, March 1997.

   [RFC 2578] 1997, <http://www.rfc-
               editor.org/info/rfc2119>.

   [RFC2578]   McCloghrie, K., Ed., Perkins, D., Ed., and J.
               Schoenwaelder, Ed., "Structure of Management Information
               Version 2 (SMIv2)", STD 58, RFC 2578, DOI
               10.17487/RFC2578, April 1999.

   [RFC 2579] 1999, <http://www.rfc-
               editor.org/info/rfc2578>.

   [RFC2579]   McCloghrie, K., Ed., Perkins, D., Ed., and J.
               Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD
               58, RFC 2579, DOI 10.17487/RFC2579, April 1999.

   [RFC 2580] 1999,
               <http://www.rfc-editor.org/info/rfc2579>.

   [RFC2580]   McCloghrie, K., Ed., Perkins, D., Ed., and J.
               Schoenwaelder, Ed., "Conformance Statements for SMIv2",
               STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999.

   [RFC 3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
   "Introduction and Applicability Statements for Internet Standard
   Management Framework", RFC 3410 SNMP Research, Inc., Network
   Associates Laboratories, Ericsson, December 2002.

   [RFC 3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
   Architecture for Describing Simple Network Management Protocol (SNMP)
   Management Frameworks", STD 62, RFC 3411, Enterasys Networks, BMC
   Software, Inc., Lucent Technologies, December 2002

   [RFC 3412] Case, J., Harrington D., Presuhn R., and B. Wijnen,
   "Message Processing and Dispatching for the Simple Network Management
   Protocol (SNMP)", STD 62, RFC 3412, SNMP Research, Inc., Enterasys
   Networks, BMC Software, Inc., Lucent Technologies, December 2002.

   [RFC 3413] Levi, D., Meyer, P., and B. Stewart, "Simple Network
   Management Protocol (SNMP) Applications", STD 62, RFC 3413, Nortel
   Networks, Secure Computing Corporation, December 2002.

   [RFC 3414] 1999,
               <http://www.rfc-editor.org/info/rfc2580>.

   [RFC3414]   Blumenthal, U., U. and B. Wijnen, "User-based Security Model
               (USM) for version 3 of the Simple Network Management
               Protocol (SNMPv3)", STD 62, RFC 3414, Lucent Technologies, December 2002.

   [RFC 3415] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
   Access Control Model (VACM) for the Simple Network Management
   Protocol (SNMP)", STD 62, RFC 3415, Lucent Technologies, BMC
   Software, Inc., Cisco Systems, Inc., DOI
               10.17487/RFC3414, December 2002.

   [RFC 3416] Presuhn, R. (Ed.), "Version 2 of the Protocol Operations
   for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3416,
   BMC Software, Inc., December 2002.

   [RFC 3417] Presuhn, R. (Ed.), "Transport Mappings for the Simple
   Network Management Protocol (SNMP)", STD 62, RFC 3417, BMC Software,
   Inc., December 2002.

   [RFC 3826] 2002, <http://www.rfc-
               editor.org/info/rfc3414>.

   [RFC3826]   Blumenthal, U., Maino, F, F., and K. McCloghrie, "The
               Advanced Encryption Standard (AES) Cipher Algorithm in
               the SNMP User-based Security Model", RFC 3826, Lucent Technologies, Andiamo Systems,
   Inc., Cisco Systems, Inc., DOI
               10.17487/RFC3826, June 2004.

   [RFC 5591] 2004, <http://www.rfc-
               editor.org/info/rfc3826>.

   [RFC5591]   Harrington, D., D. and W. Hardraker, Hardaker, "Transport Security Model
               for the Simple Network Management Protocol (SNMP)", STD
               78, RFC 5591,
   Huawei Technologies (USA), Cobham Analytic Solutions, DOI 10.17487/RFC5591, June 2009.

   [RFC 5592] 2009,
               <http://www.rfc-editor.org/info/rfc5591>.

   [RFC5592]   Harrington, D., Salowey, J., and W. Hardraker, Hardaker, "Secure
               Shell Transport Model for the Simple Network Management
               Protocol
   (SNMP) ", (SNMP)", RFC 5592, Huawei Technologies (USA), Cisco Systems, Cobham
   Analytic Solutions, June 2009.

   [RFC 5905] David L. Mills, "Network Time Protocol Version 4: Protocol
   and Algorithms Specification", RFC 5905, University of Delaware, DOI 10.17487/RFC5592, June
   2010.

   [RFC 6353] Hardraker,
               2009, <http://www.rfc-editor.org/info/rfc5592>.

   [RFC6353]   Hardaker, W., "Transport Layer Security (TLS) Transport
               Model for the Simple Network Management Protocol (SNMP)",
               STD 78, RFC 6353,
   SPARTA, Inc., DOI 10.17487/RFC6353, July 2011.

   [IEEE 802.3-2012] "IEEE Standard 2011,
               <http://www.rfc-editor.org/info/rfc6353>.

   [RFC8174]   Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
               2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
               May 2017, <http://www.rfc-editor.org/info/rfc8174>.

7.2.  Informative References

   [RFC3410]   Case, J., Mundy, R., Partain, D., and B. Stewart,
               "Introduction and Applicability Statements for Ethernet", IEEE Std. 802.3 -
   2015, 3 September 2015 Internet-
               Standard Management Framework", RFC 3410, DOI
               10.17487/RFC3410, December 2002, <http://www.rfc-
               editor.org/info/rfc3410>.

   [RFC5905]   Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
               "Network Time Protocol Version 4: Protocol and Algorithms
               Specification", RFC 5905, DOI 10.17487/RFC5905, June
               2010, <http://www.rfc-editor.org/info/rfc5905>.

   [G.8265.1]  ITU-T, "Precision time protocol telecom profile for
               frequency synchronization", ITU-T Recommendation
               G.8265.1, July 2014.

8.

Acknowledgements

   Thanks to John Linton and Danny Lee for their valuable comments, comments and
   to Bert Wijnen, Kevin Gross, Alan Luchuk, Chris Elliot, Brian Haberman
   Haberman, and Dan Romascanu for their reviews of this MIB module.

9. Author's

Authors' Addresses

   Vinay Shankarkumar
   Cisco Systems, Systems
   7100-9 Kit Creek Road, Road
   Research Triangle Park, NC 27709,
   USA. 27709
   United States of America

   Email: vinays@cisco.com
   Laurent Montini, Montini
   Cisco Systems, Systems
   11, rue Camille Desmoulins, Desmoulins
   92782 Issy-les-Moulineaux,
   France. Issy-les-Moulineaux
   France

   Email: lmontini@cisco.com

   Tim Frost, Frost
   Calnex Solutions Ltd., Ltd.
   Oracle Campus,
   Linlithgow, Campus
   Linlithgow
   EH49 7LR,
   UK. 7LR
   United Kingdom

   Email: tim.frost@calnexsol.com

   Greg Dowd, Dowd
   Microsemi Inc., Inc.
   3870 North First Street, Street
   San Jose, CA 95134,
   USA. 95134
   United States of America

   Email: greg.dowd@microsemi.com

Shankarkumar et al.   Expires February 24, 2017              [Page 64]