-- *****************************************************************
-- INFINERA-TP-OPSMPTP-MIB
-- Copyright (c) 2008-2015 by Infinera Inc
-- All rights reserved.
-- ****************************************************************

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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatTenths,InfnEnableDisable, InfnSpanLossRange,
    InfnPmHistStatsControl, InfnAdTpType, InfnEqptType, 
    InfnReporting        						FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;

opsmPtpMIB MODULE-IDENTITY
    LAST-UPDATED  "201505200000Z"
    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  "201504200000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 61 } 

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

opsmPtpEntry  OBJECT-TYPE
    SYNTAX      OpsmPtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OpsmPtp entry containing information pertaining to Infinera OpsmPtp Interfaces."
    INDEX { ifIndex }
    ::= { opsmPtpTable 1 }


OpsmPtpEntry  ::= SEQUENCE {
    opsmPtpProvisionedNeighborTP     DisplayString,
    opsmPtpExpectedSpanLossRange     InfnSpanLossRange,
    opsmPtpPmHistStatsEnable         InfnPmHistStatsControl, 
    opsmPtpRxAssociatedPtp           DisplayString,
    opsmPtpRxAssociatedPtpType       InfnAdTpType,    
    opsmPtpRxAssociatedEqptType      InfnEqptType,    
    opsmPtpTxAssociatedPtp           DisplayString,    
    opsmPtpTxAssociatedPtpType       InfnAdTpType,       
    opsmPtpTxAssociatedEqptType      InfnEqptType,    
    opsmPtpSpanDistance              FloatTenths, 
    opsmPtpOlosThreshold             FloatTenths, 
    opsmPtpOlosSoakTimer             Integer32,
    opsmPtpOlosClearHysteresis       FloatTenths,
    opsmPtpRxPowerLevelLowThreshold  FloatTenths,
    opsmPtpRxPowerLevelLowThldReporting InfnReporting,     
    opsmPtpRxPowerLevelHighThreshold    FloatTenths,    
    opsmPtpRxPowerLevelHighThldReporting InfnReporting    
}

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

opsmPtpExpectedSpanLossRange    OBJECT-TYPE
    SYNTAX      InfnSpanLossRange
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 2 }

opsmPtpPmHistStatsEnable        OBJECT-TYPE
    SYNTAX      InfnPmHistStatsControl
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 3 }

opsmPtpRxAssociatedPtp          OBJECT-TYPE
    SYNTAX     DisplayString 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 4 }

opsmPtpRxAssociatedPtpType OBJECT-TYPE
    SYNTAX      InfnAdTpType
    MAX-ACCESS  read-only 
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 5 }

opsmPtpTxAssociatedEqptType OBJECT-TYPE
    SYNTAX      InfnEqptType 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 6 }

opsmPtpTxAssociatedPtp   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 7 }

opsmPtpTxAssociatedPtpType   OBJECT-TYPE
    SYNTAX      InfnAdTpType 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 8 }

opsmPtpRxAssociatedEqptType OBJECT-TYPE
    SYNTAX    	InfnEqptType 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 9 }

opsmPtpSpanDistance OBJECT-TYPE
    SYNTAX      FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 10 }

opsmPtpOlosThreshold OBJECT-TYPE
    SYNTAX     FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 11 }

opsmPtpOlosSoakTimer    OBJECT-TYPE
    SYNTAX    	Integer32 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 12 }

opsmPtpOlosClearHysteresis  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 13 }

opsmPtpRxPowerLevelLowThreshold OBJECT-TYPE
    SYNTAX     FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 14 }

opsmPtpRxPowerLevelLowThldReporting OBJECT-TYPE
    SYNTAX      InfnReporting
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 15 }

opsmPtpRxPowerLevelHighThreshold OBJECT-TYPE
    SYNTAX     FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 16 }

opsmPtpRxPowerLevelHighThldReporting OBJECT-TYPE
    SYNTAX      InfnReporting
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { opsmPtpEntry 17 }

-- Conformance Statements
opsmPtpConformance    OBJECT IDENTIFIER ::= { opsmPtpMIB 3 }
opsmPtpCompliances    OBJECT IDENTIFIER ::= { opsmPtpConformance 1 }
opsmPtpGroups         OBJECT IDENTIFIER ::= { opsmPtpConformance 2 }

opsmPtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the OPSMPTP-MIB"
    MODULE
        MANDATORY-GROUPS { opsmPtpGroup }
    ::= { opsmPtpCompliances 1 }

opsmPtpGroup OBJECT-GROUP
    OBJECTS {
        opsmPtpProvisionedNeighborTP,
        opsmPtpExpectedSpanLossRange,
        opsmPtpPmHistStatsEnable, 
        opsmPtpRxAssociatedPtp,
        opsmPtpRxAssociatedPtpType,    
        opsmPtpTxAssociatedEqptType,    
        opsmPtpTxAssociatedPtp,    
        opsmPtpTxAssociatedPtpType,       
        opsmPtpRxAssociatedEqptType,    
        opsmPtpSpanDistance,
        opsmPtpOlosThreshold, 
        opsmPtpOlosSoakTimer,
        opsmPtpOlosClearHysteresis, 
        opsmPtpRxPowerLevelLowThreshold, 
        opsmPtpRxPowerLevelLowThldReporting,
        opsmPtpRxPowerLevelHighThreshold,    
        opsmPtpRxPowerLevelHighThldReporting 
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the opsmPtp"
    ::= { opsmPtpGroups 1 }
END
