-- ====================================================================
-- ====================================================================
-- Copyright (C) 2018 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: Huawei Board Service Ability MIB
-- Reference:   
-- Version:     V2.13
-- History:
--              2013-6  created for give an alarm to OSS that some services are not supported in the current board.
-- Zhangyun  2013-06-13 created
-- =====================================================================

    HUAWEI-BOARD-SERVICE-ABILITY-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB 
                
            entPhysicalIndex, entPhysicalName
                FROM ENTITY-MIB
                            
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF

            TEXTUAL-CONVENTION, DisplayString
                FROM SNMPv2-TC 
                                     
            OBJECT-TYPE, NOTIFICATION-TYPE, MODULE-IDENTITY, Integer32, Unsigned32            
                FROM SNMPv2-SMI;
 

--
-- Node definitions
--
    
--  Node definitions

        -- 1.3.6.1.4.1.2011.5.25.321    
        hwBoardServiceAbilityMIB MODULE-IDENTITY
        LAST-UPDATED "201804200000Z"        
        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 BoardServiceAbility MIB module is defined to give an alarm for non-support services when the board inserted of Huawei Technologies co., Ltd."
			
       REVISION "201804200000Z"
       DESCRIPTION "edit description to hwFwdResLackForLicenseMib"
	   
       REVISION "201804190000Z"
       DESCRIPTION "add variable to hwFwdResLackForLicenseMib hwFwdResLackForLicenseNotifications"
       
       REVISION "201802060000Z"
       DESCRIPTION "edit description to hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib"

       REVISION "201801230000Z"
       DESCRIPTION "add variable to hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib hwL3ucBoardNotSupportLoadBalanceHashKeyIpNotifications"

       REVISION "201705110000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201704120000Z"
       DESCRIPTION "add variable to hwMplsSupportLabelExceedMib hwMplsSrLabelstackNumExceedAlm"

       REVISION "201607290000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201607110000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201605160000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201604190000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

        REVISION "201603180000Z"
       DESCRIPTION "created at  March 18, 2016"

       REVISION "201602140000Z"
       DESCRIPTION "add variable to HwServiceIDValue"
	   
       REVISION "201602040000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201602010000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

        REVISION "201507150000Z"
       DESCRIPTION "created at  July 15, 2015"

       REVISION "201504070000Z"
       DESCRIPTION "add variable to HwServiceIDValue"

       REVISION "201503130000Z"
       DESCRIPTION "modified hwBoardAbilityServiceID from INTEGER to enum"

       REVISION "201312200000Z"
       DESCRIPTION "modified order of trap params"

       REVISION "201308240000Z"
       DESCRIPTION "modified trap params"

        REVISION "201306090000Z"
       DESCRIPTION "created at  June 9, 2013 "

            ::= { hwDatacomm 321 }
--
-- Textual conventions
--
        HwServiceIDValue ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "A service ID is used to identify a service type:
                VPLS E-TREE (1)
                VPLS TPID (2)
                VLL TPID (3)
                VPLS FLOWLABEL (4)
                VLL FLOWLABEL (5)
                VPLS CONTROLWORD (6)
                NG-MVPN (7)
                MP2MP_PBB_VPLS (8)
                QOS_DS (9)
                TE HQOS (10)
                SOFTGRE (11)
                P2P_PBB_VPLS (12)
                MULTICAST LSP (13)
                ETHTRUNK_CONTROL (14)
                MPLS_APS (15)
                ICB Bypass PW (16)
                VPLS_SHORT_PIPE  (17) 
                QOS_URPF (18)
                VPLS IVL (19)
                QOS_VSIACL(20)
                LDP_STATISTICS(21)
                VEMAC_UPDATEDISABLE(28)
                VXLAN(29)
                QOS_GTPACL(30)
                L2TPV3(31)
                VPLSPW PACKET-TYPE STATISTIC(32)
                VCPE(33)
                CFM_Sender_id_TLV(34)
                NvTrafficReplication(35)
                QOSQUEUE_LPQ(36)
                QOSQUEUE_SOURCESLOT(37)
                QOSQUEUE_WFQ(38)
                "
            SYNTAX INTEGER
                {
                vplsEtree(1),
                vplsTpid(2),
                vllTpid(3),
                vplsFlowlabel(4),
                vllFlowlabel(5),
                vplsControlWord(6),
                ngMvpn(7),
                mp2mpPbbVpls(8),
                qosDS(9),
                teHQS(10),
                softGRE(11),
                p2pPbbVpls(12),
                multicastLsp(13),
                ethTrunkControl(14),
                mplsAps(15),
                icbBypassPw(16),
                vplsShortPipe(17),
                qosUrpf(18),
                vplsIvl(19),
                qosvsiacl(20),
                ldpstatistics(21) ,
                vemacUpdateDisable(28),
                vxlan(29),
                qosgtpacl(30),
                l2tpv3(31),
                vplspacketstatistic(32),
                vcpe(33),
                cfmSenderIdTlv(34),
                nvTrafficReplication(35),
                qosQueueLpq(36),
                qosQueueSourceSlot(37),
                qosQueueWfq(38)
                }  
        
        hwBoardServiceAbilityObject OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 1 }   
        
        -- 1.3.6.1.4.1.2011.5.25.321.1.1       
        hwBoardServiceAbilityTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwBoardServiceAbilityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table is used to define variables in traps."
            ::= { hwBoardServiceAbilityObject 1 }

        hwBoardServiceAbilityEntry OBJECT-TYPE
            SYNTAX HwBoardServiceAbilityEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Defined the entries between OSS and Router. They are SlotID, ServiceID, ServiceName and Precautions."
            INDEX { entPhysicalIndex, hwBoardAbilityServiceID }
            ::= { hwBoardServiceAbilityTable 1 }

        HwBoardServiceAbilityEntry ::=
        SEQUENCE{
                hwBoardAbilityServiceID HwServiceIDValue,
                hwBoardAbilityServiceName OCTET STRING,
                hwBoardAbilityPrecautions OCTET STRING                                                          
          }
                    
          hwBoardAbilityServiceID OBJECT-TYPE
              SYNTAX  HwServiceIDValue
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "Service ID."  
              ::= {hwBoardServiceAbilityEntry 1}  
    
          hwBoardAbilityServiceName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..80)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The service name."
              ::= {hwBoardServiceAbilityEntry 2} 
              
          hwBoardAbilityPrecautions OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..80)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "Give precautions to users."
              ::= {hwBoardServiceAbilityEntry 3}
                   
        --1.3.6.1.4.1.2011.5.25.321.2    
        hwBoardServiceAbilityTraps OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 2 }
        
        -- 1.3.6.1.4.1.2011.5.25.321.2.1
        hwBoardServiceMismatchTrap NOTIFICATION-TYPE
            OBJECTS {entPhysicalIndex, hwBoardAbilityServiceID, entPhysicalName, hwBoardAbilityServiceName, hwBoardAbilityPrecautions}
            STATUS current
            DESCRIPTION 
                "The service is not supported for the board hardware."
            ::= { hwBoardServiceAbilityTraps 1 }
        
      
-- for compile builder     
        -- 1.3.6.1.4.1.2011.5.25.321.3 
        hwBoardServiceAbilityConformance OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 3 }  
               
-- begin of compliance statements
 		hwBoardServiceAbilityCompliances OBJECT IDENTIFIER ::= { hwBoardServiceAbilityConformance 1 }
        hwBoardServiceAbilityCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for entities that implement
                kinds of interfaces between OSS and router."
            MODULE -- this module
                MANDATORY-GROUPS { hwBoardServiceAbilityEntryGroup, hwBoardServiceAbilityTrapsGroup}
            ::= { hwBoardServiceAbilityCompliances 1 }  
--end of compliance statements 

--begin of define Groups       
        hwBoardServiceAbilityGroups OBJECT IDENTIFIER ::= { hwBoardServiceAbilityConformance 2 }    
        hwBoardServiceAbilityEntryGroup OBJECT-GROUP
            OBJECTS{ 
            hwBoardAbilityServiceID,
            hwBoardAbilityServiceName,
            hwBoardAbilityPrecautions
            }
           STATUS      current
           DESCRIPTION
               "Entries between the OSS and Router device."
           ::= { hwBoardServiceAbilityGroups 1 }    
           
        hwBoardServiceAbilityTrapsGroup NOTIFICATION-GROUP
            NOTIFICATIONS 
                    {
                        hwBoardServiceMismatchTrap
                    }
            STATUS current
            DESCRIPTION 
                "Traps of the service ability of a board."
            ::= { hwBoardServiceAbilityGroups 2 } 
--end of define Groups 

    -- 1.3.6.1.4.1.2011.5.25.321.5
    hwMplsSupportLabelExceedMib OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 5 }  
    
    -- 1.3.6.1.4.1.2011.5.25.321.5.1
    hwMplsSupportLabelExceedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwMplsSupportLabelExceedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The stitch label stack number exceed two layers"
        ::= { hwMplsSupportLabelExceedMib 1 }
    
    -- 1.3.6.1.4.1.2011.5.25.321.5.1.1
    hwMplsSupportLabelExceedEntry OBJECT-TYPE
            SYNTAX HwMplsSupportLabelExceedEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The stitch label stack number exceed two layers"
            INDEX { hwStitchLabel}
            ::= { hwMplsSupportLabelExceedTable 1 }
    
    HwMplsSupportLabelExceedEntry ::=
            SEQUENCE { 
                hwStitchLabel
                    Unsigned32
             }
             
    -- 1.3.6.1.4.1.2011.5.25.321.5.1.1.1
    hwStitchLabel OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The stitch label stack number exceed two layers"
            ::= { hwMplsSupportLabelExceedEntry 1 }
            
    -- 1.3.6.1.4.1.2011.5.25.321.6
    hwMplsSrLabelstackNumExceedAlm OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 6 }
    
    -- 1.3.6.1.4.1.2011.5.25.321.6.1
        hwMplsLabelstackNumExceed NOTIFICATION-TYPE
            OBJECTS { hwStitchLabel }
            STATUS current
            DESCRIPTION 
                "This notification indicates that the stitch label stack number exceed two."
            ::= { hwMplsSrLabelstackNumExceedAlm 1 }
        
    -- 1.3.6.1.4.1.2011.5.25.321.6.2
        hwMplsLabelstackNumExceedClear NOTIFICATION-TYPE
            OBJECTS { hwStitchLabel }
            STATUS current
            DESCRIPTION 
                "This notification indicates that the stitch label stack number exceed two was cleared."
            ::= { hwMplsSrLabelstackNumExceedAlm 2 }

    -- 1.3.6.1.4.1.2011.5.25.321.7     
    hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 7 }  
    
    -- 1.3.6.1.4.1.2011.5.25.321.7.1
    hwL3ucBoardNotSupportLoadBalanceHashKeyIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL3ucBoardNotSupportLoadBalanceHashKeyIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object indicates the ECMP based on a specified source or destination IP address."
        ::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 1 }
    
    -- 1.3.6.1.4.1.2011.5.25.321.7.1.1
    hwL3ucBoardNotSupportLoadBalanceHashKeyIpEntry OBJECT-TYPE
            SYNTAX HwL3ucBoardNotSupportLoadBalanceHashKeyIpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates that the board does not support ECMP based on a specified source or destination IP address."
            INDEX { hwLoadBalanceHashKeyIpSlotId}
            ::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpTable 1 }
    
    HwL3ucBoardNotSupportLoadBalanceHashKeyIpEntry ::=
            SEQUENCE { 
                hwLoadBalanceHashKeyIpSlotId
                    DisplayString
             }
             
    -- 1.3.6.1.4.1.2011.5.25.321.7.1.1.1
    hwLoadBalanceHashKeyIpSlotId OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the slot ID of the board on which ECMP based on a specified source or destination IP address is not supported."
            ::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpEntry 1 }
    
    -- 1.3.6.1.4.1.2011.5.25.321.7.2
	hwL3ucBoardNotSupportLoadBalanceHashKeyIpAlarmOccur NOTIFICATION-TYPE
		OBJECTS { hwLoadBalanceHashKeyIpSlotId }
		STATUS current
		DESCRIPTION 
			"This object indicates that the board does not support ECMP based on a specified source or destination IP address."
		::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 2 }
        
    -- 1.3.6.1.4.1.2011.5.25.321.7.3
	hwL3ucBoardNotSupportLoadBalanceHashKeyIpAlarmResume NOTIFICATION-TYPE
		OBJECTS { hwLoadBalanceHashKeyIpSlotId }
		STATUS current
		DESCRIPTION 
			"This object indicates that a clear alarm is generated when ECMP based on a specified source or destination IP address is disabled or the board is replaced by a board that supports this function."
		::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 3 }
		
    --begin of define Groups 
    -- 1.3.6.1.4.1.2011.5.25.321.7.4	
	hwLoadBalanceHashKeyIpGroup OBJECT-GROUP
		OBJECTS {hwLoadBalanceHashKeyIpSlotId}
		STATUS current
		DESCRIPTION 
			"This object indicates the object group of the ECMP based on a specified source or destination IP address is not supported."
		::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 4 }
		
    -- 1.3.6.1.4.1.2011.5.25.321.7.5	
   hwLoadBalanceHashKeyIpTrapGroup NOTIFICATION-GROUP
		NOTIFICATIONS {hwL3ucBoardNotSupportLoadBalanceHashKeyIpAlarmOccur, hwL3ucBoardNotSupportLoadBalanceHashKeyIpAlarmResume}
		STATUS current
		DESCRIPTION 
			"This object indicates the notification group of ECMP based on a specified source or destination IP address."
		::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 5 }
    --end of define Groups  

    -- 1.3.6.1.4.1.2011.5.25.321.7.6	
    -- begin of compliance statements
	hwLoadBalanceHashKeyIpCompliance MODULE-COMPLIANCE
		STATUS current
		DESCRIPTION 
			"This object indicates the compliance statement for the ECMP based on a specified source or destination IP address."
		MODULE
			MANDATORY-GROUPS { hwLoadBalanceHashKeyIpGroup, hwLoadBalanceHashKeyIpTrapGroup}
		::= { hwL3ucBoardNotSupportLoadBalanceHashKeyIpMib 6 } 
    --end of compliance statements  
	
	
	
	-- 1.3.6.1.4.1.2011.5.25.321.8     
    hwFwdResLackForLicenseMib OBJECT IDENTIFIER ::= { hwBoardServiceAbilityMIB 8 }  
    
    -- 1.3.6.1.4.1.2011.5.25.321.8.1
    hwFwdResLackForLicenseTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwFwdResLackForLicenseEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object indicates the license was not activated for the board and the number of used resources on the board has exceeded."
        ::= { hwFwdResLackForLicenseMib 1 }
    
    -- 1.3.6.1.4.1.2011.5.25.321.8.1.1
    hwFwdResLackForLicenseEntry OBJECT-TYPE
            SYNTAX HwFwdResLackForLicenseEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates that the license was not activated for the board and the number of used resources on the board has exceeded."
            INDEX { hwFwdResLackForLicensehwItemName,hwFwdResLackForLicensehwSlotId}
            ::= { hwFwdResLackForLicenseTable 1 }
    
    HwFwdResLackForLicenseEntry ::=
            SEQUENCE { 
                hwFwdResLackForLicensehwItemName
                    DisplayString,
                hwFwdResLackForLicensehwSlotId
                    DisplayString,
                hwFwdResLackForLicensehwhwResDesc
                    DisplayString
             }
             
    -- 1.3.6.1.4.1.2011.5.25.321.8.1.1.1
    hwFwdResLackForLicensehwItemName OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the type of the license which was not activated for the board."
            ::= { hwFwdResLackForLicenseEntry 1 }

    -- 1.3.6.1.4.1.2011.5.25.321.8.1.1.2			
    hwFwdResLackForLicensehwSlotId OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the slot ID of the board on which the license was not activated."
            ::= { hwFwdResLackForLicenseEntry 2 }

    -- 1.3.6.1.4.1.2011.5.25.321.8.1.1.3			
    hwFwdResLackForLicensehwhwResDesc OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the resource item name of the license which was not activated for the board."
            ::= { hwFwdResLackForLicenseEntry 3 }
			
    -- 1.3.6.1.4.1.2011.5.25.321.8.2
	hwFwdResLackForLicenseAlarmOccur NOTIFICATION-TYPE
		OBJECTS { hwFwdResLackForLicensehwItemName,hwFwdResLackForLicensehwSlotId,hwFwdResLackForLicensehwhwResDesc }
		STATUS current
		DESCRIPTION 
			"This object indicates that the number of used resources on the board has exceeded the upper threshold and to continue using these resources, purchase and activate corresponding license resource items as soon as possible."
		::= { hwFwdResLackForLicenseMib 2 }
        
    -- 1.3.6.1.4.1.2011.5.25.321.8.3
	hwFwdResLackForLicenseAlarmResume NOTIFICATION-TYPE
		OBJECTS { hwFwdResLackForLicensehwItemName,hwFwdResLackForLicensehwSlotId,hwFwdResLackForLicensehwhwResDesc }
		STATUS current
		DESCRIPTION 
			"This object indicates that a clear alarm is generated when activate corresponding license is activated for the board."
		::= { hwFwdResLackForLicenseMib 3 }
		
    --begin of define Groups 
    -- 1.3.6.1.4.1.2011.5.25.321.8.4	
	hwFwdResLackForLicenseGroup OBJECT-GROUP
		OBJECTS {hwFwdResLackForLicensehwItemName,hwFwdResLackForLicensehwSlotId,hwFwdResLackForLicensehwhwResDesc}
		STATUS current
		DESCRIPTION 
			"This object indicates the object group of the used resources on the board exceed."
		::= { hwFwdResLackForLicenseMib 4 }
		
    -- 1.3.6.1.4.1.2011.5.25.321.8.5	
   hwFwdResLackForLicenseTrapGroup NOTIFICATION-GROUP
		NOTIFICATIONS {hwFwdResLackForLicenseAlarmOccur, hwFwdResLackForLicenseAlarmResume}
		STATUS current
		DESCRIPTION 
			"This object indicates the notification group of the used resources on the board exceed."
		::= { hwFwdResLackForLicenseMib 5 }
    --end of define Groups  

    -- 1.3.6.1.4.1.2011.5.25.321.8.6	
    -- begin of compliance statements
	hwFwdResLackForLicenseCompliance MODULE-COMPLIANCE
		STATUS current
		DESCRIPTION 
			"This object indicates the compliance statement for the used resources on the board exceed."
		MODULE
			MANDATORY-GROUPS { hwFwdResLackForLicenseGroup, hwFwdResLackForLicenseTrapGroup}
		::= { hwFwdResLackForLicenseMib 6 } 
    --end of compliance statements
        
END
--
-- HUAWEI-BOARD-SERVICE-ABILITY-MIB.mib
--






