-- *****************************************************************
-- INFINERA-PM-EXPNPTP-MIB
-- February 2017, Mithun Murthy
--
-- Copyright (c) 2008-2015 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-PM-EXPNPTP-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
    FloatArbitraryPrecision,
    InfnSampleDuration                          FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


expnPtpPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201702130000Z"
    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      "201702130000Z"
    DESCRIPTION
        "First Version"
    ::= { perfMon 82 }

expnPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExpnPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of ExpnPtpPm entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { expnPtpPmMIB 2 }

expnPtpPmEntry  OBJECT-TYPE
    SYNTAX      ExpnPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A ExpnPtp entry containing historical performance information pertaining to Infinera EXPNPTPPTP.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type EXPNPTP."
    INDEX { ifIndex, expnPtpPmSampleDuration, expnPtpPmTimestamp}
    ::= { expnPtpPmTable 1 }


ExpnPtpPmEntry  ::= SEQUENCE {
   expnPtpPmTimestamp          Integer32,
   expnPtpPmSampleDuration     INTEGER,
   expnPtpPmValidity           TruthValue,
   expnPtpPmOptMin             FloatArbitraryPrecision,
   expnPtpPmOptMax             FloatArbitraryPrecision,
   expnPtpPmOptAve             FloatArbitraryPrecision,
   expnPtpPmOprMin             FloatArbitraryPrecision,
   expnPtpPmOprMax             FloatArbitraryPrecision,
   expnPtpPmOprAve             FloatArbitraryPrecision
}


expnPtpPmTimestamp 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."
    ::= { expnPtpPmEntry  1 }


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

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

expnPtpPmOptMin    OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  4 }

 expnPtpPmOptMax    OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  5 }

expnPtpPmOptAve     OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  6 }

expnPtpPmOprMin    OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  7 }

 expnPtpPmOprMax    OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  8 }

expnPtpPmOprAve     OBJECT-TYPE
    SYNTAX          FloatArbitraryPrecision
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     ""
    ::= { expnPtpPmEntry  9 }

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

expnPtpPmRealEntry  OBJECT-TYPE
    SYNTAX      ExpnPtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A  expnPtp entry containing real-time performance information pertaining to Infinera
         expnPtp interfaces. This table is a subclass of IfCommon."
    INDEX { ifIndex }
    ::= { expnPtpPmRealTable 1 }


ExpnPtpPmRealEntry  ::= SEQUENCE {
    expnPtpPmRealOpt       FloatArbitraryPrecision,
    expnPtpPmRealOpr       FloatArbitraryPrecision
}

expnPtpPmRealOpt OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { expnPtpPmRealEntry  1 }

expnPtpPmRealOpr OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { expnPtpPmRealEntry  2 }


-- Conformance Statements
expnPtpPmConformance    OBJECT IDENTIFIER ::= { expnPtpPmMIB 3 }
expnPtpPmCompliances    OBJECT IDENTIFIER ::= { expnPtpPmConformance 1 }
expnPtpPmGroups         OBJECT IDENTIFIER ::= { expnPtpPmConformance 2 }

expnPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the  expnPtp-MIB"
    MODULE
        MANDATORY-GROUPS { expnPtpPmGroup }
    ::= { expnPtpPmCompliances 1 }

expnPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the ExpnPtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { expnPtpPmRealGroup }
    ::= { expnPtpPmCompliances 2 }

expnPtpPmGroup OBJECT-GROUP
    OBJECTS {
        expnPtpPmTimestamp,
        expnPtpPmSampleDuration,
        expnPtpPmValidity,
        expnPtpPmOptMin,
        expnPtpPmOptMax,
        expnPtpPmOptAve,
        expnPtpPmOprMin,
        expnPtpPmOprMax,
        expnPtpPmOprAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the  expnPtp."
    ::= { expnPtpPmGroups 1 }

expnPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        expnPtpPmRealOpt,
        expnPtpPmRealOpr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the  expnPtp."
    ::= { expnPtpPmGroups 2 }

END




