-- *****************************************************************
-- INFINERA-PM-PXMMEP-MIB
-- 
-- April 2016, Kavitha Manjunatha / Divyank Rastogi
-- 
-- 
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
    Counter64                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString, TruthValue                   FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    HCPerfIntervalCount                         FROM HC-PerfHist-TC-MIB
    FloatHundredths                             FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;

pxmMepPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201402190000Z"
    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      "201402190000Z"
    DESCRIPTION
        "First Version"
    ::= { perfMon 94}

pxmMepPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PxmMepPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A list of PxmMepPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and
    pxmMepPmTimestamp."
    ::= { pxmMepPmMIB 2 }

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

PxmMepPmEntry  ::= SEQUENCE {
    pxmMepPmTimestamp           Integer32,
    pxmMepPmSampleDuration      INTEGER,
    pxmMepPmValidity            TruthValue, 
    pxmMepPmRxAISPackets        HCPerfIntervalCount,
    pxmMepPmTxAISPackets        HCPerfIntervalCount,
	pxmMepPmTxEthCSFPDUs		HCPerfIntervalCount,   
	pxmMepPmRxEthCSFPDUs		HCPerfIntervalCount,   
	pxmMepPmRxEthCSFLOSPDUs		HCPerfIntervalCount,
	pxmMepPmRxEthCSFRDIPDUs		HCPerfIntervalCount,
	pxmMepPmRxEthCSFFDIPDUs		HCPerfIntervalCount,
	pxmMepPmRxEthCSFCDCIPDUs	HCPerfIntervalCount,
	pxmMepPmRxEthCSFErrPDUs		HCPerfIntervalCount
}

pxmMepPmTimestamp 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."
    ::= { pxmMepPmEntry  1 }


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

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

pxmMepPmRxAISPackets OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of received data packets."
    ::= { pxmMepPmEntry  4 }

pxmMepPmTxAISPackets OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of transmitted data packets."
    ::= { pxmMepPmEntry  5 }

pxmMepPmTxEthCSFPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmEntry 6  }

pxmMepPmRxEthCSFPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmEntry 7  }

pxmMepPmRxEthCSFLOSPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmEntry 8  }

pxmMepPmRxEthCSFRDIPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "" 
    ::= { pxmMepPmEntry 9  }

pxmMepPmRxEthCSFFDIPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { pxmMepPmEntry 10  }

pxmMepPmRxEthCSFCDCIPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { pxmMepPmEntry  11 }

pxmMepPmRxEthCSFErrPDUs	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { pxmMepPmEntry 12  }

    --Real Time entries

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

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

PxmMepPmRealEntry  ::= SEQUENCE {
    pxmMepPmRealRxAISPackets        Counter64,
    pxmMepPmRealTxAISPackets        Counter64,
	pxmMepPmRealTxEthCSFPDUs		Counter64,  
	pxmMepPmRealRxEthCSFPDUs		Counter64,  
	pxmMepPmRealRxEthCSFLOSPDUs		Counter64,
	pxmMepPmRealRxEthCSFRDIPDUs		Counter64,
	pxmMepPmRealRxEthCSFFDIPDUs		Counter64,
	pxmMepPmRealRxEthCSFCDCIPDUs	Counter64,
	pxmMepPmRealRxEthCSFErrPDUs		Counter64
}

pxmMepPmRealRxAISPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of received data packets."
    ::= { pxmMepPmRealEntry  1 }

pxmMepPmRealTxAISPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of transmitted data packets."
    ::= { pxmMepPmRealEntry  2 }

pxmMepPmRealTxEthCSFPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 3 }

pxmMepPmRealRxEthCSFPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 4  }

pxmMepPmRealRxEthCSFLOSPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 5 }

pxmMepPmRealRxEthCSFRDIPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 6  }

pxmMepPmRealRxEthCSFFDIPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 7  }

pxmMepPmRealRxEthCSFCDCIPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry  8 }

pxmMepPmRealRxEthCSFErrPDUs	OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { pxmMepPmRealEntry 9  }

-- Conformance Statements
pxmMepPmConformance    OBJECT IDENTIFIER ::= { pxmMepPmMIB 3 }
pxmMepPmCompliances    OBJECT IDENTIFIER ::= { pxmMepPmConformance 1 }
pxmMepPmGroups         OBJECT IDENTIFIER ::= { pxmMepPmConformance 2 }

pxmMepPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Describes the requirements for conformance to the PM-PXMETHINTF-MIB"
    MODULE
    MANDATORY-GROUPS { pxmMepPmGroup }
    ::= { pxmMepPmCompliances 1 }

pxmMepPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "Describes the requirements for conformance to the pxmMepPmReal-MIB"
    MODULE
    MANDATORY-GROUPS { pxmMepPmRealGroup }
    ::= { pxmMepPmCompliances 2 }

pxmMepPmGroup OBJECT-GROUP
    OBJECTS {
        pxmMepPmValidity,
        pxmMepPmRxAISPackets,
        pxmMepPmTxAISPackets,
		pxmMepPmTxEthCSFPDUs,    
		pxmMepPmRxEthCSFPDUs,    
		pxmMepPmRxEthCSFLOSPDUs, 
		pxmMepPmRxEthCSFRDIPDUs, 
		pxmMepPmRxEthCSFFDIPDUs, 
		pxmMepPmRxEthCSFCDCIPDUs,
		pxmMepPmRxEthCSFErrPDUs 
}
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the pxmMep."
    ::= { pxmMepPmGroups 1 }

pxmMepPmRealGroup OBJECT-GROUP
    OBJECTS {
        pxmMepPmRealRxAISPackets,
        pxmMepPmRealTxAISPackets,
		pxmMepPmRealTxEthCSFPDUs,    
		pxmMepPmRealRxEthCSFPDUs,    
		pxmMepPmRealRxEthCSFLOSPDUs, 
		pxmMepPmRealRxEthCSFRDIPDUs, 
		pxmMepPmRealRxEthCSFFDIPDUs, 
		pxmMepPmRealRxEthCSFCDCIPDUs,
		pxmMepPmRealRxEthCSFErrPDUs 
}
    STATUS current
    DESCRIPTION
    " A collection of objects for reading the real-time performance of the pxmMep."
    ::= { pxmMepPmGroups 2 }

END
