-- ==================================================================
-- Copyright (C) 2010 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description:   This MIB is used for defining the HUAWEI private   
--                extended Multiprotocol Label Switching (MPLS) MIB 
--                object. All MIB objects are used to describe private
--                managed objects and trap definitions for MPLS.
-- Reference:
-- Version: V1.00
-- ==================================================================
-- ==================================================================
-- 
-- Varibles and types be imported
-- 
-- ==================================================================

    HUAWEI-MPLS-TP-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            ifIndex, ifName           
                FROM IF-MIB         
            MplsTunnelIndex, MplsTunnelInstanceIndex, MplsExtendedTunnelId            
                FROM MPLS-TC-STD-MIB            
            SnmpAdminString            
                FROM SNMP-FRAMEWORK-MIB            
            OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE            
                FROM SNMPv2-CONF            
            Integer32, Unsigned32, Counter32, BITS, OBJECT-TYPE, 
            MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI;
    

        -- 1.3.6.1.4.1.2011.5.25.305
        hwMplsTpMib MODULE-IDENTITY 
            LAST-UPDATED "201007131535Z"        
            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 is used for defining the HUAWEI private   
                 extended Transport Profile of Multiprotocol Label Switching (MPLS-TP) MIB
                 object. All MIB objects are used to describe private
                 managed objects and trap definitions for MPLS-TP."
                                
            --  Revision history               
            REVISION     "201203201000Z"       
            DESCRIPTION  "V1.00,Initial LSPM IETFTP MIB"
            ::= { hwDatacomm 305 }
   
--
-- Node definitions
--
    


                                                                        
            
-- 1.3.6.1.4.1.2011.5.25.305.1
        hwMplsTpObjects     OBJECT IDENTIFIER ::= { hwMplsTpMib 1 }        

        hwMplsTpTables      OBJECT IDENTIFIER ::= { hwMplsTpObjects 1 }  


--   1.3.6.1.4.1.2011.5.25.305.1.1
        hwMplsTpTunnelTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwMplsTpTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A tp-tunnel needs to be uniquely identified across  
                 an MPLS-TP network. Indexes hwMplsTpTunnelIngressIndex, 
                 hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, 
                 hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressLSRId and 
                 hwMplsTpEgressGlobalId uniquely identifies a 
                 tunnel across an MPLS-TP network.                                       
                 The indexes of this table are hwMplsTpTunnelIngressIndex, 
                 hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, 
                 hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressLSRId and 
                 hwMplsTpEgressGlobalId."
            ::= { hwMplsTpTables 1 }

--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1
        hwMplsTpTunnelEntry OBJECT-TYPE
            SYNTAX HwMplsTpTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A tp-tunnel needs to be uniquely identified across  
                 an MPLS-TP network. Indexes hwMplsTpTunnelIngressIndex, 
                 hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, 
                 hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressLSRId and 
                 hwMplsTpEgressGlobalId uniquely identifies a 
                 tunnel across an MPLS-TP network.                                       
                 The indexes of this entry are hwMplsTpTunnelIngressIndex, 
                 hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, 
                 hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressLSRId and 
                 hwMplsTpEgressGlobalId."
            REFERENCE
                "1. RFC 2863 - The Interfaces Group MIB, McCloghrie,
                K., and F. Kastenholtz, June 2000 "
            INDEX { hwMplsTpTunnelIngressIndex, hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressLSRId, hwMplsTpEgressGlobalId }
            ::= { hwMplsTpTunnelTable 1 }

        
        HwMplsTpTunnelEntry ::=
            SEQUENCE { 
                hwMplsTpTunnelIngressIndex
                    MplsTunnelIndex,
                hwMplsTpTunnelIngressLSRId
                    MplsExtendedTunnelId,
                hwMplsTpIngressGlobalId
                    Integer32,
                hwMplsTpTunnelEgressIndex
                    MplsTunnelIndex,
                hwMplsTpTunnelEgressLSRId
		    MplsExtendedTunnelId,
                hwMplsTpEgressGlobalId
                    Integer32,
                hwMplsTpTunnelIfName
		    SnmpAdminString,
                hwMplsTpTunnelAdminStatus
                    INTEGER,
                hwMplsTpTunnelOperStatus
                    INTEGER
             }

--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.1
        hwMplsTpTunnelIngressIndex OBJECT-TYPE
            SYNTAX MplsTunnelIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                 "Identity of the ingress LSR associated with this
            tunnel instance. This value SHOULD be equal to the Tunnel
            Sender Address in the Sender Template object and MAY
            be equal to the Extended Tunnel Id field in the
            SESSION object."
            ::= { hwMplsTpTunnelEntry 1 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.2
        hwMplsTpTunnelIngressLSRId OBJECT-TYPE
            SYNTAX MplsExtendedTunnelId
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Identity of the ingress LSR associated with this
                 tp-tunnel instance. "
            ::= { hwMplsTpTunnelEntry 2 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.3
        hwMplsTpIngressGlobalId OBJECT-TYPE
            SYNTAX Integer32(1..4294967295)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The GlobalId is defined to uniquely identify an Ingress LSR 
                operator.This Value idefines a globally unique Attachment Interface 
                Identifier (AII). That AII is composed of three parts: a 
                Global_ID that uniquely identifies an operator, a prefix, 
                and, finally, an attachment circuit identifier."
            ::= { hwMplsTpTunnelEntry 3 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.4
        hwMplsTpTunnelEgressIndex OBJECT-TYPE
            SYNTAX MplsTunnelIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Identity of the egress LSR associated with this
                 tunnel instance."
            ::= { hwMplsTpTunnelEntry 4 }
            

--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.5
        hwMplsTpTunnelEgressLSRId OBJECT-TYPE
            SYNTAX MplsExtendedTunnelId
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Identity of the egress LSR associated with this
                 tunnel instance."
            ::= { hwMplsTpTunnelEntry 5 }
            
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.6
        hwMplsTpEgressGlobalId OBJECT-TYPE
            SYNTAX Integer32(1..4294967295)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The GlobalId is defined to uniquely identify an Ingress LSR 
                operator.This Value idefines a globally unique Attachment Interface 
                Identifier (AII). That AII is composed of three parts: a 
                Global_ID that uniquely identifies an operator, a prefix, 
                and, finally, an attachment circuit identifier."
            ::= { hwMplsTpTunnelEntry 6 } 
                       
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.7
        hwMplsTpTunnelIfName OBJECT-TYPE
            SYNTAX SnmpAdminString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the tp-tunnel interface name. The object is 
                only valid at the ingress."
            ::= { hwMplsTpTunnelEntry 7 }            
       
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.8
        hwMplsTpTunnelAdminStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                  up(1),
                  down(2),
                  testing(3)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the management status of this 
                tunnel.Reference to MPLS-TE-STD-MIB.
                Options:
                1. up(1)      -indicates the management status of this tunnel is up.
                2. down(2)    -indicates the management status of this tunnel is down.
                3. testing(3) -indicates the tunnel is used in some test mode.         
                "
            ::= { hwMplsTpTunnelEntry 8 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.1.1.9
        hwMplsTpTunnelOperStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                  up(1),
                  down(2),
                  testing(3),
                  unknown(4),
                  dormant(5),
                  notPresent(6),
                  lowerLayerDown(7)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the actual operational status of this tunnel, 
                which is but not limited to the status of this tunnel of
                a certain period.Reference to MPLS-TE-STD-MIB.
                Options:
                1. up(1)             -indicates that the operational status of this tunnel is up.          
                2. down(2)           -indicates that the operational status of this tunnel is down.
                3. testing(3)        -indicates that the tunnel is used in some test mode.
                4. unknown(4)        -indicates the invalid value.
                5. dormant(5)        -indicates that the status can not be determined.
                6. notPresent(6)     -indicates that some component is missing
                7. lowerLayerDown(7) -indicates the Down state due to the state of lower layer interfaces.
                "
            ::= { hwMplsTpTunnelEntry 9 }




--   1.3.6.1.4.1.2011.5.25.305.1.1.2
        hwMplsTpLspTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwMplsTpLspEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table of all TP lsps seen by a given sys-tem."
            ::= { hwMplsTpTables 2 }

--   1.3.6.1.4.1.2011.5.25.305.1.1.2.1
        hwMplsTpLspEntry OBJECT-TYPE
            SYNTAX HwMplsTpLspEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in this table represents information
                 on a single TP LSP which is represented by
                 a session's index triple (hwMplsTpTunnelIngressInstance,
                 hwMplsTpTunnelEgressInstance, hwMplsTpLspType)."
            REFERENCE
                "1. RFC 2863 - The Interfaces Group MIB, McCloghrie,
                K., and F. Kastenholtz, June 2000 "
            INDEX { hwMplsTpTunnelIngressIndex, hwMplsTpTunnelIngressInstance, hwMplsTpTunnelIngressLSRId, hwMplsTpIngressGlobalId, hwMplsTpTunnelEgressIndex, hwMplsTpTunnelEgressInstance, hwMplsTpTunnelEgressLSRId, hwMplsTpEgressGlobalId }
            ::= { hwMplsTpLspTable 1 }

        
        HwMplsTpLspEntry ::=
            SEQUENCE { 
                hwMplsTpTunnelIngressInstance
                    MplsTunnelInstanceIndex,
                hwMplsTpTunnelEgressInstance
                    MplsTunnelInstanceIndex,
                hwMplsTpLspType
                    INTEGER
             }

--   1.3.6.1.4.1.2011.5.25.305.1.1.2.1.1
        hwMplsTpTunnelIngressInstance OBJECT-TYPE
            SYNTAX MplsTunnelInstanceIndex
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Uniquely identifies a particular instance of a
                 tunnel between a pair of ingress and egress LSRs."
            ::= { hwMplsTpLspEntry 1 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.2.1.2
        hwMplsTpTunnelEgressInstance OBJECT-TYPE
            SYNTAX MplsTunnelInstanceIndex
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Uniquely identifies a particular instance of a
                 tunnel between a pair of egress and ingress LSRs."
            ::= { hwMplsTpLspEntry 2 }

        
--   1.3.6.1.4.1.2011.5.25.305.1.1.2.1.3
        hwMplsTpLspType OBJECT-TYPE
            SYNTAX INTEGER
                {
                  protection(1),
                  working(2)
                }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The type of LSP connection.
                Options:
                1. protection(1)             -indicates that the lsp type of this tunnel is protection lsp.          
                2. working(2)                -indicates that the lsp type of this tunnel is working lsp.
                "
            ::= { hwMplsTpLspEntry 3 }

        hwMplsTpGlobalObjects      OBJECT IDENTIFIER ::= { hwMplsTpObjects 2 }  

-- 1.3.6.1.4.1.2011.5.25.305.2
        hwMplsTpNotifications OBJECT IDENTIFIER ::= { hwMplsTpMib 2 }

-- 1.3.6.1.4.1.2011.5.25.305.2.1
        hwMplsTpTrapObjects OBJECT IDENTIFIER ::= { hwMplsTpNotifications 1 }
-- 1.3.6.1.4.1.2011.5.25.305.2.2
        hwMplsTpTunnelTrap OBJECT IDENTIFIER ::= { hwMplsTpNotifications 2 }
        
        hwMplsTpTunnelDownClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpTunnelAdminStatus, hwMplsTpTunnelOperStatus, ifName }
            STATUS current
            DESCRIPTION 
                "This notification is generated when a
                 mplsTpTunnelOperStatus object for one of the
                 configured tunnels is about to leave the down state
                 and transition into some other state (but not into
                 the notPresent state).  This other state is
                 indicated by the included value of mplsTpTunnelOperStatus."
            ::= { hwMplsTpTunnelTrap 1 }
            
        hwMplsTpTunnelDown NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpTunnelAdminStatus, hwMplsTpTunnelOperStatus, ifName }
            STATUS current
            DESCRIPTION 
                "This notification is generated when a
                 mplsTpTunnelOperStatus object for one of the
                 configured tunnels is about to enter the down state
                 from some other state (but not from the notPresent
                 state).  This other state is indicated by the
                 included value of mplsTpTunnelOperStatus."
            ::= { hwMplsTpTunnelTrap 2 } 
            
        hwMplsTpTunnelResume NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName }
            STATUS current
            DESCRIPTION 
                "This object is used to indicate that data switching from protection Lsp to Working Lsp."
            ::= { hwMplsTpTunnelTrap 3 }

        hwMplsTpTunnelSwitch NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName }
            STATUS current
            DESCRIPTION 
                "This object is used to indicate that data switching from protection Lsp to Working Lsp."
            ::= { hwMplsTpTunnelTrap 4 }                                       
            
-- 1.3.6.1.4.1.2011.5.25.305.2.3     
        hwMplsTpLspTrap OBJECT IDENTIFIER ::= { hwMplsTpNotifications 3 }       
            
        hwMplsTpLspOamDlocClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType, ifName }
            STATUS current
            DESCRIPTION 
                " This object indicates that the link recovers from a connectivity fault."
            ::= { hwMplsTpLspTrap 1 }

        hwMplsTpLspOamDloc NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType, ifName }
            STATUS current
            DESCRIPTION 
                " This object is used to indicates the connectivity fault of the link."
            ::= { hwMplsTpLspTrap 2 }

        hwMplsTpLspOamRdiClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType, ifName }
            STATUS current
            DESCRIPTION 
                " This object indicates that the link recovers from a remote defect."
            ::= { hwMplsTpLspTrap 3 } 

        hwMplsTpLspOamRdi NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType, ifName }
            STATUS current
            DESCRIPTION 
                " This object is used to indicates the remote defect of the link."
            ::= { hwMplsTpLspTrap 4 }
                        
        hwMplsTpLspOamMisconnectionEncapClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link recovers from an misconnection encap defect."
            ::= { hwMplsTpLspTrap 5 } 
        hwMplsTpLspOamMisconnectionEncap NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link receivs from an misconnection encap defect."
            ::= { hwMplsTpLspTrap 6 } 

                       
        hwMplsTpLspOamMisconnectionDiscrClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link recovers from an misconnection discription defect."
            ::= { hwMplsTpLspTrap 7 } 

        hwMplsTpLspOamMisconnectionDiscr NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link receivs from an misconnection discription defect."
            ::= { hwMplsTpLspTrap 8 } 

        hwMplsTpLspOamMisconnectionMEPClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link recovers from an unexpect MEG-ID defect."
            ::= { hwMplsTpLspTrap 9 } 

        hwMplsTpLspOamMisconnectionMEP NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates the link receivs an unexpect MEG-ID defect."
            ::= { hwMplsTpLspTrap 10 }
            


        hwMplsTpLspOamMisconnectionSECClear NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link recovers from an Misconnection SEC defect ."
            ::= { hwMplsTpLspTrap 11 } 
            
        hwMplsTpLspOamMisconnectionSEC NOTIFICATION-TYPE
            OBJECTS { hwMplsTpTunnelIfName, hwMplsTpLspType }
            STATUS current
            DESCRIPTION 
                "This object indicates that the link receivs from an Misconnection SEC defect."
            ::= { hwMplsTpLspTrap 12 }             
         
-- 1.3.6.1.4.1.2011.5.25.305.3  
        hwMplsTpConformance OBJECT IDENTIFIER ::= { hwMplsTpMib 3 }
-- 1.3.6.1.4.1.2011.5.25.305.3.1        
        hwMplsTpCompliances OBJECT IDENTIFIER  ::= { hwMplsTpConformance 1 }
-- 1.3.6.1.4.1.2011.5.25.305.3.2
        hwMplsTpGroups OBJECT IDENTIFIER       ::= { hwMplsTpConformance 2 }    
       
        hwMplsTPGeneralGroup OBJECT-GROUP
            OBJECTS { 
            hwMplsTpTunnelIfName, 
            hwMplsTpTunnelAdminStatus, 
            hwMplsTpTunnelOperStatus, 
            hwMplsTpTunnelIngressInstance, 
            hwMplsTpTunnelEgressInstance, 
            hwMplsTpLspType 
            }
            STATUS current
            DESCRIPTION 
                "Indicate the atrributes of the TP tunnel."
            ::= { hwMplsTpGroups 1 }
                            
        hwMplsTPNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwMplsTpTunnelDownClear, hwMplsTpTunnelDown, hwMplsTpTunnelResume, hwMplsTpTunnelSwitch, hwMplsTpLspOamDlocClear, 
                hwMplsTpLspOamDloc, hwMplsTpLspOamRdiClear, hwMplsTpLspOamRdi, hwMplsTpLspOamMisconnectionEncapClear, hwMplsTpLspOamMisconnectionEncap,
                hwMplsTpLspOamMisconnectionDiscrClear, hwMplsTpLspOamMisconnectionDiscr, hwMplsTpLspOamMisconnectionMEPClear, hwMplsTpLspOamMisconnectionMEP,
                hwMplsTpLspOamMisconnectionSECClear, hwMplsTpLspOamMisconnectionSEC }
            STATUS current
            DESCRIPTION 
                "Indicate the notification type."
            ::= { hwMplsTpGroups 2 }
            
        hwMplsTpCompliance MODULE-COMPLIANCE
                        STATUS current
                        DESCRIPTION 
                                "Description."
                        MODULE HUAWEI-MPLS-TP-MIB
                                GROUP hwMplsTPGeneralGroup
                                        DESCRIPTION 
                                                "Indicate the atrributes of the TP tunnel."
                        ::= { hwMplsTpCompliances 1 }   

END
