-- *****************************************************************
-- INFINERA-PM-DCFPTP-MIB
-- 
-- October 2008, Sharfuddin Syed / Narendra Gupta
-- 
-- 
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-PM-DCFPTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    TruthValue                                  FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatHundredths                             FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


dcfPtpPmMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    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      "200810200000Z"
    DESCRIPTION
        "First Version"
    ::= { perfMon 17 }



dcfPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DcfPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of DcfPtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and dcfPtpPmTimestamp."
    ::= { dcfPtpPmMIB 2 } 

dcfPtpPmEntry  OBJECT-TYPE
    SYNTAX      DcfPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A DcfPtp entry containing historical performance information pertaining to Infinera DCFPTP interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type DCFPTP.
        Each interface may have a number of entries in this table, each with a different combination of timestamp
        and sample duration."
    INDEX { ifIndex, dcfPtpPmSampleDuration, dcfPtpPmTimestamp }
    ::= { dcfPtpPmTable 1 }


DcfPtpPmEntry  ::= SEQUENCE {
    dcfPtpPmTimestamp        Integer32,
    dcfPtpPmSampleDuration   INTEGER,
    dcfPtpPmValidity         TruthValue,
    dcfPtpPmOptMin     FloatHundredths,
    dcfPtpPmOptMax     FloatHundredths,
    dcfPtpPmOptAve     FloatHundredths,
    dcfPtpPmOprMin     FloatHundredths,
    dcfPtpPmOprMax     FloatHundredths,
    dcfPtpPmOprAve     FloatHundredths
}

dcfPtpPmTimestamp OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "End Time stamp for this interval. If this time is later than the current time,
        then the data for this bucket is currently being collected."
    ::= { dcfPtpPmEntry  1 }


dcfPtpPmSampleDuration OBJECT-TYPE
    SYNTAX      INTEGER {
                    fifteenMinutes(1),
                    day(2)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The duration of this sample."
    ::= { dcfPtpPmEntry  2 }


dcfPtpPmValidity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flag indicating if data was valid for the entire interval"
    ::= { dcfPtpPmEntry  3 }


dcfPtpPmOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum optical power transmitted in sample duration."
    ::= { dcfPtpPmEntry  4 }


dcfPtpPmOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum optical power transmitted in sample duration."
    ::= { dcfPtpPmEntry  5 }


dcfPtpPmOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average optical power transmitted in sample duration."
    ::= { dcfPtpPmEntry  6 }


dcfPtpPmOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum optical power recived in sample duration."
    ::= { dcfPtpPmEntry  7 }


dcfPtpPmOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum optical power recived in sample duration."
    ::= { dcfPtpPmEntry  8 }


dcfPtpPmOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average optical power recived in sample duration."
    ::= { dcfPtpPmEntry  9 }




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

dcfPtpPmRealEntry  OBJECT-TYPE
    SYNTAX      DcfPtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A DcfPtp entry containing real-time performance information pertaining to Infinera
        DCFPTP interfaces. This table is a subclass of IfCommon. Entries will exist in this
        table only for interfaces of type DCFPTP."
    INDEX { ifIndex }
    ::= { dcfPtpPmRealTable 1 }


DcfPtpPmRealEntry  ::= SEQUENCE {
    dcfPtpPmRealOpt               FloatHundredths,
    dcfPtpPmRealOpr               FloatHundredths
}

dcfPtpPmRealOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power transmitted."
    ::= { dcfPtpPmRealEntry  1 }


dcfPtpPmRealOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power recived."
    ::= { dcfPtpPmRealEntry  2 }

-- Conformance Statements
dcfPtpPmConformance    OBJECT IDENTIFIER ::= { dcfPtpPmMIB 3 }
dcfPtpPmCompliances    OBJECT IDENTIFIER ::= { dcfPtpPmConformance 1 }
dcfPtpPmGroups         OBJECT IDENTIFIER ::= { dcfPtpPmConformance 2 }

dcfPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the DCFPTP-MIB"
    MODULE
        MANDATORY-GROUPS { dcfPtpPmGroup }
    ::= { dcfPtpPmCompliances 1 }

dcfPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the dcfPtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { dcfPtpPmRealGroup }
    ::= { dcfPtpPmCompliances 2 }

dcfPtpPmGroup OBJECT-GROUP
    OBJECTS {
        dcfPtpPmValidity,
        dcfPtpPmOptMin,
        dcfPtpPmOptMax,
        dcfPtpPmOptAve,
        dcfPtpPmOprMin,
        dcfPtpPmOprMax,
        dcfPtpPmOprAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the dcfPtp."
    ::= { dcfPtpPmGroups 1 }

dcfPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        dcfPtpPmRealOpt,
        dcfPtpPmRealOpr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the dcfPtp."
    ::= { dcfPtpPmGroups 2 }


END
