-- ============================================================================
-- Copyright (C) 2018 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- Description:  The mib used for The Protocol 802.1p priority table. Each row
--               in the table represents a different vlan with different 802.1p
--               prioriy of protocol packets configured.
-- Reference:
-- Version:      V1.24
--
-- ============================================================================
    HUAWEI-IPDSLAM-L3PROTOCOL-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            huaweiUtility
                FROM HUAWEI-MIB
            OBJECT-TYPE, MODULE-IDENTITY, Integer32, Unsigned32, NOTIFICATION-TYPE, TimeTicks, IpAddress
                FROM SNMPv2-SMI
            hwVlanMngObject, hwVlanIndex, hwVlanIpAddress, hwVlanID
                FROM HUAWEI-VLAN-MIB
            hwFrameIndex, hwSlotIndex, hwPortIndex, hwOntIndex              
                FROM HUAWEI-DEVICE-MIB 
            MacAddress, TEXTUAL-CONVENTION                                      
                FROM SNMPv2-TC                             
            InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB
            InterfaceIndex, InterfaceIndexOrZero                   
                FROM IF-MIB;                                   

        hwL3Protocol MODULE-IDENTITY
            LAST-UPDATED "201809190000Z"
        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
                "The mib used for The Protocol 802.1p priority table. Each row
                 in the table represents a different vlan with different 802.1p
                 prioriy of protocol packets configured.
                "

           -- Revision history
           REVISION     "201809190000Z"
           DESCRIPTION  "V1.24, modified hwRouteLoadbalancingConfigTable,hwRouteLoadbalancingConfigEntry,hwBbsQueryOntIpPathType,hwBbsQueryOntIpPathProtocolType,hwBbsQueryOntIpPathResult,hwBbsQueryOntIpPathResultPortType   description ."

           REVISION     "201808290000Z"
           DESCRIPTION  "V1.23, added hwRouteLBVpnName,hwRouteLBPayloadIp,hwRouteLBEcmpVlanId."

           REVISION     "201807100000Z"
           DESCRIPTION  "V1.22, added hwVxlanSourcePortMode, hwRouteLoadbalancing, hwRouteLoadbalancingConfigEntry, hwRouteLoadbalancingECMPInfo, 
                        hwRouteLoadBalancingMode,hwRouteLoadbalancingRandomSeed."

           REVISION     "201601210000Z"
           DESCRIPTION  "V1.20, modified hwBbsQueryOntIpPathResult and hwBbsQueryOntIpPathResultPortId."

           REVISION     "201601120000Z"
           DESCRIPTION  "V1.19, modified hwBbsQueryOntIpPathResultSIp, hwBbsQueryOntIpPathResultSPort, hwBbsQueryOntIpPathResultDIp, hwBbsQueryOntIpPathResultDPort."
           
           REVISION     "201601050000Z"
           DESCRIPTION  "V1.18, added hwBbsQueryOntIpPathResultSIp, hwBbsQueryOntIpPathResultSPort, hwBbsQueryOntIpPathResultDIp, hwBbsQueryOntIpPathResultDPort."
           
           REVISION     "201512160000Z"
           DESCRIPTION  "V1.17, modified hwBbsQueryOntIpPathTrap."

           REVISION     "201510100000Z"
           DESCRIPTION  "V1.16, added hwBbsQueryOntIpPath, hwBbsQueryOntIpPathIfIndex, hwBbsQueryOntIpPathOntId, hwBbsQueryOntIpPathType,
                        hwBbsQueryOntIpPathMac, hwBbsQueryOntIpPathSIp, hwBbsQueryOntIpPathSPort, hwBbsQueryOntIpPathDIp,
                        hwBbsQueryOntIpPathDPort, hwBbsQueryOntIpPathProtocolType, hwBbsQueryResult, hwBbsQueryOntIpPathResult,
                        hwBbsQueryOntIpPathResultPortType, hwBbsQueryOntIpPathResultPortId, hwBbsTraps, hwBbsQueryOntIpPathTrap."
           
           REVISION     "201507220000Z"
           DESCRIPTION  "V1.15, modified the name of nodes about BGP trap."
           
           REVISION     "201505170000Z"
           DESCRIPTION  "V1.14, modified hwUpLinkBoardMode."
           
           REVISION     "201403120000Z"
           DESCRIPTION  "V1.13, modified oid of some traps."
           
           REVISION     "201312310000Z"
           DESCRIPTION  "V1.12, modified format of this file."
           
           REVISION     "201309140000Z"
           DESCRIPTION  "V1.11, added hwUpLinkBoardModeTable and hwRouterMode."
           
           REVISION     "201307180000Z"
           DESCRIPTION  "V1.10, added hwBgpPeerEstablishedTrap,hwBgpPeerStateTransitionTrap,hwOspfNbrStateChangeTrap,hwOspfVirtNbrStateChangeTrap,hwOspfv3NbrStateChangeTrap,hwOspfv3VirtNbrStateChangeTrap,hwPimNeighborLossTrap,hwPimNeighborAddTrap."           
           
           REVISION     "201305290000Z"
           DESCRIPTION  "V1.09, added hwNeighbourNumberDetail,hwL3AlarmTrapsVbOids,hwL3AlarmTraps."
           
           REVISION     "201210160000Z"
           DESCRIPTION  "V1.08, added hwUpLinkBoardModeTable and hwRouterMode."
           
           REVISION     "201011200000Z"
           DESCRIPTION  "V1.07, modified description of hwIPPrecedenceTable."
           
           REVISION     "201007150000Z"
           DESCRIPTION  "V1.06, modified description."

           REVISION     "201004250000Z"
           DESCRIPTION  "V1.05, modified description."

           REVISION     "201004150000Z"
           DESCRIPTION  "V1.04, modified format of this file."

           REVISION     "201002260000Z"
           DESCRIPTION  "V1.03, added hwIPPrecedenceTable."

           REVISION     "200809110000Z"
           DESCRIPTION  "V1.02, added hwProtocolDot1pPriority for MxU V800R306C01."

           REVISION     "200805110900Z"
           DESCRIPTION  "V1.01, added hwProtocolDot1pValue for MxU V800R306C01."

           REVISION    "200801150900Z"
           DESCRIPTION " V1.00, first draft."
            ::= { huaweiUtility 125 }
            
        HWOspfv3IfInstIdTc ::= TEXTUAL-CONVENTION 
                 DISPLAY-HINT "d" 
                 STATUS      current 
                 DESCRIPTION 
                    "An OSPFv3 interface instance ID" 
                 SYNTAX      Unsigned32 (0..255)   
                 
        HWOspfv3AreaIdTc ::= TEXTUAL-CONVENTION 
                 DISPLAY-HINT "d" 
                 STATUS      current 
                 DESCRIPTION 
                    "An OSPFv3 Area Identifier" 
                 SYNTAX      Unsigned32 (0..'FFFFFFFF'h)    
                 
        HWOspfv3RouterIdTc ::= TEXTUAL-CONVENTION 
                 DISPLAY-HINT "d"                                                               
                 STATUS      current                                                            
                 DESCRIPTION                                                                    
                    "A 32-bit, unsigned integer uniquely identifying the                        
                    router in the Autonomous System. To ensure uniqueness,                      
                    this may default to the value of one of the router's                        
                    IPv4 host addresses if IPv4 is configured on the                            
                    router."                                                                    
                 SYNTAX      Unsigned32 (0..'FFFFFFFF'h)   
                 
        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),
                vpls(65),
                vpn(128)
                }
                
        HWBgpPeerState ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "State of BGP peer."        
            SYNTAX INTEGER
                {
                idle(1),
                connect(2),
                active(3),
                opensent(4),
                openconfirm(5),
                established(6)
                }   
                
        HWOspfNbrState ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "State of OSPF neighbor."              
            SYNTAX INTEGER
                {
                down(1),                                       
                attempt(2),                                    
                init(3),                                       
                twoWay(4),                                     
                exchangeStart(5),                              
                exchange(6),                                   
                loading(7),                                    
                full(8)                                        
                }        
                
        HWOspfv2NbrChgReason ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "Reason of OSPF neighbor state change."             
            SYNTAX INTEGER
                {
                adjacencyHoldTimerExpired(1),
                physicalInterfaceChange(2),
                ospfProtocolReason(3),
                bfdSessionStateChange(4),
                configureChange(5),
                peerRouterReason(6),
                waitingForEstablishingNeighbor(7),
                alarmCleared(100)                
                }

        HWOspfVirtNbrState ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "Stae of OSPF vlink neighbor state."          
            SYNTAX INTEGER
                    {
                    down(1),                                                       
                    attempt(2),                                                    
                    init(3),                                                       
                    twoWay(4),                                                     
                    exchangeStart(5),                                              
                    exchange(6),                                                   
                    loading(7),                                                    
                    full(8)                                                        
                    }                  
                
        HWOspfv3NbrState ::= TEXTUAL-CONVENTION 
            STATUS current
            DESCRIPTION 
                "State of OSPFv3 neighbor state."          
            SYNTAX INTEGER 
                { 
                down(1), 
                attempt(2), 
                init(3), 
                twoWay(4), 
                exchangeStart(5), 
                exchange(6), 
                loading(7), 
                full(8)                                  
                }      
                
        HWOspfv3NbrStateChgReason ::= TEXTUAL-CONVENTION
             STATUS current
             DESCRIPTION 
                 "Reason of OSPFv3 neighbor state change."        
             SYNTAX INTEGER 
                 {
                 noEvent(1),
                      receivedHelloPacket(2),
                      start(3),
                      receivedTwoWay(4),
                      negotiationDone(5),
                      exchangeDone(6),
                      receivedBadLSRequest(7),
                      loadingDone(8),
                      establishedAdjacency(9),
                      mismatchInSeqNumber(10),
                      receivedOneWay(11),
                      nbrKilled(12),
                      inactivityTimerExpired(13),
                      linkDown(14)
                      }    
                      
        HWOspfv3VirtNbrState ::= TEXTUAL-CONVENTION 
             STATUS current
             DESCRIPTION 
                 "State of OSPFv3 vlink neighbor state."           
             SYNTAX INTEGER 
                 { 
                 down(1), 
                 attempt(2), 
                 init(3), 
                 twoWay(4), 
                 exchangeStart(5), 
                 exchange(6), 
                 loading(7), 
                 full(8) 
                 }         
                 
        HWPimNeighborNotificationReason ::= TEXTUAL-CONVENTION
             STATUS current
             DESCRIPTION 
                 "Reason of Pim Neighbor Notification."                
             SYNTAX  INTEGER 
                 {
                 holdTimeExpired(1),
                 notReceiveHelloForALongTime(2),
                 interfaceIsDown(3),
                 receiveHelloAgain(4),
                 neighbourIsDeleted(5),
                 alarmTimeOut(6),
                 receiveHelloHoldTimeZero(7),
                 bfdSessionDown(8),
                 userOperation(9),
                 alarmClear(100)
                 }                                                                                                                                                         
        
        hwL3ProtocolMibObject OBJECT IDENTIFIER ::= { hwL3Protocol 1 }

        hwProtocolDot1p OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 1 }

        hwProtocolDot1pTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwProtocolDot1pEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "The Protocol 802.1p priority table. Each row in the table
                represents a different vlan with different 802.1p priority of
                protocol packets configured.
                The index of this table is hwVlanIndex.
               "
            ::= { hwProtocolDot1p 1 }

        hwProtocolDot1pEntry OBJECT-TYPE
            SYNTAX HwProtocolDot1pEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "The Protocol 802.1p priority table. Each row in the table
                represents a different vlan with different 802.1p priority of
                protocol packets configured.
                The index of this entry is hwVlanIndex.
               "
            INDEX { hwVlanIndex }
            ::= { hwProtocolDot1pTable 1 }

        HwProtocolDot1pEntry ::=
            SEQUENCE {
                hwOspfDot1pPriority
                    Integer32,
                hwRipDot1pPriority
                    Integer32,
                hwLdpDot1pPriority
                    Integer32,
                hwRsvpTeDot1pPriority
                    Integer32,
                hwSnmpDot1pPriority
                    Integer32,
                hwProtocolDot1pPriority
                    Integer32
                     }

         hwOspfDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( 0..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The 802.1p priority of OSPF protocol on this VLAN."
            DEFVAL { 0 }
            ::= { hwProtocolDot1pEntry 1 }

        hwRipDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( 0..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The 802.1p priority of RIP protocol on this VLAN."
            DEFVAL { 0 }
            ::= { hwProtocolDot1pEntry 2 }

         hwLdpDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( 0..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The 802.1p priority of LDP protocol on this VLAN."
            DEFVAL { 0 }
            ::= { hwProtocolDot1pEntry 3 }

        hwRsvpTeDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( 0..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The 802.1p priority of RSVP-TE protocol on this VLAN."
            DEFVAL { 0 }
            ::= { hwProtocolDot1pEntry 4 }

         hwSnmpDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( 0..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The 802.1p priority of SNMP protocol on this VLAN."
            DEFVAL { 0 }
            ::= { hwProtocolDot1pEntry 5 }

         hwProtocolDot1pPriority OBJECT-TYPE
            SYNTAX Integer32 ( -1..7 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the VLAN-based 802.1p priority of packet.
                Range: -1 - 7
                The larger the value, the higher the priority.
                The invalid value -1 is returned when this leaf is not specified.
                The meaning of each value is as follows:
                best-effort: Best-effort priority(0)
                background: Background priority(1)
                spare: Spare priority(2)
                excellent-effort: Excellent-effort priority(3)
                controlled-load: Controlled-load priority(4)
                video: Video priority(5)
                voice: Voice priority(6)
                network-management: Network-management priority(7)
               "
            DEFVAL { -1 }
            ::= { hwProtocolDot1pEntry 6 }

        hwIPPrecedence OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 2 }

        hwIPPrecedenceTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIPPrecedenceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "Indicates the IP protocol precedence. Each row in the table
                represents a different vlan with DSCP value of protocol
                packets configured.
                The index of this table is hwVlanIndex.
               "
            ::= { hwIPPrecedence 1 }

        hwIPPrecedenceEntry OBJECT-TYPE
            SYNTAX HwIPPrecedenceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "Indicates the IP protocol precedence. Each row in the table
                represents a different vlan with DSCP value of protocol
                packets configured.
                The index of this entry is hwVlanIndex.
               "
            INDEX { hwVlanIndex }
            ::= { hwIPPrecedenceTable 1 }

        HwIPPrecedenceEntry ::=
            SEQUENCE {
                hwDscpValue
                    Integer32
                     }

         hwDscpValue OBJECT-TYPE
            SYNTAX Integer32 ( -1..63 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The DSCP value of IP protocol on this VLAN."
            DEFVAL { -1 }
            ::= { hwIPPrecedenceEntry 1 }
            
        hwNeighbourNumberDetail OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 3 }   
        
        hwArpLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Maximal number of ARP.
                "
            ::= { hwNeighbourNumberDetail 1 }     
            
        hwStaticArpLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Maximal number of Static ARP.
                "
            ::= { hwNeighbourNumberDetail 2 }  
            
        hwDynamicArpLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Maximal number of Dynamic ARP.
                "
            ::= { hwNeighbourNumberDetail 3 }   
            
        hwBlackholeArpLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The Maximal number of Blackhole ARP.
                "
            ::= { hwNeighbourNumberDetail 4 }       
            
        hwStaticArpNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Static ARP.
                "
            ::= { hwNeighbourNumberDetail 5 }                                               

        hwDynamicArpNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Dynamic ARP.
                "
            ::= { hwNeighbourNumberDetail 6 }  
            
        hwBlackholeArpNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Blackhole ARP.
                "
            ::= { hwNeighbourNumberDetail 7 }   
            
        hwIpv6NeighborLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximal number of Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 8 }     
            
        hwStaticIpv6NeighborLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximal number of Static Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 9 }                                   

        hwDynamicIpv6NeighborLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximal number of Dynamic Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 10 }  
            
        hwBlackholeIpv6NeighborLimitNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximal number of Blackhole Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 11 }  
            
        hwStaticIpv6NeighborNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Static Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 12 }   
            
        hwDynamicIpv6NeighborNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Dynamic Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 13 }   
            
        hwBlackholeIpv6NeighborNumber OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The current number of Blackhole Ipv6 Neighbours.
                "
            ::= { hwNeighbourNumberDetail 14 }                                               

        hwL3AlarmTrapsVbOids OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 4 }
        
        hwNbIpAddress OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "IP Address of Neighbors.The type of this address is IPv4 or IPv6.
                "
            ::= { hwL3AlarmTrapsVbOids 1 }           
    
        hwNbMacAddress OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "MAC Address of Neighbors.
                "
            ::= { hwL3AlarmTrapsVbOids 2 }                             
            
        hwARPNum OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Number of ARP entries.
                "
            ::= { hwL3AlarmTrapsVbOids 3 }         
            
        hwIPv6NBNum OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Number of IPv6 Neighbors.
                "
            ::= { hwL3AlarmTrapsVbOids 4 }                                                    
                                                         
        hwL3AlarmTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 5 }
        
        hwIpNeighborDownloadFailTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwNbIpAddress, 
                    hwNbMacAddress, 
                    hwVlanID,
                    hwARPNum,
                    hwIPv6NBNum,                    
                    hwFrameIndex, 
                    hwSlotIndex,
                    hwPortIndex,
                    hwOntIndex   
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when IP Neighbors download fail.
                "
            ::= { hwL3AlarmTraps 1 }          
        
        hwBgpAlarmTrapsVbOids OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 6 }   
        
        hwIpDslamBgpAfi OBJECT-TYPE
            SYNTAX HWBgpAfi
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The Ari of the BGP, including:
                1: ipv4(1) 
                2: ipv6(2) 
                3: vpls(25) 
                4: l2vpn(196)"
            ::= { hwBgpAlarmTrapsVbOids 1 }                  
            
        hwIpDslamBgpSafi OBJECT-TYPE
            SYNTAX HWBgpSafi        
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The Sub Afi of the BGP, including:
                1: unicast(1) 
                2: multicast(2) 
                3: mpls(4) 
                4: vpls(65)
                5: vpn(128)"
            ::= { hwBgpAlarmTrapsVbOids 2 }                  
        
        hwIpDslamBgpPeerState OBJECT-TYPE
            SYNTAX HWBgpPeerState
            MAX-ACCESS accessible-for-notify
            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) "
            ::= { hwBgpAlarmTrapsVbOids 3 }   
            
        hwIpDslamBgpPeerLastError OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            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."
            ::= { hwBgpAlarmTrapsVbOids 4 }  
            
        hwIpDslamBgpPeerType OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The type of the address family for the remote BGP peer."
            ::= { hwBgpAlarmTrapsVbOids 5 }
            
        hwIpDslamBgpPeerIPAddr OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The IP address of the remote BGP peer."
            ::= { hwBgpAlarmTrapsVbOids 6 }   
            
        hwIpDslamBgpPeerUnAvaiReason 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)"
            ::= { hwBgpAlarmTrapsVbOids 7 }     
            
        hwIpDslamBgpPeerIfindex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The index of interface for BGP peer.
                "
            ::= { hwBgpAlarmTrapsVbOids 8 }           
            
        hwIpDslamBgpPeerInstanceId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The index of the instance for the remote peer."
            ::= { hwBgpAlarmTrapsVbOids 9 }                                                       
        
        hwBgpAlarmTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 7 }      
        
        hwBgpPeerEstablishedTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwIpDslamBgpPeerInstanceId, 
                    hwIpDslamBgpAfi, 
                    hwIpDslamBgpSafi,
                    hwIpDslamBgpPeerType,
                    hwIpDslamBgpPeerIPAddr,                    
                    hwIpDslamBgpPeerLastError, 
                    hwIpDslamBgpPeerState  
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the BGP FSM was in the Established state.
                "
            ::= { hwBgpAlarmTraps 1 }   
            
        hwBgpPeerStateTransitionTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwIpDslamBgpPeerInstanceId, 
                    hwIpDslamBgpAfi, 
                    hwIpDslamBgpSafi,
                    hwIpDslamBgpPeerType,
                    hwIpDslamBgpPeerIPAddr,  
                    hwIpDslamBgpPeerIfindex,                  
                    hwIpDslamBgpPeerLastError, 
                    hwIpDslamBgpPeerState,
                    hwIpDslamBgpPeerUnAvaiReason 
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the BGP state machine moved from a higher 
                numbered state, namely, Openconfirm or Established, to a lower numbered state.
                "
            ::= { hwBgpAlarmTraps 2 }     
        
        hwOspfAlarmTrapsVbOids OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 9 } 
        
        hwOspfRouterId OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "A  32-bit  integer  uniquely  identifying  the
                        router in the Autonomous System.
                        By  convention,  to  ensure  uniqueness,   this
                        should  default  to  the  value  of  one of the
                        router's IP interface addresses."
                REFERENCE
                        "OSPF Version 2, C.1 Global parameters"
                ::= { hwOspfAlarmTrapsVbOids 1 }       
                
        hwOspfNbrIpAddr OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The IP address this neighbor is using  in  its
                        IP  Source  Address.  Note that, on addressless
                        links, this will not be 0.0.0.0,  but  the  ad-
                        dress of another of the neighbor's interfaces."
                ::= { hwOspfAlarmTrapsVbOids 2 }
                
        hwOspfNbrRtrId OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "A 32-bit integer (represented as a type  IpAd-
                        dress)  uniquely  identifying  the  neighboring
                        router in the Autonomous System.
                        Default: '00000000'h
                        "
                ::= { hwOspfAlarmTrapsVbOids 3 }
                
        hwOspfIfIpAddress OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The IP address of this OSPF interface."
                ::= { hwOspfAlarmTrapsVbOids 4 }
                
        hwOspfIfAreaId OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "A 32-bit integer uniquely identifying the area
                        to  which  the  interface  connects.   Area  ID
                        0.0.0.0 is used for the OSPF backbone.
                        Default: '00000000'h
                        "
                ::= { hwOspfAlarmTrapsVbOids 5 }        
                
        hwOspfNbrAddressLessIndex OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "On an interface having an  IP  Address,  zero.
                        On  addressless  interfaces,  the corresponding
                        value of ifIndex in the Internet Standard  MIB.
                        On  row  creation, this can be derived from the
                        instance."
                ::= { hwOspfAlarmTrapsVbOids 6 }
                
        hwOspfNbrState OBJECT-TYPE
                SYNTAX HWOspfNbrState                                             
                MAX-ACCESS accessible-for-notify                                  
                STATUS current                                         
                DESCRIPTION                                            
                        "The State of the relationship with this Neigh-
                        bor."                                          
                REFERENCE                                              
                        "OSPF Version 2, Section 10.1 Neighbor States.
                        Default: down
                        " 
                ::= { hwOspfAlarmTrapsVbOids 7 }   
                
        hwOspfv2NbrChgReason OBJECT-TYPE
                   SYNTAX HWOspfv2NbrChgReason
                   MAX-ACCESS accessible-for-notify
                   STATUS current
                   DESCRIPTION
                       "The reason of the OSPF neighbor state change."
                   ::= { hwOspfAlarmTrapsVbOids 8 }                 
                
        hwOspfProcessIdIndex OBJECT-TYPE
                    SYNTAX Integer32 (1..65535)
                    MAX-ACCESS accessible-for-notify
                    STATUS current
                    DESCRIPTION
                        "The process ID indicates the OSPF process number. The value ranges from 1 to 65535."
                    ::= { hwOspfAlarmTrapsVbOids 9 }                                
            
        hwOspfVirtNbrRtrId OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "A  32-bit  integer  uniquely  identifying  the
                        neighboring router in the Autonomous System."
                ::= { hwOspfAlarmTrapsVbOids 10}                                                            
    
        hwOspfVirtNbrState OBJECT-TYPE
                SYNTAX HWOspfVirtNbrState                                                       
                MAX-ACCESS accessible-for-notify                                                  
                STATUS current                                                         
                DESCRIPTION                                                            
                        "The state of the  Virtual  Neighbor  Relation-                
                        ship."                                                         
                ::= { hwOspfAlarmTrapsVbOids 11 } 
                
        hwOspfIfindex OBJECT-TYPE
                SYNTAX InterfaceIndex                                                             
                MAX-ACCESS accessible-for-notify                                                   
                STATUS current                                                         
                DESCRIPTION                                                            
                        "The index of the interface.
                        "                                                         
                ::= { hwOspfAlarmTrapsVbOids 12 }                                                                                            

        hwOspfAlarmTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 10 }    
        
        hwOspfNbrStateChangeTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwOspfNbrIpAddr, 
                    hwOspfNbrAddressLessIndex, 
                    hwOspfProcessIdIndex,
                    hwOspfIfAreaId,
                    hwOspfIfindex,
                    hwOspfIfIpAddress,                    
                    hwOspfRouterId, 
                    hwOspfNbrRtrId,
                    hwOspfNbrState,
                    hwOspfv2NbrChgReason  
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the status of the OSPF neighbor changed.
                "
            ::= { hwOspfAlarmTraps 1 }        
            
        hwOspfVirtNbrStateChangeTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwOspfIfAreaId, 
                    hwOspfVirtNbrRtrId, 
                    hwOspfProcessIdIndex,
                    hwOspfRouterId,
                    hwOspfVirtNbrState
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the status of the neighbor on the OSPF virtual link changed.
                "
            ::= { hwOspfAlarmTraps 2 }     
            
        hwOspfv3AlarmTrapsVbOids OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 11 }   
        
        hwOspfv3IfIndex OBJECT-TYPE 
                SYNTAX          InterfaceIndex 
                MAX-ACCESS      accessible-for-notify 
                STATUS          current 
                DESCRIPTION 
                    "The interface index of this OSPFv3 interface. 
                     It corresponds to the interface index of the 
                     IPv6 interface on which OSPFv3 is configured." 
                ::= { hwOspfv3AlarmTrapsVbOids 1 }    
                
 
        hwOspfv3IfInstId OBJECT-TYPE 
                SYNTAX          HWOspfv3IfInstIdTc 
                MAX-ACCESS      accessible-for-notify  
                STATUS          current 
                DESCRIPTION 
                    "Enables multiple interface instances of OSPFv3 
                    to be run over a single link. Each protocol 
                    instance would be assigned a separate ID. This ID 
                    has local link significance only." 
                ::= { hwOspfv3AlarmTrapsVbOids 2 }     
                
        hwOspfv3AreaId OBJECT-TYPE 
                SYNTAX          HWOspfv3AreaIdTc 
                MAX-ACCESS      accessible-for-notify 
                STATUS          current 
                DESCRIPTION 
                    "A 32-bit integer uniquely identifying an area. 
                    Area ID 0 is used for the OSPFv3 backbone." 
                REFERENCE 
                    "OSPF Version 2, Appendix C.2 Area parameters" 
                ::= { hwOspfv3AlarmTrapsVbOids 3 }    
                
        hwOspfv3RouterId OBJECT-TYPE 
                SYNTAX         HWOspfv3RouterIdTc 
                MAX-ACCESS     accessible-for-notify 
                STATUS         current  
                DESCRIPTION 
                    "A 32-bit integer uniquely identifying the 
                    router in the Autonomous System. To ensure 
                    uniqueness, this may default to the value of 
                    one of the router's IPv4 host addresses, 
                    represented as a 32-bit unsigned integer, 
                    if IPv4 is configured on the router." 
                ::= { hwOspfv3AlarmTrapsVbOids 4 }                               
                
        hwOspfv3NbrState OBJECT-TYPE 
                SYNTAX          HWOspfv3NbrState                           
                MAX-ACCESS      accessible-for-notify                                
                STATUS          current                                  
                DESCRIPTION                                              
                    "The State of the relationship with this             
                    Neighbor."                                           
                REFERENCE                                                
                    "OSPF Version 2, Section 10.1 Neighbor States"       
                ::= { hwOspfv3AlarmTrapsVbOids 5 } 
                
        hwOspfv3NbrStateChgReason OBJECT-TYPE
             SYNTAX  HWOspfv3NbrStateChgReason
             MAX-ACCESS   accessible-for-notify
             STATUS   current
             DESCRIPTION
                 "Neighbor state change reason."
             ::= { hwOspfv3AlarmTrapsVbOids 6 }               
                
        hwOspfv3VirtNbrRtrId OBJECT-TYPE                                    
                SYNTAX          HWOspfv3RouterIdTc                          
                MAX-ACCESS      accessible-for-notify                       
                STATUS          current                                     
                DESCRIPTION                                                 
                    "A 32-bit integer uniquely identifying the              
                    neighboring router in the Autonomous System."           
                ::= { hwOspfv3AlarmTrapsVbOids 7 } 
                
        hwOspfv3NbrRtrId OBJECT-TYPE 
                SYNTAX          HWOspfv3RouterIdTc 
                MAX-ACCESS      accessible-for-notify
                STATUS          current 
                DESCRIPTION 
                   "A 32-bit integer uniquely identifying the neighboring 
                   router in the Autonomous System." 
                ::= { hwOspfv3AlarmTrapsVbOids 8 }    
                
        hwOspfv3VirtNbrState OBJECT-TYPE 
                SYNTAX          HWOspfv3VirtNbrState
                MAX-ACCESS      accessible-for-notify
                STATUS          current 
                DESCRIPTION 
                    "The state of the Virtual Neighbor Relationship." 
                ::= { hwOspfv3AlarmTrapsVbOids 9 }                                                                                                                                                 
                
        hwOspfv3AlarmTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 12 }      
        
        hwOspfv3NbrStateChangeTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwOspfv3IfIndex,
                    hwOspfv3IfInstId,
                    hwOspfv3RouterId,
                    hwOspfv3NbrRtrId,
                    hwOspfv3NbrState,
                    hwOspfv3NbrStateChgReason
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the status of the OSPFv3 neighbor changed.
                "
            ::= { hwOspfv3AlarmTraps 1 }        
            
        hwOspfv3VirtNbrStateChangeTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwOspfv3AreaId,  
                    hwOspfv3RouterId,
                    hwOspfv3VirtNbrRtrId,
                    hwOspfv3VirtNbrState,
                    hwOspfv3NbrStateChgReason
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the status of the OSPFv3 neighbor on the virtual link changed.
                "
            ::= { hwOspfv3AlarmTraps 2 }    
            
        hwPimAlarmTrapsVbOids OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 13 }
        
        hwPimInterfaceIndex OBJECT-TYPE
            SYNTAX     InterfaceIndex
            MAX-ACCESS accessible-for-notify
            STATUS     current
            DESCRIPTION
                    "The ifIndex value of this PIM interface."
            ::= { hwPimAlarmTrapsVbOids 1 }
        
        hwPimInterfaceAddressType OBJECT-TYPE
            SYNTAX     InetAddressType                                 
            MAX-ACCESS accessible-for-notify                                       
            STATUS     current                                         
            DESCRIPTION                                                
                    "The address type of this PIM interface."          
            ::= { hwPimAlarmTrapsVbOids 2 }
        
        hwPimInterfaceAddress OBJECT-TYPE
            SYNTAX     InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS     current
            DESCRIPTION
                    "The primary IP address of this router on this PIM
                    interface.  The InetAddressType is given by the
                    hwPimInterfaceAddressType object."
            REFERENCE "RFC 4601 sections 4.1.6, 4.3.1-4.3.4 and 4.5.1"
            ::= { hwPimAlarmTrapsVbOids 3 } 
        
        hwPimNeighborUpTime OBJECT-TYPE
            SYNTAX     TimeTicks
            MAX-ACCESS accessible-for-notify
            STATUS     current
            DESCRIPTION
                    "The time since this PIM neighbor (last) became a neighbor
                    of the local router."
            ::= { hwPimAlarmTrapsVbOids   4 }  
            
        hwPimInstanceID OBJECT-TYPE
            SYNTAX     Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS     current
            DESCRIPTION
                    "The Instance ID of the trap."
            ::= { hwPimAlarmTrapsVbOids 5 }  
        
       hwPimNeighborNotificationReason OBJECT-TYPE
           SYNTAX     HWPimNeighborNotificationReason
           MAX-ACCESS accessible-for-notify
           STATUS     current
           DESCRIPTION
                    "The reason for trap sending:
                    1:holdTime expired;
                    2:Not receive hello for a long time;
                    3:Interface is down;
                    4:Receive Hello again;
                    5:neighbour is deleted;
                    6:Alarm time out;
                    7:Receive Hello HoldTime is Zero;
                    8:Bfd Session is Down;
                    9:User Operation;
                    100:Alarm Clear"
           ::= { hwPimAlarmTrapsVbOids 6 }     
           
        hwPimNeighborExpiryTime OBJECT-TYPE
            SYNTAX     TimeTicks
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                    "The minimum time remaining before this PIM neighbor will
                    be aged out.  The value zero indicates that this PIM
                    neighbor will never be aged out."
            ::= { hwPimAlarmTrapsVbOids 7 }                             
                        
        hwPimAlarmTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 14 }   
          
        hwPimNeighborLossTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwPimInterfaceIndex,    
                    hwPimInterfaceAddressType,
                    hwPimInterfaceAddress,    
                    hwPimNeighborUpTime,      
                    hwPimInstanceID,          
                    hwPimNeighborNotificationReason
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when the PIM neighbor was lost.
                "
            ::= { hwPimAlarmTraps 1 }        
            
        hwPimNeighborAddTrap NOTIFICATION-TYPE
            OBJECTS 
                { 
                    hwPimInterfaceIndex,    
                    hwPimInterfaceAddressType,
                    hwPimInterfaceAddress,    
                    hwPimNeighborExpiryTime,  
                    hwPimInstanceID           
                }
            STATUS current
            DESCRIPTION 
                "This notification is generated when a new PIM neighbor is created.
                "
            ::= { hwPimAlarmTraps 2 } 
        
        hwBbsQueryOntIpPath OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 15 } 
        
        hwBbsQueryOntIpPathIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the frame/slot/port ID.
                "
            ::= { hwBbsQueryOntIpPath 1 }
            
        hwBbsQueryOntIpPathOntId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the ONT ID.
                "
            ::= { hwBbsQueryOntIpPath 2 }
            
        hwBbsQueryOntIpPathType OBJECT-TYPE
            SYNTAX INTEGER{
                    nni2uni(1),
                    uni2nni(2),
                    invalid(-1)
                   }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the query type.
                Options:
                1. nni2uni(1)   -Network Node Interface to User Networks Interface.
                2. uni2nni(2)   -User Networks Interface to Network Node Interface.
                3. invalid(-1)  -invalid value.
                "
            ::= { hwBbsQueryOntIpPath 3 }
            
        hwBbsQueryOntIpPathMac OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the MAC address.
                The all zeros MAC address is invalid.
                "
            ::= { hwBbsQueryOntIpPath 4 }
            
        hwBbsQueryOntIpPathSIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the source IP address.
                The all zeros IP address is invalid.
                "
            ::= { hwBbsQueryOntIpPath 5 }
            
        hwBbsQueryOntIpPathSPort OBJECT-TYPE
            SYNTAX Integer32 ( -1|1..65535 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the source port, -1 is invalid port ID.   
                Range: 1-65535.
                Default: -1.
                "
            ::= { hwBbsQueryOntIpPath 6 }
            
        hwBbsQueryOntIpPathDIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the destination IP address.
                The all zeros IP address is invalid.
                "
            ::= { hwBbsQueryOntIpPath 7 }
            
        hwBbsQueryOntIpPathDPort OBJECT-TYPE
            SYNTAX Integer32 ( -1|1..65535 )
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the destination port, -1 is invalid port ID.
                Range: 1-65535.
                Default: -1.
                "
            ::= { hwBbsQueryOntIpPath 8 }
        
        hwBbsQueryOntIpPathProtocolType OBJECT-TYPE
            SYNTAX INTEGER{
                    tcp(6),
                    udp(17),
                    invalid(-1)
                   }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "
                When query the ONT IP path, this object is a input parameter which indicates the query protocol type(tcp or udp).
                Options:
                1. tcp(6)       -TCP.
                2. udp(17)      -UDP.
                3. invalid(-1)  -invalid value.
                "
            ::= { hwBbsQueryOntIpPath 9 }
        
        hwBbsQueryResult OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 16 }
        
        hwBbsQueryOntIpPathResult OBJECT-TYPE
            SYNTAX INTEGER{
                successful(1),
                notsupport(2),
                ontoffline(3),
                notfound(4),
                timeout(5)
                   }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the type of the query result.
                The following node values are abnormal if path restoration results are 2, 3, 4, and 5:
                hwBbsQueryOntIpPathResultPortType = -1
                hwBbsQueryOntIpPathResultPortId = -1
                hwBbsQueryOntIpPathResultSIp = 0.0.0.0
                hwBbsQueryOntIpPathResultSPort = -1
                hwBbsQueryOntIpPathResultDIp = 0.0.0.0
                hwBbsQueryOntIpPathResultDPort = -1
                Options:
                1. successful(1)   -the path restoration result is successfully obtained.
                2. notsupport(2)   -the ONT does not support path restoration.
                3. ontoffline(3)   -the ONT is not online.
                4. notfound(4)     -the ONT has no path restoration result
                5. timeout(5)      -path restoration result is not obtained within 10s
                "
            ::= { hwBbsQueryResult 1 }
        
        hwBbsQueryOntIpPathResultPortType OBJECT-TYPE
            SYNTAX INTEGER{
                eth(47),
                invalid(-1)
                   }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the ONT port type of the query result.
                Options:
                1. eth(47)     -The port type is eth.
                2. invalid(-1) -invalid.
                "
            ::= { hwBbsQueryResult 2 }
            
        hwBbsQueryOntIpPathResultPortId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the ONT port ID of the query result, -1 is invalid port ID.
                "
            ::= { hwBbsQueryResult 3 }  
        
        hwBbsQueryOntIpPathResultSIp OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the source IP address of the query result. The all zeros IP address is invalid.
                "
            ::= { hwBbsQueryResult 4 }  

        hwBbsQueryOntIpPathResultSPort OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the source port of the query result, -1 is invalid port ID.
                "
            ::= { hwBbsQueryResult 5 }  
            
        hwBbsQueryOntIpPathResultDIp OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the destination IP address of the query result. The all zeros IP address is invalid.
                "
            ::= { hwBbsQueryResult 6 }  
            
        hwBbsQueryOntIpPathResultDPort OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "
                This object indicates the destination port of the query result, -1 is invalid port ID.
                "
            ::= { hwBbsQueryResult 7 }
              
        hwBbsTraps OBJECT IDENTIFIER ::= { hwL3ProtocolMibObject 17 }
        
        hwBbsQueryOntIpPathTrap NOTIFICATION-TYPE
            OBJECTS {
                hwBbsQueryOntIpPathIfIndex,
                hwBbsQueryOntIpPathOntId,
                hwBbsQueryOntIpPathType,
                hwBbsQueryOntIpPathMac,
                hwBbsQueryOntIpPathSIp,
                hwBbsQueryOntIpPathSPort,
                hwBbsQueryOntIpPathDIp,
                hwBbsQueryOntIpPathDPort,
                hwBbsQueryOntIpPathProtocolType,
                hwBbsQueryOntIpPathResult,
                hwBbsQueryOntIpPathResultPortType,
                hwBbsQueryOntIpPathResultPortId,
                hwBbsQueryOntIpPathResultSIp,
                hwBbsQueryOntIpPathResultSPort,
                hwBbsQueryOntIpPathResultDIp,
                hwBbsQueryOntIpPathResultDPort
            }
            STATUS current
            DESCRIPTION 
                "A hwBbsQueryOntIpPathTrap trap contains the input parameters and query result, it is sent when the query operation is performed correctly."
            ::= { hwBbsTraps 1 }  
            
        hwL3FwdMode OBJECT IDENTIFIER ::= { hwL3Protocol 2 }

        hwUpLinkBoardModeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwUpLinkBoardModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "Indicates the forwarding mode of the spuf board.
                The index of this table is hwFrameIndex and hwSlotIndex.
               "
            ::= { hwL3FwdMode 1 }

        hwUpLinkBoardModeEntry OBJECT-TYPE
            SYNTAX HwUpLinkBoardModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
               "Indicates the forwarding mode of the spuf board.
                The indexes of this entry are hwFrameIndex and hwSlotIndex.
               "
            INDEX { hwFrameIndex, hwSlotIndex }
            ::= { hwUpLinkBoardModeTable 1 }

        HwUpLinkBoardModeEntry ::=
            SEQUENCE {
                hwUpLinkBoardMode
                    INTEGER
                     }

        hwUpLinkBoardMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                l2mode(1),
                l3mode(2),
                invalid(65535)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "The fowarding mode of the spuf board.
                Options:
                1. l2mode(1) -layer-2 fowarding mode.
                2. l3mode(2) -layer-3 fowarding mode.
                3. invalid(65535) -invalid value.
               "
            ::= { hwUpLinkBoardModeEntry 1 }

       hwRouterMode OBJECT-TYPE
           SYNTAX INTEGER 
               {
               basicmode(1),
               enhancedmode(2)
               }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "The fowarding mode of system.The default value is basic fowarding mode.
                Options:
                1. basicmode(1)    -the mode of layer-3 fowarding is based on main board.
                2. enhancedmode(2) -the mode of layer-3 fowarding is based on enhanced board.
               "               
           ::= { hwL3FwdMode 2 }
           
        hwVxlanSourcePortMode OBJECT-TYPE
            SYNTAX BITS
                {
                    dmac(0),
                    smac(1),
                    sip(2),
                    dip(3)
                }            
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the optional mode of vxlan source-port. The default value is destination mac and source mac.
                Options:
                1. dmac(0)    -the mode of vxlan source-port is based on the destination mac of packet.
                2. smac(1)    -the mode of vxlan source-port is based on the source mac of packet.
                3. sip(2)     -the mode of vxlan source-port is based on the destination IP of packet.
                4. dip(3)     -the mode of vxlan source-port is based on the source IP of packet.
                "
            ::= { hwL3Protocol 3 }

    
        hwRouteLoadbalancing OBJECT IDENTIFIER ::= { hwL3Protocol 4 }
        
        hwRouteLoadbalancingConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwRouteLoadbalancingConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
                DESCRIPTION
                "Indicate the query info of ECMP route load balancing.
                The index of this table is hwRouteLBInportIndex.
                "
            ::= { hwRouteLoadbalancing 1 }
        
        hwRouteLoadbalancingConfigEntry OBJECT-TYPE
            SYNTAX HwRouteLoadbalancingConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
                DESCRIPTION
                "Indicate the query info of ECMP route load balancing.
                The index of this entry is hwRouteLBInportIndex.
                "
            INDEX { hwRouteLBInportIndex }
            ::= { hwRouteLoadbalancingConfigTable 1 }
        
        HwRouteLoadbalancingConfigEntry ::=
            SEQUENCE { 
                hwRouteLBInportIndex
                    Unsigned32,
                hwRouteLBAddrType
                    INTEGER,
                hwRouteLBDstIp
                    InetAddress,
                hwRouteLBMaskLen
                    Integer32,
                hwRouteLBVpnName
                    OCTET STRING,
                hwRouteLBPayloadIp
                    InetAddress,
                hwRouteLBSrcIp
                    InetAddress,
                hwRouteLBProtocol
                    Integer32,
                hwRouteLBSrcPort
                    Integer32,
                hwRouteLBDstPort
                    Integer32,
                hwRouteLBSrcMac
                    MacAddress,
                hwRouteLBDstMac
                    MacAddress,
                hwRouteLBVlanId
                    Integer32,
                hwRouteLBInnerVlanId
                    Integer32
             }

        hwRouteLBInportIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "IfIndex of the input port."
            ::= { hwRouteLoadbalancingConfigEntry 1 }
        
        hwRouteLBAddrType OBJECT-TYPE
            SYNTAX INTEGER
                {
                ipv4(1),
                ipv6(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address type to bind.
                Options:
                1. ipv4(1)  -indicates that the IP address type is ipv4
                2. ipv6(2)  -indicates that the IP address type is ipv6              
                "
            ::= { hwRouteLoadbalancingConfigEntry 2 }
        
        hwRouteLBDstIp OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Destination IP address."
            ::= { hwRouteLoadbalancingConfigEntry 3 }
        
        hwRouteLBMaskLen OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The mask length of the destination IP. The range depends on  hwRouteLBAddrType.
                hwRouteLBAddrType is ipv4(1), the range is 0-32.
                hwRouteLBAddrType is ipv6(2), the range is 0-128."
            ::= { hwRouteLoadbalancingConfigEntry 4 }
            
        hwRouteLBVpnName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(0..31))
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates the VPN name."
            ::= { hwRouteLoadbalancingConfigEntry 5 }    
            
        hwRouteLBPayloadIp OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The PayLoad IP address."
            ::= { hwRouteLoadbalancingConfigEntry 6 }   
            
        hwRouteLBSrcIp OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Source IP address."
            ::= { hwRouteLoadbalancingConfigEntry 7 }
        
        hwRouteLBProtocol OBJECT-TYPE
            SYNTAX Integer32(0..255)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Describes the protocol of IP packets."
            ::= { hwRouteLoadbalancingConfigEntry 8 }
        
        hwRouteLBSrcPort OBJECT-TYPE
            SYNTAX Integer32(0..65535)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Specify source port."
            ::= { hwRouteLoadbalancingConfigEntry 9 }
        
        hwRouteLBDstPort OBJECT-TYPE
            SYNTAX Integer32(0..65535)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Specify destination port."
            ::= { hwRouteLoadbalancingConfigEntry 10 }
        
        hwRouteLBSrcMac OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Source MAC address."
            ::= { hwRouteLoadbalancingConfigEntry 11 }
        
        hwRouteLBDstMac OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The Destination MAC address."
            ::= { hwRouteLoadbalancingConfigEntry 12 }
        
        hwRouteLBVlanId OBJECT-TYPE
            SYNTAX Integer32(1..4095)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The outer vlan id."
            ::= { hwRouteLoadbalancingConfigEntry 13 }
        
        hwRouteLBInnerVlanId OBJECT-TYPE
            SYNTAX Integer32(1..4095)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The inner vlan id."
            ::= { hwRouteLoadbalancingConfigEntry 14 }
        
        hwRouteLoadbalancingECMPInfo OBJECT IDENTIFIER ::= { hwRouteLoadbalancing 2 }
        
        hwRouteLBEcmpId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the ECMP ID of the query result."
            ::= { hwRouteLoadbalancingECMPInfo 1 }
        
        hwRouteLBEcmpNextHop OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the ECMP NextHop of the query result."
            ::= { hwRouteLoadbalancingECMPInfo 2 }
            
        hwRouteLBEcmpVlanId OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the ECMP VlanId of the query result."
            ::= { hwRouteLoadbalancingECMPInfo 3 }             
            
        hwRouteLoadBalancingMode OBJECT IDENTIFIER ::= { hwRouteLoadbalancing 3 }

        hwRouteLoadBalancingModeValue OBJECT-TYPE
           SYNTAX INTEGER
            {
            srcdstip(0),
            ipenhance(1),
            vlanconnect(2)                
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "The mode of route load-balancing. The default value is src-dst-ip.
                Options:
                1. srcdstip(0)    -the mode of route load-balancing is src-dst-ip.
                2. ipenhance(1)    -the mode of route load-balancing is ip-enhance.
                3. vlanconnect(2)  -the mode of route load-balancing is vlan-connect.
               "            
            ::= { hwRouteLoadBalancingMode 1 }    
            
        hwRouteLoadbalancingRandomSeed OBJECT IDENTIFIER ::= { hwRouteLoadbalancing 4 }

        hwRouteLoadbalancingRandomSeedValue OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hwRouteLoadbalancingRandomSeed 1 }
           
         END                        
                                 
                                 
