-- =================================================================
-- Copyright (C) 2023 by  HUAWEI TECHNOLOGIES. All rights reserved.
--
-- Description: Huawei Ethernet ND MIB
-- Reference: HUAWEI Enterprise MIB
-- Version: V1.22
-- History:
-- gaoning , 2014-06-27, add nodes for ND.
-- =================================================================

    HUAWEI-ND-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS        
            hwDatacomm
                FROM HUAWEI-MIB
            OBJECT-TYPE, MODULE-IDENTITY, OBJECT-TYPE, IpAddress, Counter32, Integer32, Unsigned32, NOTIFICATION-TYPE
                FROM SNMPv2-SMI
            PhysAddress, DisplayString, RowStatus            
                FROM SNMPv2-TC   
            NOTIFICATION-GROUP, OBJECT-GROUP, MODULE-COMPLIANCE
                FROM SNMPv2-CONF
            ifIndex, ifName, InterfaceIndex,InterfaceIndexOrZero,ifAdminStatus,ifOperStatus,ifDescr          
                FROM IF-MIB
            Ipv6Address                             
                FROM IPV6-TC
            PhysicalIndex, entPhysicalIndex, entPhysicalName
                FROM ENTITY-MIB;        
            
        hwNDMIB MODULE-IDENTITY 
            LAST-UPDATED "202304192103Z"         
            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 
                "V1.22, Modify the key field of hwNDSlotMultiGroup at 2023-04-19."

            REVISION    "202304192103Z"

            DESCRIPTION 
                "V1.21, Add hwSlotMultiNDThresholdExceedAlarm, hwSlotMultiNDThresholdResumeAlarm, hwMultiNDProxyDynThresholdExceedAlarm and hwMultiNDProxyDynThresholdResumeAlarm to hwNDIPv6ConflictEvent at 2023-04-19."

            REVISION    "202304191510Z"

            DESCRIPTION 
                "V1.20, Modify hwNDIPConflictEvent to hwNDIPv6ConflictEvent at 2023-02-27."

            REVISION    "202302271700Z"

            DESCRIPTION 
                "V1.19, Modify hwNDIPConflictIPAddress to hwNDIPConflictIPv6Address of hwNDIPConflictEvent at 2023-02-27."

            REVISION    "202302271254Z"

            DESCRIPTION 
                "V1.18, Add  hwNDIPConflictEvent at 2023-02-24."

            REVISION    "202302241454Z"

            DESCRIPTION 
                "V1.17, Add enum of  hwNDLimitSuppressType at 2023-02-17."

            REVISION    "202302171432Z"

            DESCRIPTION 
                "V1.16, Add enum of  hwNDLimitSuppressType at 2020-11-19."

            REVISION    "202011191449Z"
            DESCRIPTION 
                "V1.15, Modify description of hwNDProxyDynThresholdExceedAlarm and hwNDProxyDynThresholdResumeAlarm at 2020-10-15"

            REVISION    "202010151512Z"
            DESCRIPTION 
                "V1.14, Modify description of hwNDProxyThresholdExceedAlarm and hwNDProxyThresholdResumeAlarm at 2020-10-15"

            REVISION    "202010150936Z"
            DESCRIPTION 
                "V1.13, Modify description of hwSlotProxyNDThresholdExceedAlarm and hwSlotProxyNDThresholdResumeAlarm at 2020-09-29"

            REVISION    "202009291600Z"
            DESCRIPTION 
                "V1.12, modify English low-level mistakes."
            REVISION    "202008101643Z" 
            DESCRIPTION 
                "V1.11, modify the element description of HwNDRateEntryLimit."
            REVISION    "202005282000Z" 
            DESCRIPTION 
                "V1.10, modify the element type of HwNDRateEntryLimit."
            REVISION    "202004231000Z" 
            DESCRIPTION 
                "V1.09, add hwNDAntiAttackRateLimit."
            REVISION    "202003061000Z" 
			DESCRIPTION 
                "V1.08, add hwNDDADNotFinished."
            REVISION    "201907181600Z" 
            DESCRIPTION 
                "V1.07, MOD hwNDDulicateTgtIf, hwNDDulicateLocalIf  OBJECT-TYPE."
            REVISION    "201906051426Z" 
            DESCRIPTION 
                "V1.06, add hwNDDuplicateIPv6, hwNDDuplicateIPv6Resume."
            REVISION    "201905271426Z"   
            DESCRIPTION 
                "V1.06, add hwNDDuplicateIPv6, hwNDDuplicateIPv6Resume."
            REVISION    "201905251426Z"   
            DESCRIPTION "V1.05, add hwNDSlotRemoteNumber and hwNDIntfRemoteNumber."
            REVISION    "201802081600Z"   
            DESCRIPTION "V1.04, add hwNDHostConflict and hwNDHostConflictResolved."
			REVISION    "201708171600Z"   
            DESCRIPTION "V1.02, Modify description of hwNDSlotThresholdExceedValue and hwNDIntfThresholdExceedValue at 2017-07-04"

			REVISION    "201707041600Z"   
            DESCRIPTION "V1.02, Modify description of hwSlotNDThresholdExceedAlarm at 2017-07-04."

			
			REVISION    "201407011600Z"   
            DESCRIPTION "V1.01, initial version."
			
            REVISION    "201008111600Z"   
            DESCRIPTION "V1.00, initial version."
    
            ::= { hwDatacomm 332 }
            
	hwNDObjects OBJECT IDENTIFIER ::= { hwNDMIB 1 } 
 
-- =================================================================
-- 1th slot nd entries alarm
-- =================================================================           
hwNDStatisticsPerSlotTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDStatisticsPerSlotEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in slot."
	::= { hwNDObjects 1 }  
	
	hwNDStatisticsPerSlotEntry  OBJECT-TYPE
	   SYNTAX HwNDStatisticsPerSlotEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in slot."
	INDEX {hwNDSlotPhysicalIndex}
	::= { hwNDStatisticsPerSlotTable 1 }                                                
									
	HwNDStatisticsPerSlotEntry ::=
	SEQUENCE {
		hwNDSlotPhysicalIndex  Unsigned32 ,		
		hwNDSlotThresholdExceedValue   Unsigned32 ,
		hwNDSlotThresholdResumeValue   Unsigned32  ,
		hwNDSlotDynamicNumber   Unsigned32  ,
		hwNDSlotStaticNumber   Unsigned32 ,
		hwNDSlotTotalNumber    Unsigned32 ,
		hwNDSlotRemoteNumber   Unsigned32                    
	 }      

	hwNDSlotPhysicalIndex  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The slot of alarm generated."
	::= { hwNDStatisticsPerSlotEntry 1 } 
   
	hwNDSlotThresholdExceedValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry alarm threshold on a board. An ND entry threshold-exceeding alarm is generated when the ratio of the number of ND entries on a board to the maximum number allowed is greater than or equal to the alarm threshold."
	::= { hwNDStatisticsPerSlotEntry 2 }  
	
	hwNDSlotThresholdResumeValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry clear alarm threshold on a board. An ND entry clear alarm is generated when the ratio of the number of ND entries on a board to the maximum number allowed is less than or equal to the clear alarm threshold."
	::= { hwNDStatisticsPerSlotEntry 3 }  
				
	hwNDSlotDynamicNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current dynamic ND entries in slot."
	::= { hwNDStatisticsPerSlotEntry 4 }  
				
	hwNDSlotStaticNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current static ND entries in slot."
	::= { hwNDStatisticsPerSlotEntry 5 }  									
				
	hwNDSlotTotalNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Maximum ND entries number for slot."
	::= { hwNDStatisticsPerSlotEntry 6 }  

	hwNDSlotRemoteNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current remote ND entries in slot."
	::= { hwNDStatisticsPerSlotEntry 7 }  
										
-- =================================================================
-- 2th interface nd entries alarm
-- =================================================================           
hwNDStatisticsPerIfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDStatisticsPerIfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in interface."
	::= { hwNDObjects 2 }  
	
	hwNDStatisticsPerIfEntry  OBJECT-TYPE
	   SYNTAX HwNDStatisticsPerIfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in interface."
	INDEX {hwNDIntfIndex}
	::= { hwNDStatisticsPerIfTable 1 }                                                
									
	HwNDStatisticsPerIfEntry ::=
	SEQUENCE {
		hwNDIntfIndex  Unsigned32 ,		
		hwNDIntfThresholdExceedValue   Unsigned32 ,
		hwNDIntfThresholdResumeValue   Unsigned32  ,
		hwNDIntfDynamicNumber   Unsigned32  ,
		hwNDIntfStaticNumber   Unsigned32 ,
		hwNDIntfTotalNumber    Unsigned32 ,	
		hwNDIntfRemoteNumber   Unsigned32			
	 }      

	hwNDIntfIndex  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The interface of alarm generated."
	::= { hwNDStatisticsPerIfEntry 1 } 
   
	hwNDIntfThresholdExceedValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry alarm threshold on an interface. An ND entry threshold-exceeding alarm is generated when the ratio of the number of ND entries on an interface to the maximum number allowed is greater than or equal to the alarm threshold."
	::= { hwNDStatisticsPerIfEntry 2 }  
	
	hwNDIntfThresholdResumeValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry clear alarm threshold on an interface. An ND entry clear alarm is generated when the ratio of the number of ND entries on an interface to the maximum number allowed is less than or equal to the clear alarm threshold."
	::= { hwNDStatisticsPerIfEntry 3 }  
				
	hwNDIntfDynamicNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current dynamic ND entries in interface."
	::= { hwNDStatisticsPerIfEntry 4 }  
				
	hwNDIntfStaticNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current static ND entries in interface."
	::= { hwNDStatisticsPerIfEntry 5 }  									
				
	hwNDIntfTotalNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Maximum ND entries number for interface."
	::= { hwNDStatisticsPerIfEntry 6 }  

	hwNDIntfRemoteNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current remote ND entries in interface."
	::= { hwNDStatisticsPerIfEntry 7 }  		

-- =================================================================
-- 3th ND host  IP address conflicted
-- =================================================================           
hwNDHostInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDHostInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains the information of local host and remote host. 
		The information includes host IP, host MAC, gateway VtepIP, gateway MAC."
	::= { hwNDObjects 3 }  
	
	hwNDHostInfoEntry  OBJECT-TYPE
	   SYNTAX HwNDHostInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Entries of the host information table."
	INDEX {hwNDHostBdId, hwNDHostIpv6Addr}
	::= { hwNDHostInfoTable 1 }                                                
									
	HwNDHostInfoEntry ::=
	SEQUENCE {
		hwNDHostBdId  Unsigned32 ,		
		hwNDHostIpv6Addr   Ipv6Address ,
		hwNDHostLocalMAC   PhysAddress  ,
		hwNDHostLocalIf   OCTET STRING ,
		hwNDHostLocalPevid   Unsigned32 ,
		hwNDHostLocalCevid    Unsigned32 ,		
		hwNDHostRemoteMAC   PhysAddress  ,
		hwNDHostRemoteIf   OCTET STRING ,
		hwNDHostRemotePevid   Unsigned32 ,
		hwNDHostRemoteCevid    Unsigned32				
	 }      

	hwNDHostBdId  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS accessible-for-notify
		STATUS current
		DESCRIPTION
		"The bridge domain ID of alarm generated."
	::= { hwNDHostInfoEntry 1 } 
   
	hwNDHostIpv6Addr  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The IPv6 address of alarm generated in BD."
	::= { hwNDHostInfoEntry 2 }  
	
	hwNDHostLocalMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The MAC address of hwNDHostIpv6Addr."
	::= { hwNDHostInfoEntry 3 }  
				
	hwNDHostLocalIf  OBJECT-TYPE
	   SYNTAX OCTET STRING
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The interface of BD that generate alarm."
	::= { hwNDHostInfoEntry 4 }  
				
	hwNDHostLocalPevid  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The pevid of hwNDHostWorkIfIndex."
	::= { hwNDHostInfoEntry 5 }  									
				
	hwNDHostLocalCevid  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The cevid of hwNDHostWorkIfIndex."
	::= { hwNDHostInfoEntry 6 }  		

	hwNDHostRemoteMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The MAC address of hwNDHostIpv6Addr."
	::= { hwNDHostInfoEntry 7 }  
				
	hwNDHostRemoteIf  OBJECT-TYPE
	   SYNTAX OCTET STRING
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The interface of BD that generate alarm."
	::= { hwNDHostInfoEntry 8 }  
				
	hwNDHostRemotePevid  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The pevid of hwNDHostWorkIfIndex."
	::= { hwNDHostInfoEntry 9 }  									
				
	hwNDHostRemoteCevid  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The cevid of hwNDHostWorkIfIndex."
	::= { hwNDHostInfoEntry 10 }  
								
 
-- =================================================================
-- ND Dupicate IPv6 address 
-- =================================================================           
hwNDDuplicateIPv6InfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDDuplicateIPv6InfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains the information of duplicate ipv6 address and interface. 
		The information includes PktType,TgtIpv6Address,TgtInterfaceName,LocInterfaceName,SrcMacAddress,DstMacAddress,SrcIpv6Address,DstIpv6Address,PeVLAN,CeVLAN,SelfLoop and DadAttempts."
	::= { hwNDObjects 4 }  
	
	hwNDDuplicateIPv6InfoEntry  OBJECT-TYPE
	   SYNTAX HwNDDuplicateIPv6InfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Entries of the Dupicate IPv6 table."  
	INDEX {hwNDDulicatePktType, hwNDDulicateTgtIPv6Addr, hwNDDulicateTgtIf}
	::= { hwNDDuplicateIPv6InfoTable 1 }   
									
	HwNDDuplicateIPv6InfoEntry ::=
	SEQUENCE {
		hwNDDulicatePktType  OCTET STRING ,
		hwNDDulicateTgtIPv6Addr  Ipv6Address ,
		hwNDDulicateTgtIf   DisplayString,
		hwNDDulicateLocalIf   DisplayString,
		hwNDDulicateSrcMAC   PhysAddress  ,
		hwNDDulicateDstMAC   PhysAddress  ,
		hwNDDulicateSrcIPv6Addr  Ipv6Address ,
		hwNDDulicateDstIPv6Addr  Ipv6Address ,
		hwNDDulicatePeVLAN  Unsigned32 ,
		hwNDDulicateCeVLAN  Unsigned32 ,
		hwNDDulicateSelfLoop  OCTET STRING ,
		hwNDDulicateDadAttempts Unsigned32
	 }      

	hwNDDulicatePktType  OBJECT-TYPE
	   SYNTAX OCTET STRING (SIZE (0..255))
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The packet type in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 1 } 
	
	hwNDDulicateTgtIPv6Addr  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The IPv6 address of alarm generated."
	::= { hwNDDuplicateIPv6InfoEntry 2 }  
	
	hwNDDulicateTgtIf  OBJECT-TYPE
	   SYNTAX DisplayString (SIZE (0..255))
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The interface name receiving the alarm."
	::= { hwNDDuplicateIPv6InfoEntry 3 }  
	
	hwNDDulicateLocalIf  OBJECT-TYPE
	   SYNTAX DisplayString (SIZE (0..255))
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The local interface name receiving the alarm."
	::= { hwNDDuplicateIPv6InfoEntry 4 } 
	
	hwNDDulicateSrcMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The source MAC address in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 5 }  
				
	hwNDDulicateDstMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The destination MAC address in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 6 } 

	hwNDDulicateSrcIPv6Addr  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The source IPv6 address in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 7 } 
	
	hwNDDulicateDstIPv6Addr  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The destination IPv6 address in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 8 } 
	
	hwNDDulicatePeVLAN  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The outer VLAN ID carried in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 9 }  									
				
	hwNDDulicateCeVLAN  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The inner VLAN ID carried in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 10 }  		

	hwNDDulicateSelfLoop  OBJECT-TYPE
	   SYNTAX OCTET STRING (SIZE (0..255))
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The self-loop flag in the received ND message."
	::= { hwNDDuplicateIPv6InfoEntry 11 }  
	
	hwNDDulicateDadAttempts  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS accessible-for-notify
		STATUS current
		DESCRIPTION
		"The attempted times in the received message."
	::= { hwNDDuplicateIPv6InfoEntry 12 } 

-- =================================================================
-- 5th ND DAD Not Finished
-- =================================================================           
hwNDDADInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDDADInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains the information of DAD."
	::= { hwNDObjects 5 }  
	
	hwNDDADInfoEntry  OBJECT-TYPE
	   SYNTAX HwNDDADInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Entries of the host information table."
	INDEX {hwNDDADIf, hwNDDADAddr}
	::= { hwNDDADInfoTable 1 }                                                
									
	HwNDDADInfoEntry ::=
	SEQUENCE {
		hwNDDADIf  OCTET STRING ,		
		hwNDDADAddr   Ipv6Address ,
		hwNDDADTimeout   Unsigned32				
	 }
	
    hwNDDADIf  OBJECT-TYPE
	   SYNTAX OCTET STRING
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The interface of DAD."
	::= { hwNDDADInfoEntry 1 }  
	
	hwNDDADAddr  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The IPv6 address of DAD."
	::= { hwNDDADInfoEntry 2 }  
	
	hwNDDADTimeout OBJECT-TYPE
	   SYNTAX Unsigned32(1..60)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"The timeout of DAD."
	::= { hwNDDADInfoEntry 3 } 

-- =================================================================
-- 6th ND Anti-attack Rate Limit 
-- =================================================================           
hwNDRateLimitTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDRateLimitEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains the information of rate limit."
	::= { hwNDObjects 6 }  
	
	hwNDRateLimitEntry  OBJECT-TYPE
	   SYNTAX HwNDRateLimitEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Entries of the rate limit table."
	INDEX {hwNDLimitPacketType}
	::= { hwNDRateLimitTable 1 }                                                
									
	HwNDRateLimitEntry ::=
	SEQUENCE {
		hwNDLimitPacketType    INTEGER ,
		hwNDLimitSuppressVal   Unsigned32 ,
		hwNDLimitCurrentVal    Unsigned32 ,
		hwNDLimitSuppressType  INTEGER ,
		hwNDLimitIf            OCTET STRING ,
		hwNDLimitWorkIf        OCTET STRING ,
		hwNDLimitSrcMAC        PhysAddress ,
		hwNDLimitDstMAC        PhysAddress ,
		hwNDLimitSrcIP         Ipv6Address ,
		hwNDLimitDstIP         Ipv6Address ,
		hwNDLimitTargetIP      Ipv6Address ,
		hwNDLimitPeVLAN        Unsigned32 ,
		hwNDLimitCeVLAN        Unsigned32
	 }
     
	hwNDLimitPacketType  OBJECT-TYPE
	   SYNTAX  INTEGER {
           rs(1),       -- router solicitation packet
           ra(2),       -- router advertisement packet
           ns(3),       -- neighbor solicitation packet
           na(4),       -- neighbor advertisement packet 
           ndmiss(5)    -- neighbor discovery miss
       }
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Type of packets that are suppressed."
	::= { hwNDRateLimitEntry 1 }
     
	hwNDLimitSuppressVal  OBJECT-TYPE
	   SYNTAX Unsigned32(0..5000)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Rate limit of ND packets or ND Miss messages."
	::= { hwNDRateLimitEntry 2 }  
    
	hwNDLimitCurrentVal OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Current rate of ND packets or ND Miss messages."
	::= { hwNDRateLimitEntry 3 }
    
	hwNDLimitSuppressType  OBJECT-TYPE
	   SYNTAX  INTEGER {
           srcip(1),            -- source ip
           srcmac(2),           -- source mac
           interface(3),        -- interface
           interfacesrcip(4),   -- interface source ip
           vsglobal(5),         -- virtual system
           lsglobal(6),         -- logic system
           dstip(7),            -- destination ip
           tgtip(8)             -- target ip
       }
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Suppress type."
	::= { hwNDRateLimitEntry 4 }
    
	hwNDLimitIf  OBJECT-TYPE
	   SYNTAX OCTET STRING
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Interface name."
	::= { hwNDRateLimitEntry 5 }
    
	hwNDLimitWorkIf  OBJECT-TYPE
	   SYNTAX OCTET STRING
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Work interface name."
	::= { hwNDRateLimitEntry 6 }
    
	hwNDLimitSrcMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Source MAC address, if the address is an all-zero address, it is invalid."
	::= { hwNDRateLimitEntry 7 }
    
	hwNDLimitDstMAC  OBJECT-TYPE
	   SYNTAX PhysAddress
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Destination MAC address, if the address is an all-zero address, it is invalid."
	::= { hwNDRateLimitEntry 8 }
    
	hwNDLimitSrcIP  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Source IPv6 address, when the packet type is not NS or RS, the source address is invalid if it is an unspecified address."
	::= { hwNDRateLimitEntry 9 }

	hwNDLimitDstIP  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Destination IPv6 address, if the address is an unspecified address, it is invalid."
	::= { hwNDRateLimitEntry 10 }
    
	hwNDLimitTargetIP  OBJECT-TYPE
	   SYNTAX Ipv6Address
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Target IPv6 address, if the address is an unspecified address, it is invalid."
	::= { hwNDRateLimitEntry 11 }
	
	hwNDLimitPeVLAN  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Outer VLAN ID."
	::= { hwNDRateLimitEntry 12 }  									
				
	hwNDLimitCeVLAN  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4094)
	   MAX-ACCESS accessible-for-notify
	   STATUS current
	   DESCRIPTION
		"Inner VLAN ID."
	::= { hwNDRateLimitEntry 13 }  	
	
-- =================================================================
-- 7th slot nd proxy entries alarm
-- =================================================================           
    hwNDProxyObject OBJECT IDENTIFIER ::= { hwNDObjects 7 }
	                                             
   
	hwNDProxyThresholdExceedValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry alarm threshold on a board. An ND entry threshold-exceeding alarm is generated when the ratio of the number of ND proxy entries on a board to the maximum number allowed is greater than or equal to the alarm threshold."
	::= { hwNDProxyObject 1 }  
	
	hwNDProxyThresholdResumeValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry clear alarm threshold on a board. An ND entry clear alarm is generated when the ratio of the number of ND proxy entries on a board to the maximum number allowed is less than or equal to the clear alarm threshold."
	::= { hwNDProxyObject 2 }  
    
	hwNDProxyDynamicNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current dynamic ND entries in slot."
	::= { hwNDProxyObject 3 }
	
-- =================================================================
-- 8th The Node of IPv6 Conflict
-- =================================================================
        -- 1.3.6.1.4.1.2011.5.25.332.1.8
        hwNDIPv6ConflictTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNDIPv6ConflictEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The table contains ND IPv6 address conflict information."
            ::= { hwNDObjects 8 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1
        hwNDIPv6ConflictEntry OBJECT-TYPE
            SYNTAX HwNDIPv6ConflictEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of ND IPv6 conflict table."
            INDEX {hwNDIPv6ConflictIPv6Address}
            ::= { hwNDIPv6ConflictTable 1 }

        HwNDIPv6ConflictEntry ::=
            SEQUENCE { 
                hwNDIPv6ConflictIPv6Address
                    Ipv6Address,
                hwNDIPv6ConflictLocalMAC
                    PhysAddress,                    
                hwNDIPv6ConflictLocalInterfaceName
                    OCTET STRING,
                hwNDIPv6ConflictLocalWorkInterfaceName
                    OCTET STRING,                    
                hwNDIPv6ConflictLocalPEVLAN
                    Unsigned32,
                hwNDIPv6ConflictLocalCEVLAN
                    Unsigned32,
                hwNDIPv6ConflictReceiveMAC
                    PhysAddress,                    
                hwNDIPv6ConflictReceiveInterfaceName
                    OCTET STRING,
                hwNDIPv6ConflictReceiveWorkInterfaceName
                    OCTET STRING,                    
                hwNDIPv6ConflictReceivePEVLAN
                    Unsigned32,
                hwNDIPv6ConflictReceiveCEVLAN
                    Unsigned32
             }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.1
        hwNDIPv6ConflictIPv6Address OBJECT-TYPE
            SYNTAX Ipv6Address
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the conflict IPv6 address."
            ::= { hwNDIPv6ConflictEntry 1 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.2
        hwNDIPv6ConflictLocalMAC OBJECT-TYPE
            SYNTAX PhysAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the MAC before conflict."
            ::= { hwNDIPv6ConflictEntry 2 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.3
        hwNDIPv6ConflictLocalInterfaceName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the interface before conflict."
            ::= { hwNDIPv6ConflictEntry 3 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.4
        hwNDIPv6ConflictLocalWorkInterfaceName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the work interface before conflict."
            ::= { hwNDIPv6ConflictEntry 4 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.5
        hwNDIPv6ConflictLocalPEVLAN OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the outer VLAN before conflict."
            ::= { hwNDIPv6ConflictEntry 5 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.6
        hwNDIPv6ConflictLocalCEVLAN OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the inner VLAN before conflict."
            ::= { hwNDIPv6ConflictEntry 6 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.7
        hwNDIPv6ConflictReceiveMAC OBJECT-TYPE
            SYNTAX PhysAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the conflict MAC of the received packet."
            ::= { hwNDIPv6ConflictEntry 7 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.8
        hwNDIPv6ConflictReceiveInterfaceName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the conflict interface."
            ::= { hwNDIPv6ConflictEntry 8 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.9
        hwNDIPv6ConflictReceiveWorkInterfaceName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the conflict work interface."
            ::= { hwNDIPv6ConflictEntry 9 }
            
        
        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.10
        hwNDIPv6ConflictReceivePEVLAN OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the outer VLAN of the received packet."
            ::= { hwNDIPv6ConflictEntry 10 }

        -- 1.3.6.1.4.1.2011.5.25.332.1.8.1.11
        hwNDIPv6ConflictReceiveCEVLAN OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the inner VLAN of the received packet."
            ::= { hwNDIPv6ConflictEntry 11 }

-- =================================================================
-- 9th slot multi nd entries alarm
-- =================================================================           
hwNDStatisticsPerComponentTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDStatisticsPerComponentEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in each ND component."
	::= { hwNDObjects 9 }  
	
	hwNDStatisticsPerComponentEntry  OBJECT-TYPE
	   SYNTAX HwNDStatisticsPerComponentEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the threshold of the alarm generated in each ND component."
	INDEX {hwNDCompPhysicalIndex, hwNDComponentPid}
	::= { hwNDStatisticsPerComponentTable 1 }                                                
									
	HwNDStatisticsPerComponentEntry ::=
	SEQUENCE {
		hwNDCompPhysicalIndex  Unsigned32 ,
        hwNDComponentPid  Unsigned32 ,
		hwNDCompThresholdExceedValue   Unsigned32 ,
		hwNDCompThresholdResumeValue   Unsigned32  ,
		hwNDCompDynamicNumber   Unsigned32  ,
		hwNDCompStaticNumber   Unsigned32 ,
		hwNDCompTotalNumber    Unsigned32 ,
		hwNDCompRemoteNumber   Unsigned32                    
	}

	hwNDCompPhysicalIndex  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The slot of alarm generated."
	::= { hwNDStatisticsPerComponentEntry 1 } 

    hwNDComponentPid  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The ND component identifier of alarm generated."
	::= { hwNDStatisticsPerComponentEntry 2 } 
   
	hwNDCompThresholdExceedValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry alarm threshold in each ND component. An ND entry threshold-exceeding alarm is generated when the ratio of the number of ND entries in each ND component to the maximum number allowed is greater than or equal to the alarm threshold."
	::= { hwNDStatisticsPerComponentEntry 3 }  
	
	hwNDCompThresholdResumeValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry clear alarm threshold in each ND component. An ND entry clear alarm is generated when the ratio of the number of ND entries in each ND component to the maximum number allowed is less than or equal to the clear alarm threshold."
	::= { hwNDStatisticsPerComponentEntry 4 }  
				
	hwNDCompDynamicNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current dynamic ND entries in each ND component."
	::= { hwNDStatisticsPerComponentEntry 5 }  
				
	hwNDCompStaticNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current static ND entries in each ND component."
	::= { hwNDStatisticsPerComponentEntry 6 }  									
				
	hwNDCompTotalNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Maximum ND entries number for each ND component."
	::= { hwNDStatisticsPerComponentEntry 7 }  

	hwNDCompRemoteNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current remote ND entries in each ND component."
	::= { hwNDStatisticsPerComponentEntry 8 }  

-- =================================================================
-- 10th multi nd proxy entries alarm
-- =================================================================           
hwNDProxyStatisticsPerComponentTable OBJECT-TYPE
	SYNTAX SEQUENCE OF HwNDProxyStatisticsPerComponentEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the ND proxy threshold of the alarm generated in each ND component."
	::= { hwNDObjects 10 }  
	
	hwNDProxyStatisticsPerComponentEntry  OBJECT-TYPE
	   SYNTAX HwNDProxyStatisticsPerComponentEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This object indicates the ND proxy threshold of the alarm generated in each ND component."
	INDEX {hwNDProxyComponentPid}
	::= { hwNDProxyStatisticsPerComponentTable 1 }                                                
									
	HwNDProxyStatisticsPerComponentEntry ::=
	SEQUENCE {
		hwNDProxyComponentPid  Unsigned32 ,
        hwNDProxyCompThresholdExceedValue  Unsigned32 ,
		hwNDProxyCompThresholdResumeValue   Unsigned32 ,
		hwNDProxyCompDynamicNumber   Unsigned32             
	}

    hwNDProxyComponentPid  OBJECT-TYPE
		SYNTAX Unsigned32(0..4294967294)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"The ND component identifier of alarm generated."
	::= { hwNDProxyStatisticsPerComponentEntry 1 }
   
	hwNDProxyCompThresholdExceedValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry alarm threshold in each ND component. An ND entry threshold-exceeding alarm is generated when the ratio of the number of ND proxy entries in each ND component to the maximum number allowed is greater than or equal to the alarm threshold."
	::= { hwNDProxyStatisticsPerComponentEntry 2 }  
	
	hwNDProxyCompThresholdResumeValue  OBJECT-TYPE
	   SYNTAX Unsigned32(1..100)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"This object indicates an ND entry clear alarm threshold in each ND component. An ND entry clear alarm is generated when the ratio of the number of ND proxy entries in each ND component to the maximum number allowed is less than or equal to the clear alarm threshold."
	::= { hwNDProxyStatisticsPerComponentEntry 3 }  
    
	hwNDProxyCompDynamicNumber  OBJECT-TYPE
	   SYNTAX Unsigned32(0..4294967294)
	   MAX-ACCESS read-only
	   STATUS current
	   DESCRIPTION
		"Current dynamic ND entries in each ND component."
	::= { hwNDProxyStatisticsPerComponentEntry 4 }										
    
--  Notifications(trap) Definitions

    hwNDNotifications OBJECT IDENTIFIER ::= { hwNDMIB 2 } 	
            
    hwSlotNDThresholdExceedAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName, hwNDSlotThresholdExceedValue,hwNDSlotDynamicNumber,hwNDSlotStaticNumber,hwNDSlotRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when the ratio of the number of ND entries on a board to the maximum number of ND entries supported on the board is greater than or equal to the 80% threshold."
            ::= { hwNDNotifications 1 }    
			
    hwSlotNDThresholdResumeAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName,hwNDSlotThresholdResumeValue,hwNDSlotDynamicNumber,hwNDSlotStaticNumber,hwNDSlotRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that a clear alarm is generated when the ratio of the number of ND entries on a board to the maximum number of ND entries supported on the board is less than or equal to the 70% threshold."
            ::= { hwNDNotifications 2 }    
			
    hwInterfaceNDThresholdExceedAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName,ifDescr,hwNDIntfThresholdExceedValue,hwNDIntfDynamicNumber,hwNDIntfStaticNumber,hwNDIntfRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when the ratio of the number of ND entries on an interface to the maximum number of ND entries supported on the interface is greater than or equal to the 80% threshold."
            ::= { hwNDNotifications 3 }    
            
    hwInterfaceNDThresholdResumeAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName,ifDescr,hwNDIntfThresholdResumeValue,hwNDIntfDynamicNumber,hwNDIntfStaticNumber,hwNDIntfRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that a clear alarm is generated when the ratio of the number of ND entries on an interface to the maximum number of ND entries supported on the interface is less than or equal to the 70% threshold."
            ::= { hwNDNotifications 4 } 

   hwNDHostIPConflict NOTIFICATION-TYPE
            OBJECTS { hwNDHostBdId, hwNDHostIpv6Addr, hwNDHostLocalMAC,hwNDHostLocalIf,hwNDHostLocalPevid,hwNDHostLocalCevid,hwNDHostRemoteMAC,hwNDHostRemoteIf,hwNDHostRemotePevid,hwNDHostRemoteCevid } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when there may be two host have the same IPv6 address."
            ::= { hwNDNotifications 5 }    
            
    hwNDHostIPConflictResume NOTIFICATION-TYPE
            OBJECTS { hwNDHostBdId, hwNDHostIpv6Addr, hwNDHostLocalMAC,hwNDHostLocalIf,hwNDHostLocalPevid,hwNDHostLocalCevid,hwNDHostRemoteMAC,hwNDHostRemoteIf,hwNDHostRemotePevid,hwNDHostRemoteCevid } 
            STATUS current     
            DESCRIPTION 
                "This object indicates the clear alarm of the alarm generated when there may be two host have the same IPv6 address."
            ::= { hwNDNotifications 6 } 

   hwNDDuplicateIPv6 NOTIFICATION-TYPE
            OBJECTS { hwNDDulicatePktType,hwNDDulicateTgtIPv6Addr,hwNDDulicateTgtIf,hwNDDulicateLocalIf,hwNDDulicateSrcMAC,hwNDDulicateDstMAC,hwNDDulicateSrcIPv6Addr,hwNDDulicateDstIPv6Addr,hwNDDulicatePeVLAN,hwNDDulicateCeVLAN,hwNDDulicateSelfLoop,hwNDDulicateDadAttempts } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when customer config interface IPv6 address with the same as the current IPv6 address on the network."
            ::= { hwNDNotifications 7 }    
            
   hwNDDuplicateIPv6Resume NOTIFICATION-TYPE
            OBJECTS { hwNDDulicatePktType,hwNDDulicateTgtIPv6Addr,hwNDDulicateTgtIf,hwNDDulicateLocalIf,hwNDDulicateSrcMAC,hwNDDulicateDstMAC,hwNDDulicateSrcIPv6Addr,hwNDDulicateDstIPv6Addr,hwNDDulicatePeVLAN,hwNDDulicateCeVLAN,hwNDDulicateSelfLoop,hwNDDulicateDadAttempts } 
            STATUS current     
            DESCRIPTION 
                "This object indicates the clear alarm of the alarm generated when there may not be an IPv6 address that has been used by any node to the interface"
            ::= { hwNDNotifications 8 } 

	hwNDDADNotFinished NOTIFICATION-TYPE
            OBJECTS { hwNDDADIf, hwNDDADAddr, hwNDDADTimeout } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when DAD is not finished."
            ::= { hwNDNotifications 9 }

    hwNDAntiAttackRateLimit NOTIFICATION-TYPE
            OBJECTS { hwNDLimitPacketType, hwNDLimitSuppressVal, hwNDLimitCurrentVal, hwNDLimitSuppressType, hwNDLimitIf, hwNDLimitWorkIf, hwNDLimitSrcMAC, hwNDLimitDstMAC, hwNDLimitSrcIP, hwNDLimitDstIP, hwNDLimitTargetIP, hwNDLimitPeVLAN, hwNDLimitCeVLAN } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when ND packet or ND Miss message speed exceeds the rate limit."
            ::= { hwNDNotifications 10 } 

    hwNDProxyDynThresholdExceedAlarm NOTIFICATION-TYPE
            OBJECTS { hwNDProxyThresholdExceedValue, hwNDProxyDynamicNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when the ratio of the number of proxy ND dynamic entries on a board to the maximum number of proxy ND entries supported on the board is greater than or equal to the 80% threshold."
            ::= { hwNDNotifications 11 }    

    hwNDProxyDynThresholdResumeAlarm NOTIFICATION-TYPE
            OBJECTS { hwNDProxyThresholdResumeValue, hwNDProxyDynamicNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that a clear alarm is generated when the ratio of the number of proxy ND dynmic entries on a board to the maximum number of proxy ND entries supported on the board is less than or equal to the 70% threshold."
            ::= { hwNDNotifications 12 } 

   hwNDIPv6ConflictEvent NOTIFICATION-TYPE
            OBJECTS { hwNDIPv6ConflictIPv6Address, hwNDIPv6ConflictLocalMAC, hwNDIPv6ConflictLocalInterfaceName, hwNDIPv6ConflictLocalWorkInterfaceName, hwNDIPv6ConflictLocalPEVLAN, hwNDIPv6ConflictLocalCEVLAN, hwNDIPv6ConflictReceiveMAC, hwNDIPv6ConflictReceiveInterfaceName, hwNDIPv6ConflictReceiveWorkInterfaceName, hwNDIPv6ConflictReceivePEVLAN, hwNDIPv6ConflictReceiveCEVLAN } 
            STATUS current
            DESCRIPTION
                "Trap about ND IPv6 address conflict information."
            ::= { hwNDNotifications 13 }

    hwSlotMultiNDThresholdExceedAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName, hwNDComponentPid, hwNDCompThresholdExceedValue, hwNDCompDynamicNumber,hwNDCompStaticNumber, hwNDCompRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when the ratio of the number of ND entries in a ND component to the maximum number of ND entries supported in the ND component is greater than or equal to the 80% threshold."
            ::= { hwNDNotifications 14 }    
			
    hwSlotMultiNDThresholdResumeAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalName, hwNDComponentPid, hwNDCompThresholdResumeValue, hwNDCompDynamicNumber, hwNDCompStaticNumber, hwNDCompRemoteNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that a clear alarm is generated when the ratio of the number of ND entries in a ND component to the maximum number of ND entries supported in the ND component is less than or equal to the 70% threshold."
            ::= { hwNDNotifications 15 }

    hwMultiNDProxyDynThresholdExceedAlarm NOTIFICATION-TYPE
            OBJECTS { hwNDProxyComponentPid, hwNDProxyCompThresholdExceedValue, hwNDProxyCompDynamicNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that an alarm is generated when the ratio of the number of proxy ND dynamic entries in a ND component to the maximum number of proxy ND entries supported in the ND component is greater than or equal to the 80% threshold."
            ::= { hwNDNotifications 16 }    

    hwMultiNDProxyDynThresholdResumeAlarm NOTIFICATION-TYPE
            OBJECTS { hwNDProxyComponentPid, hwNDProxyCompThresholdResumeValue, hwNDProxyCompDynamicNumber } 
            STATUS current     
            DESCRIPTION 
                "This object indicates that a clear alarm is generated when the ratio of the number of proxy ND dynmic entries in a ND component to the maximum number of proxy ND entries supported in the ND component is less than or equal to the 70% threshold."
            ::= { hwNDNotifications 17 }   

-- Conformance information

  hwNDConformance OBJECT IDENTIFIER ::= { hwNDMIB 3 }
  
  hwNDGroups OBJECT IDENTIFIER ::= { hwNDConformance 1 }
  
  hwNDCompliances OBJECT IDENTIFIER ::= { hwNDConformance 2 }

  hwNDSlotGroup OBJECT-GROUP
    OBJECTS {
		hwNDSlotPhysicalIndex,		
		hwNDSlotThresholdExceedValue,
		hwNDSlotThresholdResumeValue,
		hwNDSlotDynamicNumber,
		hwNDSlotStaticNumber,
		hwNDSlotTotalNumber,
		hwNDSlotRemoteNumber
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for ND threshold alarm in slot."
    ::= { hwNDGroups 1 }		    	

    hwNDIntfGroup OBJECT-GROUP
    OBJECTS {
		hwNDIntfIndex,		
		hwNDIntfThresholdExceedValue,
		hwNDIntfThresholdResumeValue,
		hwNDIntfDynamicNumber,
		hwNDIntfStaticNumber,
		hwNDIntfTotalNumber,
		hwNDIntfRemoteNumber	
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for ND threshold alarm in interface."
    ::= { hwNDGroups  2 }	
    
     hwNDNotificationsGroup NOTIFICATION-GROUP   
        NOTIFICATIONS{ hwSlotNDThresholdExceedAlarm, hwSlotNDThresholdResumeAlarm, hwInterfaceNDThresholdExceedAlarm, hwInterfaceNDThresholdResumeAlarm, hwNDHostIPConflict, hwNDHostIPConflictResume, hwNDDuplicateIPv6, hwNDDuplicateIPv6Resume, hwNDDADNotFinished, hwNDAntiAttackRateLimit, hwNDProxyDynThresholdExceedAlarm , hwNDProxyDynThresholdResumeAlarm, hwNDIPv6ConflictEvent, hwSlotMultiNDThresholdExceedAlarm, hwSlotMultiNDThresholdResumeAlarm, hwMultiNDProxyDynThresholdExceedAlarm, hwMultiNDProxyDynThresholdResumeAlarm}
        STATUS current
        DESCRIPTION
                 "notification Group."   
     ::= { hwNDGroups 3 }	

    hwNDHostInfoGroup OBJECT-GROUP
    OBJECTS {
		hwNDHostBdId,		
		hwNDHostIpv6Addr,
		hwNDHostLocalMAC,
		hwNDHostLocalIf,
		hwNDHostLocalPevid,
		hwNDHostLocalCevid,	
		hwNDHostRemoteMAC,
		hwNDHostRemoteIf,
		hwNDHostRemotePevid,
		hwNDHostRemoteCevid
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for host IPv6 address conflict."
    ::= { hwNDGroups  4 }
	
    hwNDDuplicateIPv6InfoGroup OBJECT-GROUP
    OBJECTS {
		hwNDDulicatePktType,
		hwNDDulicateTgtIPv6Addr,
		hwNDDulicateTgtIf,
		hwNDDulicateLocalIf,
		hwNDDulicateSrcMAC,
		hwNDDulicateDstMAC,
		hwNDDulicateSrcIPv6Addr,
		hwNDDulicateDstIPv6Addr,
		hwNDDulicatePeVLAN,
		hwNDDulicateCeVLAN,
		hwNDDulicateSelfLoop,
		hwNDDulicateDadAttempts
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for duplicate IPv6 address."
    ::= { hwNDGroups  5 }
	
	hwNDDADInfoGroup OBJECT-GROUP
    OBJECTS {
		hwNDDADIf,		
		hwNDDADAddr,
		hwNDDADTimeout
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for DAD not finished."
    ::= { hwNDGroups  6 }
	
    hwNDRateLimitGroup OBJECT-GROUP
    OBJECTS {
		hwNDLimitPacketType,
		hwNDLimitSuppressVal,
		hwNDLimitCurrentVal,
		hwNDLimitSuppressType,
		hwNDLimitIf,
		hwNDLimitWorkIf,
		hwNDLimitSrcMAC,
		hwNDLimitDstMAC,
		hwNDLimitSrcIP,
		hwNDLimitDstIP,
		hwNDLimitTargetIP,
		hwNDLimitPeVLAN,
		hwNDLimitCeVLAN
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for ND packet or ND Miss message speed exceeding the rate limit."
    ::= { hwNDGroups  7 }
	
	hwNDProxyGroup OBJECT-GROUP
    OBJECTS {	
		hwNDProxyThresholdExceedValue,
		hwNDProxyThresholdResumeValue,
		hwNDProxyDynamicNumber
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for ND proxy threshold alarm in slot."
    ::= { hwNDGroups 8 }	

    hwNDIPv6ConflictGroup OBJECT-GROUP
    OBJECTS {
        hwNDIPv6ConflictIPv6Address,
        hwNDIPv6ConflictLocalMAC,
        hwNDIPv6ConflictLocalInterfaceName,
        hwNDIPv6ConflictLocalWorkInterfaceName,
        hwNDIPv6ConflictLocalPEVLAN,
        hwNDIPv6ConflictLocalCEVLAN,
        hwNDIPv6ConflictReceiveMAC,
        hwNDIPv6ConflictReceiveInterfaceName,
        hwNDIPv6ConflictReceiveWorkInterfaceName,
        hwNDIPv6ConflictReceivePEVLAN,
        hwNDIPv6ConflictReceiveCEVLAN
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for ND conflict trap."
    ::= {hwNDGroups  9}

    hwNDSlotMultiGroup OBJECT-GROUP
    OBJECTS {
		hwNDCompPhysicalIndex,
		hwNDComponentPid,
		hwNDCompThresholdExceedValue,
		hwNDCompThresholdResumeValue,
		hwNDCompDynamicNumber,
		hwNDCompStaticNumber,
		hwNDCompTotalNumber,
		hwNDCompRemoteNumber
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for each ND component threshold alarm in slot."
    ::= { hwNDGroups 10 }

	hwNDMultiProxyGroup OBJECT-GROUP
    OBJECTS {
        hwNDProxyComponentPid,
		hwNDProxyCompThresholdExceedValue,
		hwNDProxyCompThresholdResumeValue,
		hwNDProxyCompDynamicNumber
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects for each ND component proxy threshold alarm in slot."
    ::= { hwNDGroups 11 }

	hwNDCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for ND thre."
    MODULE
        MANDATORY-GROUPS {
            hwNDSlotGroup,
            hwNDIntfGroup,
            hwNDProxyGroup,
            hwNDSlotMultiGroup,
            hwNDMultiProxyGroup
        }  
      
   ::= { hwNDCompliances 1 }                                   

-- =================================================================
-- units of conformance
-- ================================================================= 

             
            
END
