-- ============================================================================
-- Copyright (C) 2008 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI-BGP-VPN-MIB , this Mib module for management 
--              of BGP/VPN protocol.
-- Reference: This MIB was extracted from RFC 4271 
-- Version: V1.1
-- History:
--    <wangchong >, <2008-12-28>, <publish>
--    <xiaoyaqun>, <2009-09-14>, <publish>
-- ============================================================================

    HUAWEI-BGP-VPN-MIB DEFINITIONS ::= BEGIN
  
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            ifName            
                FROM IF-MIB            
            InetAddressType, InetAddress            
                FROM INET-ADDRESS-MIB            
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            IpAddress, Integer32, Unsigned32, Gauge32, Counter32, 
            OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI            
            TEXTUAL-CONVENTION            
                FROM SNMPv2-TC
                        mplsL3VpnVrfPerfCurrNumRoutes, mplsL3VpnVrfConfMidRteThresh
                            FROM MPLS-L3VPN-STD-MIB;    
    
-- December 26, 2008 at 09:55 GMT
        hwBgpMIB MODULE-IDENTITY 
            LAST-UPDATED "200812260955Z"        -- December 26, 2008 at 09:55 GMT
            ORGANIZATION 
                "Huawei Technologies co.,Ltd"
            CONTACT-INFO 
                "R&D BeiJing, Huawei Technologies co.,Ltd.
                Huawei Bld.,NO.3 Xinxi Rd., 
                Shang-Di Information Industry Base,
                Hai-Dian District Beijing P.R. China
                Zip:100085 
                Http://www.huawei.com                                       
                E-mail:support@huawei.com"
            DESCRIPTION 
                "The Mib module for management of BGP/VPN. Huawei Technologies co.,Ltd. 
                Supplementary information may be available at: 
                http://www.huawei.com"
            ::= { hwDatacomm 177 }
        
-- 
-- Textual conventions
-- 
        HWBgpAfi ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "Address Family Identifier(AFI) for BGP peer."
            SYNTAX INTEGER
                {
                ipv4(1),
                ipv6(2),
                vpls(25),
                l2vpn(196)
                }
            
        HWBgpSafi ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "Subsequent Address Family Identifier(SAFI) for BGP peer."
            SYNTAX INTEGER
                {
                unicast(1),
                multicast(2),
                mpls(4),
                mcast-vpn(5),
                vpls(65),
                mdt(66),
                vpn(128),
                route-target(132)
                }
            
    
--
-- Node definitions
--
        -- 1.3.6.1.4.1.2011.5.25.177.1
        hwBgpObjects OBJECT IDENTIFIER ::= { hwBgpMIB 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1
        hwBgpPeers OBJECT IDENTIFIER ::= { hwBgpObjects 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1
        hwBgpPeerAddrFamilyTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerAddrFamilyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "BGP Peer Address Family Table.  
                This table contains information about the address family for BGP peers."
            ::= { hwBgpPeers 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1
        hwBgpPeerAddrFamilyEntry OBJECT-TYPE
            SYNTAX HwBgpPeerAddrFamilyEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The information about the address family for BGP peers."
            INDEX { hwBgpPeerInstanceId, hwBgpPeerAddrFamilyAfi, hwBgpPeerAddrFamilySafi, hwBgpPeerType, hwBgpPeerIPAddr
                 }
            ::= { hwBgpPeerAddrFamilyTable 1 }
        
        HwBgpPeerAddrFamilyEntry ::=
            SEQUENCE { 
                hwBgpPeerInstanceId
                    Unsigned32,
                hwBgpPeerAddrFamilyAfi
                    HWBgpAfi,
                hwBgpPeerAddrFamilySafi
                    HWBgpSafi,
                hwBgpPeerType
                    InetAddressType,
                hwBgpPeerIPAddr
                    InetAddress,
                hwBgpPeerVrfName
                    OCTET STRING
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.1
        hwBgpPeerInstanceId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the instance for the remote BGP peer."
            ::= { hwBgpPeerAddrFamilyEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.2
        hwBgpPeerAddrFamilyAfi OBJECT-TYPE
            SYNTAX HWBgpAfi
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the address family for the remote BGP peer."
            ::= { hwBgpPeerAddrFamilyEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.3
        hwBgpPeerAddrFamilySafi OBJECT-TYPE
            SYNTAX HWBgpSafi
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The index of the sub-address family for the remote peer."
            ::= { hwBgpPeerAddrFamilyEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.4
        hwBgpPeerType OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The type of the address family for the remote BGP peer."
            ::= { hwBgpPeerAddrFamilyEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.5
        hwBgpPeerIPAddr OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The IP address of the remote BGP peer."
            ::= { hwBgpPeerAddrFamilyEntry 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.1.1.6
        hwBgpPeerVrfName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The name of the VPN instance."
            ::= { hwBgpPeerAddrFamilyEntry 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2
        hwBgpPeerTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "BGP Peer Table.  
                This table contains information about the connections for BGP peers."
            ::= { hwBgpPeers 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1
        hwBgpPeerEntry OBJECT-TYPE
            SYNTAX HwBgpPeerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The information about the connections with BGP peers."
            AUGMENTS { hwBgpPeerAddrFamilyEntry }
            ::= { hwBgpPeerTable 1 }
        
        HwBgpPeerEntry ::=
            SEQUENCE { 
                hwBgpPeerNegotiatedVersion
                    Unsigned32,
                hwBgpPeerRemoteAs
                    Unsigned32,
                hwBgpPeerRemoteAddr
                    InetAddress,
                hwBgpPeerState
                    INTEGER,
                hwBgpPeerFsmEstablishedCounter
                    Unsigned32,
                hwBgpPeerFsmEstablishedTime
                    Gauge32,
                hwBgpPeerGRStatus
                    INTEGER,
                hwBgpPeerLastError
                    OCTET STRING,
                hwBgpPeerUnAvaiReason
                    Unsigned32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.1
        hwBgpPeerNegotiatedVersion OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The version negotiated with the remote BGP peer."
            ::= { hwBgpPeerEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.2
        hwBgpPeerRemoteAs OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The AS number of the remote BGP peer."
            ::= { hwBgpPeerEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.4
        hwBgpPeerRemoteAddr OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The IP address of the remote BGP peer."
            ::= { hwBgpPeerEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.5
        hwBgpPeerState OBJECT-TYPE
            SYNTAX INTEGER
                {
                idle(1),
                connect(2),
                active(3),
                opensent(4),
                openconfirm(5),
                established(6)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The status of the remote BGP peer, including:
                1: Idle(1) 
                2: Connect(2) 
                3: Active(3) 
                4: Opensent(4) 
                5: Openconfirm(5) 
                6: Established(6) "
            ::= { hwBgpPeerEntry 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.6
        hwBgpPeerFsmEstablishedCounter OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Counter That Records the Times the Remote BGP Peer Is Correctly Connected
                The counter is increased by one if the remote BGP peer is correctly connected once.
                The counter could be set to zero."
            ::= { hwBgpPeerEntry 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.7
        hwBgpPeerFsmEstablishedTime OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The counter that records the times the remote BGP peer is correctly connected."
            ::= { hwBgpPeerEntry 7 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.8
        hwBgpPeerGRStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                peerNotBeingHelped(1),
                peerRestarting(2),
                peerFinishRestart(3),
                peerHelping(4)
                }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Graceful restart status of the BGP peer, including:
                1: peerNotBeingHelped, indicating that the BGP peer will not be helped during restarting. 
                2: peerRestarting, indicating that the BGP peer is detected restarting.
                3: peerFinishRestart, indicating that the BGP peer finishes the latest GR.
                4: peerHelping, indicating that the BGP peer is helping the local end to perform GR."
            ::= { hwBgpPeerEntry 8 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.9
        hwBgpPeerLastError OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The last error code and subcode seen by this
                peer on this connection.  If no error has
                occurred, this field is zero.  Otherwise, the
                first byte of this two byte OCTET STRING
                contains the error code, and the second byte
                contains the subcode."
            ::= { hwBgpPeerEntry 9 }
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.2.1.10
        hwBgpPeerUnAvaiReason OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer down reason including:
                1: Configuration lead peer down(1)
                2: Receive notification(2)
                3: Receive error packet(3) 
                4: Hold timer expire(4)
                5: Remote peer not reachable(5) 
                6: Direct connect-interface down(6) 
                7: Route limit(7)"
            ::= { hwBgpPeerEntry 10 }
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.3
        hwBgpPeerRouteTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerRouteEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Route table for BGP Peers
                This table contains routing information about the BGP peers."
            ::= { hwBgpPeers 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.3.1
        hwBgpPeerRouteEntry OBJECT-TYPE
            SYNTAX HwBgpPeerRouteEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The routing information about the BGP peers."
            AUGMENTS { hwBgpPeerAddrFamilyEntry }
            ::= { hwBgpPeerRouteTable 1 }
        
        HwBgpPeerRouteEntry ::=
            SEQUENCE { 
                hwBgpPeerPrefixRcvCounter
                    Counter32,
                hwBgpPeerPrefixActiveCounter
                    Counter32,
                hwBgpPeerPrefixAdvCounter
                    Counter32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.3.1.1
        hwBgpPeerPrefixRcvCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of prefixes received from the remote BGP peer."
            ::= { hwBgpPeerRouteEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.3.1.2
        hwBgpPeerPrefixActiveCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of active prefixes received from the remote BGP peer."
            ::= { hwBgpPeerRouteEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.3.1.3
        hwBgpPeerPrefixAdvCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of prefixes sent to the remote BGP peer."
            ::= { hwBgpPeerRouteEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4
        hwBgpPeerMessageTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerMessageEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Protocol Packet Table for BGP Peers
                This table contains information about the protocol packets of BGP peers."
            ::= { hwBgpPeers 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1
        hwBgpPeerMessageEntry OBJECT-TYPE
            SYNTAX HwBgpPeerMessageEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The information about the protocol packets of the BGP peers."
            AUGMENTS { hwBgpPeerAddrFamilyEntry }
            ::= { hwBgpPeerMessageTable 1 }
        
        HwBgpPeerMessageEntry ::=
            SEQUENCE { 
                hwBgpPeerInTotalMsgCounter
                    Counter32,
                hwBgpPeerOutTotalMsgCounter
                    Counter32,
                hwBgpPeerInOpenMsgCounter
                    Counter32,
                hwBgpPeerInUpdateMsgCounter
                    Counter32,
                hwBgpPeerInNotificationMsgCounter
                    Counter32,
                hwBgpPeerInKeepAliveMsgCounter
                    Counter32,
                hwBgpPeerInRouteFreshMsgCounter
                    Counter32,
                hwBgpPeerOutOpenMsgCounter
                    Counter32,
                hwBgpPeerOutUpdateMsgCounter
                    Counter32,
                hwBgpPeerOutNotificationMsgCounter
                    Counter32,
                hwBgpPeerOutKeepAliveMsgCounter
                    Counter32,
                hwBgpPeerOutRouteFreshMsgCounter
                    Counter32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.1
        hwBgpPeerInTotalMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of protocol packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.2
        hwBgpPeerOutTotalMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of protocol packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.3
        hwBgpPeerInOpenMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Open packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.4
        hwBgpPeerInUpdateMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Update packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.5
        hwBgpPeerInNotificationMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Notification packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.6
        hwBgpPeerInKeepAliveMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Keepalive packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.7
        hwBgpPeerInRouteFreshMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Route-Refresh packets received from the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 7 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.8
        hwBgpPeerOutOpenMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Open packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 8 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.9
        hwBgpPeerOutUpdateMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Update packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 9 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.10
        hwBgpPeerOutNotificationMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Notification packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 10 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.11
        hwBgpPeerOutKeepAliveMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Keepalive packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 11 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.4.1.12
        hwBgpPeerOutRouteFreshMsgCounter OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of Route-Refresh packets sent to the remote BGP peer."
            ::= { hwBgpPeerMessageEntry 12 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.5
        hwBgpPeerConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "BGP Peer Configuration Table.  
                This table contains the configurations of BGP peers."
            ::= { hwBgpPeers 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.5.1
        hwBgpPeerConfigEntry OBJECT-TYPE
            SYNTAX HwBgpPeerConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the configurations of BGP peers."
            AUGMENTS { hwBgpPeerAddrFamilyEntry }
            ::= { hwBgpPeerConfigTable 1 }
        
        HwBgpPeerConfigEntry ::=
            SEQUENCE { 
                hwBgpPeerConfigRouteLimitNum
                    Unsigned32,
                hwBgpPeerConfigRouteLimitThreshold
                    Unsigned32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.5.1.1
        hwBgpPeerConfigRouteLimitNum OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the maximum number of routes received from the BGP peer."
            ::= { hwBgpPeerConfigEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.5.1.2
        hwBgpPeerConfigRouteLimitThreshold OBJECT-TYPE
            SYNTAX Unsigned32 (0..100)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the alarm threshold (%) of the maximum number of routes received from the BGP peer."
            ::= { hwBgpPeerConfigEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6
        hwBgpPeerSessionTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpPeerSessionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "BGP Peer Session Table.
                This table contains BGP peer session informations."
            ::= { hwBgpPeers 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1
        hwBgpPeerSessionEntry OBJECT-TYPE
            SYNTAX HwBgpPeerSessionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The information about the BGP peer sessions."
            INDEX { hwBgpPeerSessionVrfName, hwBgpPeerSessionRemoteAddrType, hwBgpPeerSessionRemoteAddr }
            ::= { hwBgpPeerSessionTable 1 }
        
        HwBgpPeerSessionEntry ::=
            SEQUENCE { 
                hwBgpPeerSessionVrfName
                    OCTET STRING,
                hwBgpPeerSessionRemoteAddrType
                    InetAddressType,
                hwBgpPeerSessionRemoteAddr
                    InetAddress,
                hwBgpPeerSessionLocalAddrType
                    InetAddressType,
                hwBgpPeerSessionLocalAddr
                    InetAddress,
                hwBgpPeerSessionUnavailableType
                    INTEGER,
                hwBgpPeerSessionLocalIfName
                    OCTET STRING,                        
                hwBgpPeerSessionReason
                    INTEGER
             }

        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.1
        hwBgpPeerSessionVrfName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Bgp Vrf id."
            ::= { hwBgpPeerSessionEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.2
        hwBgpPeerSessionRemoteAddrType OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Bgp peer session remote address type."
            ::= { hwBgpPeerSessionEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.3
        hwBgpPeerSessionRemoteAddr OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Bgp peer session remote address."
            ::= { hwBgpPeerSessionEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.4
        hwBgpPeerSessionLocalAddrType OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer session local address type."
            ::= { hwBgpPeerSessionEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.5
        hwBgpPeerSessionLocalAddr OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer session local address."
            ::= { hwBgpPeerSessionEntry 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.6
        hwBgpPeerSessionUnavailableType OBJECT-TYPE
            SYNTAX INTEGER
                {
                uptodown(1),
                alwaysdown(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer unavailable type including:
                1: Up To Down(1)
                2: Always Down(2)"
            ::= { hwBgpPeerSessionEntry 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.7
        hwBgpPeerSessionLocalIfName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer session local IFName."
            ::= { hwBgpPeerSessionEntry 7 }        
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.1.6.1.8
        hwBgpPeerSessionReason OBJECT-TYPE
            SYNTAX INTEGER
                {
                configurationLeadPeerDown(1),
                receiveNotification(2),
                receiveErrorPacket(3),
                holdTimerExpire(4),
                remotePeerNotReachable(5),
                directConnectInterfaceDown(6),
                routeLimit(7),
                peerIsNotUpForASpecifiedPeriodOfTime(8),
                alarmClear(100)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Bgp peer down reason including:
                1: Configuration lead peer down(1)
                2: Receive notification(2)
                3: Receive error packet(3) 
                4: Hold timer expire(4)
                5: Remote peer not reachable(5) 
                6: Direct connect-interface down(6) 
                7: Route limit(7)
                8: Peer is not up for a specified long time(8)
                100: Alarm clear(100)"
            ::= { hwBgpPeerSessionEntry 8 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.2
        hwBgpRoute OBJECT IDENTIFIER ::= { hwBgpObjects 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3
        hwBgpTraps OBJECT IDENTIFIER ::= { hwBgpObjects 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.1
        hwBgpPeerRouteNumThresholdExceed NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerConfigRouteLimitNum, hwBgpPeerConfigRouteLimitThreshold }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the number of routes received from the BGP peer exceeds the alarm threshold."
            ::= { hwBgpTraps 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.2
        hwBgpPeerRouteNumThresholdClear NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerConfigRouteLimitNum, hwBgpPeerConfigRouteLimitThreshold }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the number of routes received from the BGP peer decreases below the alarm threshold."
            ::= { hwBgpTraps 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.3
        hwBgpPeerGRStatusChange NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerGRStatus }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the graceful restart status described by hwBgpPeerGRStatus changes."
            ::= { hwBgpTraps 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.4
        hwBgpPeerUnavailable NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerSessionLocalAddrType, hwBgpPeerSessionLocalAddr, 
                hwBgpPeerSessionUnavailableType, hwBgpPeerSessionLocalIfName, hwBgpPeerSessionReason }
            STATUS current
            DESCRIPTION 
                "This notification is generated when bgp peer session state change from up to down."
            ::= { hwBgpTraps 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.5
        hwBgpPeerAvailable NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerSessionLocalAddrType, hwBgpPeerSessionLocalAddr, 
                hwBgpPeerSessionUnavailableType, hwBgpPeerSessionLocalIfName, hwBgpPeerSessionReason }
            STATUS current
            DESCRIPTION 
                "This notification is generated when bgp peer session state change from down to up."
            ::= { hwBgpTraps 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.6
        hwBgpPeerRouteExceed NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerConfigRouteLimitNum, hwBgpPeerConfigRouteLimitThreshold }
            STATUS current
            DESCRIPTION 
                "This notification is generated when bgp peer session route number exceed."
            ::= { hwBgpTraps 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.7
        hwBgpPeerRouteExceedClear NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerConfigRouteLimitNum, hwBgpPeerConfigRouteLimitThreshold }
            STATUS current
            DESCRIPTION 
                "This notification is generated when bgp peer session route number exceed clear."
            ::= { hwBgpTraps 7 }

               hwL3vpnVrfRouteMidThreshCleared NOTIFICATION-TYPE
                        OBJECTS     { mplsL3VpnVrfPerfCurrNumRoutes, mplsL3VpnVrfConfMidRteThresh }
                        STATUS      current
                        DESCRIPTION
                                "This notification is generated when the number of routes
                                 contained by the specified VRF exceeds the value indicated by
                                 mplsL3VpnVrfMidRouteThreshold, and then falls below this value.  
                                 A single notification MUST be generated when this threshold is 
                                 exceeded, and no other notifications of this type should be issued 
                                 until the value of mplsL3VpnVrfPerfCurrNumRoutes has fallen below 
                                 that of mplsL3VpnVrfConfMidRteThresh."
                       ::= { hwBgpTraps 8 }   
                                  
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.9
        hwBgpPeerEstablished NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerLastError, hwBgpPeerState }
            STATUS current
            DESCRIPTION 
                "The BGP Established event is generated when
                the BGP FSM enters the ESTABLISHED state."
            ::= { hwBgpTraps 9 }
        -- 1.3.6.1.4.1.2011.5.25.177.1.3.10
        hwBgpPeerBackwardTransition NOTIFICATION-TYPE
            OBJECTS { hwBgpPeerLastError, hwBgpPeerState, hwBgpPeerUnAvaiReason, ifName }
            STATUS current
            DESCRIPTION 
                "The BGPBackwardTransition Event is generated
                when the BGP FSM moves from a higher numbered
                state to a lower numbered state."
            ::= { hwBgpTraps 10 }
        -- 1.3.6.1.4.1.2011.5.25.177.2
        hwBgpVpnObjects OBJECT IDENTIFIER ::= { hwBgpMIB 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1
        hwBgpVpnTunnelTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpVpnTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the VPN-tunnel bearing relation table that shows detailed information about the tunnel that bears the VPN service."
            ::= { hwBgpVpnObjects 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1
        hwBgpVpnTunnelEntry OBJECT-TYPE
            SYNTAX HwBgpVpnTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates detailed information about the tunnel bearing VPN services. This object can be queried, but not be set or created."
            INDEX { hwBgpVpnTunnelVrfName, hwBgpVpnTunnelPublicNetNextHop, hwBgpVpnTunnelId }
            ::= { hwBgpVpnTunnelTable 1 }
        
        HwBgpVpnTunnelEntry ::=
            SEQUENCE { 
                hwBgpVpnTunnelVrfName
                    OCTET STRING,
                hwBgpVpnTunnelPublicNetNextHop
                    IpAddress,
                hwBgpVpnTunnelId
                    Unsigned32,
                hwBgpVpnTunnelDestAddr
                    IpAddress,
                hwBgpVpnTunnelType
                    Unsigned32,
                hwBgpVpnTunnelSrcAddr
                    IpAddress,
                hwBgpVpnTunnelOutIfName
                    OCTET STRING,
                hwBgpVpnTunnelIsLoadBalance
                    Unsigned32,
                hwBgpVpnTunnelLspIndex
                    Unsigned32,
                hwBgpVpnTunnelLspOutIfName
                    OCTET STRING,
                hwBgpVpnTunnelLspOutLabel
                    Unsigned32,
                hwBgpVpnTunnelLspNextHop
                    IpAddress,
                hwBgpVpnTunnelLspFec
                    IpAddress,
                hwBgpVpnTunnelLspFecPfxLen
                    IpAddress,
                hwBgpVpnTunnelLspIsBackup
                    Unsigned32,
                hwBgpVpnTunnelSignalProtocol
                    Integer32,
                hwBgpVpnTunnelSessionTunnelId
                    Integer32,
                hwBgpVpnTunnelTunnelName
                    OCTET STRING
             }

        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.1
        hwBgpVpnTunnelVrfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the VRF name."
            ::= { hwBgpVpnTunnelEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.2
        hwBgpVpnTunnelPublicNetNextHop OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the next hop in the public network."
            ::= { hwBgpVpnTunnelEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.3
        hwBgpVpnTunnelId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The value of this object identifies the tunnel ID."
            ::= { hwBgpVpnTunnelEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.4
        hwBgpVpnTunnelDestAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the destination address of the tunnel."
            ::= { hwBgpVpnTunnelEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.5
        hwBgpVpnTunnelType OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the tunnel type."
            ::= { hwBgpVpnTunnelEntry 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.6
        hwBgpVpnTunnelSrcAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the source address of the tunnel."
            ::= { hwBgpVpnTunnelEntry 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.7
        hwBgpVpnTunnelOutIfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..64))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the name of the outgoing interface for the tunnel."
            ::= { hwBgpVpnTunnelEntry 7 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.8
        hwBgpVpnTunnelIsLoadBalance OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies whether load balancing is performed."
            ::= { hwBgpVpnTunnelEntry 8 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.9
        hwBgpVpnTunnelLspIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the index of the primary LSP for the tunnel."
            ::= { hwBgpVpnTunnelEntry 9 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.10
        hwBgpVpnTunnelLspOutIfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..64))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the name of the outgoing interface for the primary LSP of the tunnel."
            ::= { hwBgpVpnTunnelEntry 10 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.11
        hwBgpVpnTunnelLspOutLabel OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies the outgoing label for the primary LSP of the tunnel."
            ::= { hwBgpVpnTunnelEntry 11 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.12
        hwBgpVpnTunnelLspNextHop OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the next hop for the primary LSP of the tunnel."
            ::= { hwBgpVpnTunnelEntry 12 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.13
        hwBgpVpnTunnelLspFec OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the FEC for the primary LSP of the tunnel."
            ::= { hwBgpVpnTunnelEntry 13 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.14
        hwBgpVpnTunnelLspFecPfxLen OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the length of the FEC for the primary LSP of the tunnel."
            ::= { hwBgpVpnTunnelEntry 14 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.15
        hwBgpVpnTunnelLspIsBackup OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies whether the LSP is the backup LSP."
            ::= { hwBgpVpnTunnelEntry 15 }

        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.16
        hwBgpVpnTunnelSignalProtocol OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies signaling protocol type of the tunnel."
            ::= { hwBgpVpnTunnelEntry 16 }
     
        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.17
        hwBgpVpnTunnelSessionTunnelId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies ID of the tunnel configured through the command."
            ::= { hwBgpVpnTunnelEntry 17 }

        -- 1.3.6.1.4.1.2011.5.25.177.2.1.1.18
        hwBgpVpnTunnelTunnelName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..64))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the tunnel name."
            ::= { hwBgpVpnTunnelEntry 18 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.2
        hwBgpVpnServiceIdTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBgpVpnServiceIdEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the Service-id of the L3VPN services."
            ::= { hwBgpVpnObjects 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.2.1
        hwBgpVpnServiceIdEntry OBJECT-TYPE
            SYNTAX HwBgpVpnServiceIdEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates detailed information about the Service-id of L3VPN services. This object can be queried, set but not created."
            INDEX { hwBgpVpnServiceIdVrfName }
            ::= { hwBgpVpnServiceIdTable 1 }
        
        HwBgpVpnServiceIdEntry ::=
            SEQUENCE { 
                hwBgpVpnServiceIdVrfName
                    OCTET STRING,
                hwBgpVpnServiceIdValue
                    Unsigned32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.2.2.1.1
        hwBgpVpnServiceIdVrfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the VRF name."
            ::= { hwBgpVpnServiceIdEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.2.2.1.2
        hwBgpVpnServiceIdValue OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The value of this object identifies the Service-id."
            DEFVAL { '0'b }
            ::= { hwBgpVpnServiceIdEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3
        hwBgpConformance OBJECT IDENTIFIER ::= { hwBgpMIB 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.1
        hwBgpCompliances OBJECT IDENTIFIER ::= { hwBgpConformance 1 }
        
-- this module
        -- 1.3.6.1.4.1.2011.5.25.177.3.1.1
        hwBgpCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for Huawei-BGP-VPN MIB"
            MODULE -- this module
                MANDATORY-GROUPS { hwBgpPeer, hwBgpPeerRoute, hwBgpPeerMessage }
            ::= { hwBgpCompliances 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2
        hwBgpGroups OBJECT IDENTIFIER ::= { hwBgpConformance 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.1
        hwBgpPeerAddrFamily OBJECT-GROUP
            OBJECTS { hwBgpPeerVrfName }
            STATUS current
            DESCRIPTION 
                "Address Family Group for BGP peers
                This table contains members of the address family for BGP peers"
            ::= { hwBgpGroups 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.2
        hwBgpPeer OBJECT-GROUP
            OBJECTS { hwBgpPeerNegotiatedVersion, hwBgpPeerRemoteAs, hwBgpPeerRemoteAddr, hwBgpPeerState, hwBgpPeerFsmEstablishedCounter, 
                hwBgpPeerGRStatus, hwBgpPeerFsmEstablishedTime, hwBgpPeerLastError, hwBgpPeerUnAvaiReason }
            STATUS current
            DESCRIPTION 
                "BGP Peer Group.  
                This table contains members of the connections with BGP peers."
            ::= { hwBgpGroups 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.3
        hwBgpPeerRoute OBJECT-GROUP
            OBJECTS { hwBgpPeerPrefixRcvCounter, hwBgpPeerPrefixActiveCounter, hwBgpPeerPrefixAdvCounter }
            STATUS current
            DESCRIPTION 
                "Route Group for BGP Peers
                This table contains members of the routes with BGP peers."
            ::= { hwBgpGroups 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.4
        hwBgpPeerMessage OBJECT-GROUP
            OBJECTS { hwBgpPeerInTotalMsgCounter, hwBgpPeerOutTotalMsgCounter, hwBgpPeerInOpenMsgCounter, hwBgpPeerInUpdateMsgCounter, hwBgpPeerInNotificationMsgCounter, 
                hwBgpPeerInKeepAliveMsgCounter, hwBgpPeerInRouteFreshMsgCounter, hwBgpPeerOutOpenMsgCounter, hwBgpPeerOutUpdateMsgCounter, hwBgpPeerOutNotificationMsgCounter, 
                hwBgpPeerOutKeepAliveMsgCounter, hwBgpPeerOutRouteFreshMsgCounter }
            STATUS current
            DESCRIPTION 
                "Protocol Packet Group for BGP Peers
                This table contains members of the protocol packets with BGP peers."
            ::= { hwBgpGroups 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.5
        hwBgpPeerConfig OBJECT-GROUP
            OBJECTS { hwBgpPeerConfigRouteLimitNum, hwBgpPeerConfigRouteLimitThreshold }
            STATUS current
            DESCRIPTION 
                "Configuration Group for BGP Peers.  
                This table contains members of the configurations of BGP peers."
            ::= { hwBgpGroups 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.3.2.6
        hwBgpTrap NOTIFICATION-GROUP
            NOTIFICATIONS { hwBgpPeerRouteNumThresholdExceed, hwBgpPeerRouteNumThresholdClear, hwBgpPeerGRStatusChange, hwBgpPeerEstablished, hwBgpPeerBackwardTransition
                 }
            STATUS current
            DESCRIPTION 
                "Trap Group for BGP Peers.  
                This table contains members of the traps of BGP peers."
            ::= { hwBgpGroups 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.5
        hwBgpVpnConformance OBJECT IDENTIFIER ::= { hwBgpMIB 5 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.5.1
        hwBgpVpnCompliances OBJECT IDENTIFIER ::= { hwBgpVpnConformance 1 }
        
-- this module
        -- 1.3.6.1.4.1.2011.5.25.177.5.1.1
        hwBgpVpnCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for Route Management MIB."
            MODULE -- this module
                MANDATORY-GROUPS { hwBgpVpnTunnelGroup, hwBgpVpnServiceIdGroup }
            ::= { hwBgpVpnCompliances 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.5.2
        hwBgpVpnExtGroups OBJECT IDENTIFIER ::= { hwBgpVpnConformance 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.5.2.1
        hwBgpVpnTunnelGroup OBJECT-GROUP
            OBJECTS { hwBgpVpnTunnelDestAddr, hwBgpVpnTunnelType, hwBgpVpnTunnelSrcAddr, hwBgpVpnTunnelIsLoadBalance, hwBgpVpnTunnelLspIndex, 
                hwBgpVpnTunnelLspOutLabel, hwBgpVpnTunnelLspNextHop, hwBgpVpnTunnelLspFec, hwBgpVpnTunnelLspFecPfxLen, hwBgpVpnTunnelOutIfName, 
                hwBgpVpnTunnelLspOutIfName, hwBgpVpnTunnelLspIsBackup, hwBgpVpnTunnelTunnelName, hwBgpVpnTunnelSessionTunnelId, hwBgpVpnTunnelSignalProtocol }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwBgpVpnExtGroups 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.5.2.2
        hwBgpVpnServiceIdGroup OBJECT-GROUP
            OBJECTS { hwBgpVpnServiceIdValue }
            STATUS current
            DESCRIPTION 
                "This object indicates the Service-id of the L3VPN services."
            ::= { hwBgpVpnExtGroups 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6
        hwTnl2VpnTrapObjects OBJECT IDENTIFIER ::= { hwBgpMIB 6 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6.1
        hwTnl2VpnTrapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwTnl2VpnTrapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Tnl2Vpn Trap table.
                This table contains the trap information.
                This table is only used for sending trap messages and does not support the get/getnext/set operation."
            ::= { hwTnl2VpnTrapObjects 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6.1.1
        hwTnl2VpnTrapEntry OBJECT-TYPE
            SYNTAX HwTnl2VpnTrapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates detailed information about the trap message."
            INDEX { hwVpnId }
            ::= { hwTnl2VpnTrapTable 1 }
        
        HwTnl2VpnTrapEntry ::=
            SEQUENCE { 
                hwVpnId
                    Unsigned32,
                hwVpnPublicNextHop
                    IpAddress,
                hwTunnelReachablityEvent
                    Unsigned32,
                hwVpnTrapCkeyValue
                    Unsigned32
             }

        -- 1.3.6.1.4.1.2011.5.25.177.6.1.1.1
        hwVpnId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the VPN index."
            ::= { hwTnl2VpnTrapEntry 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6.1.1.2
        hwVpnPublicNextHop OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the public next-hop address."
            ::= { hwTnl2VpnTrapEntry 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6.1.1.3
        hwTunnelReachablityEvent OBJECT-TYPE
            SYNTAX Unsigned32 (0..4096)
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates whether the tunnel is reachable.
                1--tunnel reachable.
                2--tunnel unreachable."
            ::= { hwTnl2VpnTrapEntry 3 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.6.1.1.4
        hwVpnTrapCkeyValue OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the ckey value.
                This value is used for getting next-hop information."
            ::= { hwTnl2VpnTrapEntry 4 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.7
        hwTnl2VpnTrapConformance OBJECT IDENTIFIER ::= { hwBgpMIB 7 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.7.1
        hwTnl2VpnTrapConformances OBJECT IDENTIFIER ::= { hwTnl2VpnTrapConformance 1 }
        
--   this module
        -- 1.3.6.1.4.1.2011.5.25.177.7.1.1
        hwTnl2VpnTrapCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for Huawei-BGP-VPN MIB."
            MODULE -- this module
                MANDATORY-GROUPS { hwTnl2VpnTrapGroup, hwTnl2VpnTrapNotificationGroup }
            ::= { hwTnl2VpnTrapConformances 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.7.2
        hwTnl2VpnTrapGroups OBJECT IDENTIFIER ::= { hwTnl2VpnTrapConformance 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.7.2.1
        hwTnl2VpnTrapGroup OBJECT-GROUP
            OBJECTS { hwVpnId, hwVpnPublicNextHop, hwVpnTrapCkeyValue, hwTunnelReachablityEvent }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwTnl2VpnTrapGroups 1 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.7.2.2
        hwTnl2VpnTrapNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwTnl2VpnTrapEvent }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwTnl2VpnTrapGroups 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.8
        hwTnl2VpnTrapNotification OBJECT IDENTIFIER ::= { hwBgpMIB 8 }
        
        -- 1.3.6.1.4.1.2011.5.25.177.8.1
        hwTnl2VpnTrapEvent NOTIFICATION-TYPE
            OBJECTS { hwVpnId, hwVpnPublicNextHop, hwVpnTrapCkeyValue, hwTunnelReachablityEvent }
            STATUS current
            DESCRIPTION 
                "This trap indicates whether the tunnel used by a VPN is reachable,
                If the tunnel is unreachable, a trap is sent to notify the user, hwTunnelReachablityEvent is 2.
                If the tunnel is reachable, a trap is sent to notify the user, hwTunnelReachablityEvent is 1."
            ::= { hwTnl2VpnTrapNotification 1 }
        
    
    END

--
-- HUAWEI-BGP-VPN-MIB.mib
--