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

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

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

asePtpMIB 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 83}

-- Conformance Statements

asePtpConformance    OBJECT IDENTIFIER ::= { asePtpMIB 3 }
asePtpCompliances    OBJECT IDENTIFIER ::= { asePtpConformance 1 }
asePtpGroups         OBJECT IDENTIFIER ::= { asePtpConformance 2 }

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

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

AsePtpEntry ::= SEQUENCE {
    asePtpMoId                                 DisplayString,
    asePtpPmHistStatsEnable                    InfnPmHistStatsControl,
    asePtpRxProvNbrTP                          DisplayString,
    asePtpTxProvNbrTP                          DisplayString,
    asePtpTxProvEqptType                       InfnEqptType,
    asePtpRxProvEqptType                       InfnEqptType,
    asePtpTargetPower                          FloatArbitraryPrecision,
    asePtpOptOorLowThreshold                   FloatArbitraryPrecision,
    asePtpOptOorHighThreshold                  FloatArbitraryPrecision,
    asePtpOprOorLowThreshold                   FloatArbitraryPrecision,
    asePtpOprOorHighThreshold                  FloatArbitraryPrecision,
    asePtpPowerControlLoop                     InfnEnableDisableType,
    asePtpOLOSThreshold                        FloatArbitraryPrecision,
    asePtpShutterState                         InfnShutterState
}

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

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

asePtpRxProvNbrTP  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpRxProvNbrTP"
    ::= { asePtpEntry 3 }

asePtpTxProvNbrTP  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpTxProvNbrTP"
    ::= { asePtpEntry 4 }

asePtpTxProvEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpTxProvEqptType"
    ::= { asePtpEntry 5 }

asePtpRxProvEqptType  OBJECT-TYPE
    SYNTAX     InfnEqptType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpRxProvEqptType"
    ::= { asePtpEntry 6 }

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

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

asePtpOptOorHighThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpOptOorHighThreshold"
    ::= { asePtpEntry 9 }

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

asePtpOprOorHighThreshold  OBJECT-TYPE
    SYNTAX     FloatArbitraryPrecision
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpOprOorLowThreshold"
    ::= { asePtpEntry 11 }

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

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

asePtpShutterState  OBJECT-TYPE
    SYNTAX     InfnShutterState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Describes the requirements for asePtpShutterState"
    ::= { asePtpEntry 14 }

asePtpCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "Describes the requirements for conformance to the ASEPTP-MIB"
    MODULE
        MANDATORY-GROUPS { asePtpGroup }
    ::= { asePtpCompliances 1 }

asePtpGroup  OBJECT-GROUP
    OBJECTS { asePtpMoId,
              asePtpPmHistStatsEnable,
              asePtpRxProvNbrTP,
              asePtpTxProvNbrTP,
              asePtpTxProvEqptType,
              asePtpRxProvEqptType,
              asePtpTargetPower,
              asePtpOptOorLowThreshold,
              asePtpOptOorHighThreshold,
              asePtpOprOorLowThreshold,
              asePtpOprOorHighThreshold,
              asePtpPowerControlLoop,
              asePtpOLOSThreshold,
              asePtpShutterState
            }
    STATUS     current
    DESCRIPTION
        " A collection of objects for managing the asePtp"
    ::= { asePtpGroups 1 }
END
