-- ***************************************************************
-- INFINERA-PROFILE-PXMCM-MIB
--   
-- May 2016, Kavitha Manjunatha / Divyank Rastogi
--   
--   
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************
INFINERA-PROFILE-PXMCM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32    FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE             FROM SNMPv2-CONF
    DisplayString, TruthValue                   FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    commonProfile                               FROM INFINERA-REG-MIB
    InfnEnableDisable                           FROM INFINERA-TC-MIB;

cmProfileMIB MODULE-IDENTITY
    LAST-UPDATED  "201605050000Z"
    ORGANIZATION 
        "INFINERA"
    CONTACT-INFO 
        "Infinera
        169 Java Drive
        Sunnyvale, CA - 94089
        
        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION 
        "This MIB is modeling for PXMCM profile table."
::= { commonProfile 1 }

cmTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF CmProfileEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "This table contains all PXM Congestion Mgmt profiles that are currently present in a network element.
        "
    ::= { cmProfileMIB 1 }

cmProfileEntry  OBJECT-TYPE
    SYNTAX     CmProfileEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A row in the PXM Congestion Mgmt table. Each row in the table is identified with a unique ifIndex."
    INDEX { ifIndex }
    ::= { cmTable 1 }

CmProfileEntry ::= SEQUENCE {
    cmProfInUse                         TruthValue,
    cmWREDPolicy                        InfnEnableDisable,
    cmTDMaxQueueLength                  Integer32,
    cmWREDExpWeightFactor               Integer32,
    cmWREDGreenMinThr                   Integer32,
    cmWREDGreenMaxThr                   Integer32,
    cmWREDGreenDropProbability          Integer32,
    cmWREDYellowMinThr                  Integer32,
    cmWREDYellowMaxThr                  Integer32,
    cmWREDYellowDropProbability         Integer32
}

cmProfInUse  OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "Profile In use"
    ::= { cmProfileEntry 1 }

cmWREDPolicy  OBJECT-TYPE
    SYNTAX     InfnEnableDisable
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 2 }

cmTDMaxQueueLength  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 3 }

cmWREDExpWeightFactor  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 4 }

cmWREDGreenMinThr  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 5 }

cmWREDGreenMaxThr  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 6 }

cmWREDGreenDropProbability  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 7 }

cmWREDYellowMinThr  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 8 }

cmWREDYellowMaxThr  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 9 }

cmWREDYellowDropProbability  OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION 
        ""
    ::= { cmProfileEntry 10 }

cmProfileConformance       OBJECT IDENTIFIER ::= { cmProfileMIB 2 }
cmProfileCompliances       OBJECT IDENTIFIER ::= { cmProfileConformance 1 }
cmProfileGroups            OBJECT IDENTIFIER ::= { cmProfileConformance 2 }

cmProfileCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION ""
    MODULE
        MANDATORY-GROUPS { cmProfileGroup } 
    ::= { cmProfileCompliances 1 }

cmProfileGroup  OBJECT-GROUP
    OBJECTS { 
        cmProfInUse,
        cmWREDPolicy,
        cmTDMaxQueueLength,
        cmWREDExpWeightFactor,
        cmWREDGreenMinThr,
        cmWREDGreenMaxThr,
        cmWREDGreenDropProbability,
        cmWREDYellowMinThr,
        cmWREDYellowMaxThr,
        cmWREDYellowDropProbability
    }
    STATUS     current
    DESCRIPTION ""
    ::= { cmProfileGroups 1 }
END
