-- *****************************************************************
-- INFINERA-TP-IDLERPTP-MIB
-- May 2017, Anisha A/Divyank Rastogi
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-IDLERPTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE                FROM SNMPv2-CONF
    DisplayString                                  FROM SNMPv2-TC
    ifIndex                                        FROM IF-MIB
    InfnEqptType, InfnPmHistStatsControl,
    InfnEnableDisableType, InfnShutterState,
    FloatArbitraryPrecision                        FROM INFINERA-TC-MIB
    terminationPoint                               FROM INFINERA-REG-MIB;

idlerPtpMIB MODULE-IDENTITY
    LAST-UPDATED  "201705080000Z"
    ORGANIZATION
        "Infinera"
    CONTACT-INFO
        "Infinera
                1322 Bordeaux Drive
                Sunnyvale, CA - 94089

                Contact : Technical Support
                Email   : support@infinera.com
                Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "

    REVISION  "201705080000Z"
    DESCRIPTION
        "First Version"
::= { terminationPoint 84}

-- Conformance Statements

idlerPtpConformance    OBJECT IDENTIFIER ::= { idlerPtpMIB 3 }
idlerPtpCompliances    OBJECT IDENTIFIER ::= { idlerPtpConformance 1 }
idlerPtpGroups         OBJECT IDENTIFIER ::= { idlerPtpConformance 2 }

idlerPtpTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF IdlerPtpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of IdlerPtp entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { idlerPtpMIB 1 }

idlerPtpEntry  OBJECT-TYPE
    SYNTAX     IdlerPtpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A IdlerPtp entry containing information pertaining to Infinera IdlerPtp interfaces.
         This table is a subclass of IfCommon. Entries will exist in this table only for
         interfaces of type ASE PTP."
    INDEX { ifIndex }
    ::= { idlerPtpTable 1 }

IdlerPtpEntry ::= SEQUENCE {
    idlerPtpMoId                                         DisplayString,
    idlerPtpPmHistStatsEnable                            InfnPmHistStatsControl,
    idlerPtpTxAssociatedOtsEqptType                      InfnEqptType,
    idlerPtpRxAssociatedOtsEqptType                      InfnEqptType,
    idlerPtpOptOorLowThreshold                           FloatArbitraryPrecision,
    idlerPtpOptOorHighThreshold                          FloatArbitraryPrecision,
    idlerPtpOprOorLowThreshold                           FloatArbitraryPrecision,
    idlerPtpOprOorHighThreshold                          FloatArbitraryPrecision,
    idlerPtpPowerControlLoop                             InfnEnableDisableType,
    idlerPtpTargetPower                                  FloatArbitraryPrecision,
    idlerPtpShutterState                                 InfnShutterState,
    idlerPtpAutoDiscovery                                InfnEnableDisableType,
    idlerPtpOLOSThreshold                                FloatArbitraryPrecision
}

idlerPtpMoId     OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { idlerPtpEntry 1 }

idlerPtpPmHistStatsEnable  OBJECT-TYPE
    SYNTAX     InfnPmHistStatsControl
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Flag to enable or disable PM collection."
    ::= { idlerPtpEntry 2 }

idlerPtpTxAssociatedOtsEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpTxAssociatedOtsEqptType"
    ::= { idlerPtpEntry 3 }

idlerPtpRxAssociatedOtsEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpRxAssociatedOtsEqptType"
    ::= { idlerPtpEntry 4 }

idlerPtpOptOorLowThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpOptOorLowThreshold"
    ::= { idlerPtpEntry 5 }

idlerPtpOptOorHighThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpOptOorHighThreshold"
    ::= { idlerPtpEntry 6 }

idlerPtpOprOorLowThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpOprOorLowThreshold"
    ::= { idlerPtpEntry 7 }

idlerPtpOprOorHighThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpOprOorLowThreshold"
    ::= { idlerPtpEntry 8 }

idlerPtpPowerControlLoop  OBJECT-TYPE
    SYNTAX     InfnEnableDisableType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpPowerControlLoop"
    ::= { idlerPtpEntry 9 }

idlerPtpTargetPower  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpTargetPower"
    ::= { idlerPtpEntry 10 }

idlerPtpShutterState  OBJECT-TYPE
    SYNTAX     InfnShutterState
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpShutterState"
    ::= { idlerPtpEntry 11 }

idlerPtpAutoDiscovery  OBJECT-TYPE
    SYNTAX     InfnEnableDisableType
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpAutoDiscovery"
    ::= { idlerPtpEntry 12 }

idlerPtpOLOSThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for idlerPtpOLOSThreshold"
    ::= { idlerPtpEntry 13 }

idlerPtpCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "Describes the requirements for conformance to the ASEPTP-MIB"
    MODULE
        MANDATORY-GROUPS { idlerPtpGroup }
    ::= { idlerPtpCompliances 1 }

idlerPtpGroup  OBJECT-GROUP
    OBJECTS { idlerPtpMoId,
              idlerPtpPmHistStatsEnable,
              idlerPtpTxAssociatedOtsEqptType,
              idlerPtpRxAssociatedOtsEqptType,
              idlerPtpOptOorLowThreshold,
              idlerPtpOptOorHighThreshold,
              idlerPtpOprOorLowThreshold,
              idlerPtpOprOorHighThreshold,
              idlerPtpPowerControlLoop,
              idlerPtpTargetPower,
              idlerPtpShutterState,
              idlerPtpAutoDiscovery,
              idlerPtpOLOSThreshold
            }
    STATUS     current
    DESCRIPTION
        " A collection of objects for managing the idlerPtp"
    ::= { idlerPtpGroups 1 }
END
