-- ===================================================================
-- Copyright (C) 2017 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB contains private managed object and notification 
--              trap definitions for PCE.
-- Reference:
-- Version: V1.10
-- ===================================================================


    HUAWEI-PCE-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            ifIndex, ifName, InterfaceIndex           
                FROM IF-MIB 
            SnmpAdminString            
                FROM SNMP-FRAMEWORK-MIB       
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            Integer32, Unsigned32, Counter32, IpAddress, BITS, OBJECT-TYPE, 
            MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI
            InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB
            pcePcepSessState
                FROM PCE-PCEP-MIB;
    
        hwPceMib MODULE-IDENTITY 
            LAST-UPDATED "201703041000Z"        -- Mar 04, 2017 at 13:00:00 GMT
            ORGANIZATION 
                "Huawei Technologies Co.,Ltd."
            CONTACT-INFO 
                "Huawei Industrial Base
                 Bantian, Longgang
                 Shenzhen 518129
                 People's Republic of China 
                 Website: http://www.huawei.com
                 Email: support@huawei.com"
            DESCRIPTION 
                "This MIB contains private managed object and notification trap 
                definitions for PCE."
            REVISION    "201703041000Z"   
            DESCRIPTION "V1.10, Support PCE resource limit exceed trap."
            REVISION    "201612051000Z"   
            DESCRIPTION "V1.09, Support delegate LSP limit."
            REVISION    "201610101600Z"   
            DESCRIPTION "V1.08, add user handle for compute trap ." 
            REVISION    "201607201600Z"   
            DESCRIPTION "V1.07, PCECC." 
            REVISION    "201605121600Z"   
            DESCRIPTION "V1.06, PCECC." 
            REVISION    "201604181600Z"   
            DESCRIPTION "V1.05, PCECC."  
            REVISION    "201602201600Z"   
            DESCRIPTION "V1.04, modify name."
            REVISION    "201504121600Z"   
            DESCRIPTION "V1.03, modify name."
            REVISION    "201503251000Z"   
            DESCRIPTION "V1.02, add new feature."
            REVISION    "201410211600Z"   
            DESCRIPTION "V1.01, modify name ."
            REVISION    "201308131600Z"   
            DESCRIPTION "V1.00, initial version."
       
            ::= { hwDatacomm 322 }

    
--
-- Node definitions
--
    
        hwPceObject OBJECT IDENTIFIER ::= { hwPceMib 1 }
             
		hwPceLspPathChangeReason OBJECT-TYPE
			SYNTAX INTEGER
            {
                appSingleLspComputation(1),
                globalReoptimizationComputation(2),
                appMultipleReoptimizationComputation(3),
                autoCompletePathFailedComputation(4),
                lspRerouteComputation(5),
                computeResultReady(6)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the reason of LSP path computation result change.
                Options:
                1. appSingleLspComputation(1),           -indicates single lsp computation caused by app.
                2. globalReoptimizationComputation(2)    -indicates global reoptimization computation.
                3. appMultipleReoptimizationComputation(3)   -indicates multiple reoptimization computation.
                4. autoCompletePathFailedComputation(4)  -indicates single lsp computation caused by completing path failed.
                5. lspRerouteComputation(5)              --indicates lsp reroute computation
                6. computeResultReady(6)   --indicates the compute result is ready."
			::= { hwPceObject 1 }

        hwPceDelegateStateChangeReason OBJECT-TYPE
			SYNTAX INTEGER
            {
                receiveFristDelegateLsp(1),
                deleteLastDelegateLsp(2)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the reason of delegate LSP change.
                Options:
                1. receiveFristDelegateLsp(1)  -indicates receive the frist delegate LSP.
                2. deleteLastDelegateLsp(2)    -indicates delete the last delegate LSP."
			::= { hwPceObject 2 }
			
        hwPceLspPathChangeSN OBJECT-TYPE
			SYNTAX Integer32(1..65535)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates path changed  LSP batch ID."
			::= { hwPceObject 3 }
			
		hwPceLspPathChangeResultInfo OBJECT-TYPE
			SYNTAX INTEGER
            {
                success(1),
                fail(2),
                failNoStop(3)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the result of approving.
                Options:
                1. success(1)  -indicates the result of LSP change is successful.
                2. fail(2)     -indicates the result of LSP change is failed.
                3. failNoStop(3)     -indicates the result of LSP change is fail no stop."
			::= { hwPceObject 4 }
        hwPceAdjacencyLocalNodeId OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Local Node Id."
			::= { hwPceObject 5 }
        hwPceAdjacencyLocalTpId OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Local Tp Id."
			::= { hwPceObject 6 }
        hwPceAdjacencyRemoteNodeId OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Remote Node Id."
			::= { hwPceObject 7 }
        hwPceAdjacencyRemoteTpId OBJECT-TYPE
			SYNTAX IpAddress
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Remote Tp Id."
			::= { hwPceObject 8 }
        hwPceAdjacencySIDOper OBJECT-TYPE
			SYNTAX INTEGER
            {
                add(1),
                delete(2)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the operation of the Adjency SID .
                Options:
                1. add(1)       -indicates the operation of add  Adjency SID .
                2. delete(2)    -indicates the operation of delete Adjency SID "
			::= { hwPceObject 9 }
        hwPceAdjacencySID OBJECT-TYPE
			SYNTAX Unsigned32(17..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Segment Identifier ."
			::= { hwPceObject 10 }
        hwPceAdjSIDTransactionNum OBJECT-TYPE
			SYNTAX Unsigned32(1..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Adjency Segment Identifier trap Index ."
			::= { hwPceObject 11 }
        hwPceTPStatusPortStatus OBJECT-TYPE
			SYNTAX INTEGER
            {
                up(1),
                down(2)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Status of the Link .
                Options:
                1. up(1)       -indicates the terminal point is up .
                2. down(2)    -indicates the  terminal point  is down"
			::= { hwPceObject 12 }
        hwPceTPStatusNodeType OBJECT-TYPE
			SYNTAX INTEGER
            {
                lsrid(1)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Type of the Node .
                Options:
                1. lsrid(1)       -indicates the type of node is LSR-ID ."
			::= { hwPceObject 13 }
        hwPceTPStatusNodeId OBJECT-TYPE
		    SYNTAX OCTET STRING (SIZE(0..32))
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the id of the node ."
			::= { hwPceObject 14 }
       hwPceTPStatusTPKeyType OBJECT-TYPE
			SYNTAX INTEGER
            {
                ipv4(1)
            }
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the Type of the terminal point .
                Options:
                1. ipv4(1)       -indicates the type of terminal-point is ipv4."
			::= { hwPceObject 15 }
        hwPceTPStatusTPKeyId OBJECT-TYPE
		    SYNTAX OCTET STRING (SIZE(0..32))
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the id of the terminal point  ."
			::= { hwPceObject 16 }
       hwPceLspPathChangeTransNumber OBJECT-TYPE
			SYNTAX Unsigned32(0..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the reason of LSP path computation result change."
			::= { hwPceObject 17 }
			
	hwPceWaitHaDataSmoothExpireTime OBJECT-TYPE
			SYNTAX Unsigned32(0..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "PCE server wait ha date smooth expire time."
			::= { hwPceObject 18 }
	hwPceUserHandle OBJECT-TYPE
		    SYNTAX OCTET STRING (SIZE(0..37))
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates the id of the node ."
			::= { hwPceObject 19 }

	hwPceDelegateLspThresholdCount OBJECT-TYPE
		    SYNTAX Unsigned32(0..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates delegated lsp threshold limit."
			::= { hwPceObject 20 }

	hwPceDelegateLspLimitCount OBJECT-TYPE
		    SYNTAX Unsigned32(0..4294967295)
			MAX-ACCESS accessible-for-notify
			STATUS current
            DESCRIPTION
                "Indicates delegated lsp limit."
			::= { hwPceObject 21 }	
						
        hwPceTraps OBJECT IDENTIFIER ::= { hwPceMib 2 }
		
	    hwPceLspPathChange NOTIFICATION-TYPE
			OBJECTS { hwPceLspPathChangeReason, hwPceLspPathChangeTransNumber, hwPceUserHandle}
			STATUS current
			DESCRIPTION 
               "This notification indicates that LSP path's computation result change."
			::= { hwPceTraps 1 }
			
	    hwPceDelegateStateChange NOTIFICATION-TYPE
			OBJECTS {hwPceDelegateStateChangeReason}
			STATUS current
			DESCRIPTION 
               "This notification indicates that delegate LSP State change."
			::= { hwPceTraps 2 }	
		
		hwPceLspPathChangeResult NOTIFICATION-TYPE
			OBJECTS {hwPceLspPathChangeSN, hwPceLspPathChangeResultInfo,hwPceUserHandle}
			STATUS current
			DESCRIPTION 
               "This notification indicates current Path changed LSP Batch ID information."
			::= { hwPceTraps 3 }
				    
		hwPceLspOutOfCtrl NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that some PCE LSP is out of control."
			::= { hwPceTraps 4 }
		
		hwPceLspOutOfCtrlClear NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that no more PCE LSP is out of control."
			::= { hwPceTraps 5 }
			
        hwPceAdjacencySIDChange NOTIFICATION-TYPE
			OBJECTS {hwPceAdjSIDTransactionNum, hwPceAdjacencyLocalNodeId, hwPceAdjacencyLocalTpId, hwPceAdjacencyRemoteNodeId, hwPceAdjacencyRemoteTpId,  hwPceAdjacencySIDOper, hwPceAdjacencySID }
			STATUS current
			DESCRIPTION 
               "This notification indicates the adjency SID change."
			::= { hwPceTraps 6}
        
        hwPceTerminalPointStatus NOTIFICATION-TYPE
			OBJECTS {hwPceTPStatusNodeType, hwPceTPStatusNodeId, hwPceTPStatusTPKeyType, hwPceTPStatusTPKeyId, hwPceTPStatusPortStatus }
			STATUS current
			DESCRIPTION 
               "This notification indicates the terminal point status."
			::= { hwPceTraps 7}
		hwPceServerSystemStart NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE server system is started and waiting for role type."
			::= { hwPceTraps 8 }
			
		hwPceWaitHaDataSmoothExpire NOTIFICATION-TYPE
			OBJECTS { hwPceWaitHaDataSmoothExpireTime}
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE server wait ha batch update message expired."
			::= { hwPceTraps 9 }
			
		hwPceWaitHaDataSmoothExpireClear NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE erver has received ha batch message."
			::= { hwPceTraps 10 }
		
	    hwPceUnKnownSessionReceived NOTIFICATION-TYPE
			OBJECTS { pcePcepSessState }
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE server received request from unknown client."
			::= { hwPceTraps 11 }

	    hwPceUnKnownSessionReceivedClear NOTIFICATION-TYPE
			OBJECTS { pcePcepSessState }
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCEP session has confirmed."
			::= { hwPceTraps 12 }
						
	    hwPceSessionHasNoDelegatedLsp NOTIFICATION-TYPE
			OBJECTS { pcePcepSessState }
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCEP session has non delegete LSP."
			::= { hwPceTraps 13 }

	    hwPceSessionHasNoDelegatedLspClear NOTIFICATION-TYPE
			OBJECTS { pcePcepSessState }
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCEP session receive delegated LSP."
			::= { hwPceTraps 14 }
								
	    hwPceDelgLspReachThreshold NOTIFICATION-TYPE
			OBJECTS {hwPceDelegateLspThresholdCount, hwPceDelegateLspLimitCount}
			STATUS current
			DESCRIPTION 
               "This notification indicates that the number of delegated LSP count reached threshold limit."
			::= { hwPceTraps 15 }

	    hwPceDelgLspReachThresholdClear NOTIFICATION-TYPE
			OBJECTS {hwPceDelegateLspThresholdCount, hwPceDelegateLspLimitCount}
			STATUS current
			DESCRIPTION 
               "This notification indicates that the number of delegated LSP count falls under threshold limit."
			::= { hwPceTraps 16 }
	    hwPceDelgateResLimitExceed NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE server is entering resource limit exceeded state."
			::= { hwPceTraps 17 }
			
	    hwPceDelgateResLimitExceedClear NOTIFICATION-TYPE
			STATUS current
			DESCRIPTION 
               "This notification indicates that PCE server is exiting resource limit exceeded state."
			::= { hwPceTraps 18 }			
        hwPceTrapConformance OBJECT IDENTIFIER ::= { hwPceMib 3 }

        hwPceTrapCompliances OBJECT IDENTIFIER ::= { hwPceTrapConformance 1 }
	   		
	    hwPceTrapCompliance MODULE-COMPLIANCE
			STATUS current
			DESCRIPTION 
				"Compliance statement for agents that provide full support for hwBaseTrapMIB."
			MODULE 
				MANDATORY-GROUPS { hwPceObjectGroup }
			::= { hwPceTrapCompliances 1 }
		
		hwPceTrapGroups OBJECT IDENTIFIER ::= { hwPceTrapConformance 2 }
		
		hwPceObjectGroup OBJECT-GROUP
			OBJECTS { hwPceLspPathChangeReason, hwPceDelegateStateChangeReason, hwPceLspPathChangeSN, hwPceLspPathChangeResultInfo, 
                        hwPceAdjacencyLocalNodeId, hwPceAdjacencyLocalTpId, hwPceAdjacencyRemoteNodeId, hwPceAdjacencyRemoteTpId,  hwPceAdjacencySIDOper, hwPceAdjacencySID, hwPceAdjSIDTransactionNum,
                        hwPceTPStatusPortStatus, hwPceTPStatusNodeType, hwPceTPStatusNodeId, hwPceTPStatusTPKeyType, hwPceTPStatusTPKeyId, hwPceLspPathChangeTransNumber, hwPceWaitHaDataSmoothExpireTime,
                        hwPceUserHandle, hwPceDelegateLspThresholdCount, hwPceDelegateLspLimitCount}
			STATUS current
			DESCRIPTION 
				"Group for base trap objects."
			::= { hwPceTrapGroups 1 }
		
		hwPceTrapGroup NOTIFICATION-GROUP
			NOTIFICATIONS { hwPceLspPathChange,
							hwPceDelegateStateChange,
							hwPceLspPathChangeResult,  
							hwPceLspOutOfCtrl,
							hwPceLspOutOfCtrlClear,
							hwPceAdjacencySIDChange,
                            hwPceTerminalPointStatus,
							hwPceServerSystemStart,
							hwPceWaitHaDataSmoothExpire,
							hwPceWaitHaDataSmoothExpireClear,
							hwPceUnKnownSessionReceived,
							hwPceUnKnownSessionReceivedClear,
							hwPceSessionHasNoDelegatedLsp,
							hwPceSessionHasNoDelegatedLspClear,
							hwPceDelgLspReachThreshold,
							hwPceDelgLspReachThresholdClear,
							hwPceDelgateResLimitExceed,
							hwPceDelgateResLimitExceedClear}
			STATUS current
			DESCRIPTION 
				"Group for all base traps."
			::= { hwPceTrapGroups 2 }
			
    END

--
-- HUAWEI-PCE-MIB.mib
--