librenms/librenms

View on GitHub
mibs/huawei/HUAWEI-LLDP-MIB

Summary

Maintainability
Test Coverage
-- Copyright (C) 2021 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: HUAWEI Private Extended Interface MIB
-- Reference:
-- Version: V2.26
-- History:
-- Version: V2.0
-- History:
--              Yang Jishang,2009-05-04, Add one table for Mdn compliance.       
-- ==================================================================
-- ==================================================================
-- 
-- Varibles and types be imported
--
-- ==================================================================
HUAWEI-LLDP-MIB DEFINITIONS ::= BEGIN
    IMPORTS
    
     TruthValue, TEXTUAL-CONVENTION, DisplayString, MacAddress
        FROM SNMPv2-TC
        
     MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF

    MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress,
    OBJECT-IDENTITY, Unsigned32, NOTIFICATION-TYPE
        FROM SNMPv2-SMI

     InterfaceIndex
        FROM IF-MIB

    lldpPortConfigPortNum,lldpLocSysCapSupported,lldpLocSysCapEnabled,
    LldpPortNumber,LldpPortId,lldpRemEntry,LldpManAddress,LldpManAddrIfSubtype,
    lldpRemTimeMark,lldpRemLocalPortNum,lldpRemIndex,LldpChassisId,LldpSystemCapabilitiesMap
          FROM LLDP-MIB  
    
    AddressFamilyNumbers
        FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
        
    hwDatacomm
        FROM HUAWEI-MIB

    Ipv6Address
        FROM IPV6-TC;
 
    hwLldpMIB MODULE-IDENTITY
        LAST-UPDATED "202110280001Z"

        ORGANIZATION 
            "Huawei Technologies Co.,Ltd."
        CONTACT-INFO 
            "Huawei Industrial Base
              Bantian, Longgang
               Shenzhen 518129
               People's Republic of China
               Website: http://www.huawei.com
               Email: support@huawei.com
             "
        DESCRIPTION
            "This file is an extension of LLDP-MIB. It provides such functions of 
           globally enabling or disabling the LLDP protocol, enabling the global
           alarm, clearing statistics on ports and configuring network management 
           IP addresses and some alarms."

        REVISION "202110280001Z"
        DESCRIPTION "add trap hwLldpInterfaceNeighborChange"

        REVISION "202110210001Z"
        DESCRIPTION "modify decription of hwLldpMdnInterfaceRemChangeType"

        REVISION "202110210000Z"
        DESCRIPTION "modify decription of hwLldpMdnInterfaceRemTable"

        REVISION "202110180000Z"
        DESCRIPTION "add hwLldpMdnInterfaceRemTablesChange"

        REVISION "201809190000Z"
        DESCRIPTION "add hwLldpLocManIPv6Addr"

        REVISION "201808300000Z"
        DESCRIPTION "add trap hwLldpInterfaceParaChange"

        REVISION  "201804070000Z"
        DESCRIPTION "add hwLldpRemManAddrTable"

        REVISION  "201803270000Z"
        DESCRIPTION "modify decription of hwLldpNotificationEnable"

        REVISION  "201708172019Z"
        DESCRIPTION "modify decription of hwLldpMdnRemTable"

        REVISION  "201707200000Z"
        DESCRIPTION "add trap hwLldpDdpTrapObjects"

        REVISION "201707130000Z"
        DESCRIPTION "edit hwLldpEnable  description"

        REVISION "201705220000Z"
        DESCRIPTION "add hwLldpDdpFilterType"

        REVISION "201612240000Z"
        DESCRIPTION "add hwLldpRemNetworkIdTable"

        REVISION "201605160000Z"
        DESCRIPTION "add trap hwLldpInterfaceRemTablesChange"
    
        REVISION  "201503311730Z"
        DESCRIPTION "add trap hwLldpRateExcessive"
        
        REVISION  "201503101558Z"
        DESCRIPTION "modify hwLldpCounterReset" 
        


            ::= { hwDatacomm 134 }  
         
      -- Textual Convention

        EnabledStatus ::= TEXTUAL-CONVENTION
            STATUS    current
            DESCRIPTION
                "A simple status value for the object."
            SYNTAX   INTEGER 
                    { 
                      enabled(1),
                      disabled(2)
                }
             
    -- ============================================================================
    -- Node definitions
    -- ============================================================================ 

    -- 1.3.6.1.4.1.2011.5.25.134
 
    hwLldpObjects  OBJECT IDENTIFIER ::= { hwLldpMIB 1} 

    hwLldpTraps OBJECT IDENTIFIER ::= { hwLldpMIB 2 }  
    
    hwLldpConformance  OBJECT IDENTIFIER ::= { hwLldpMIB 3 }
 

  -- ============================================================================
  --
  -- ======================= Objects definitions=================================
  --
  -- ============================================================================  

  hwLldpConfiguration  OBJECT IDENTIFIER ::= { hwLldpObjects 1}      
  hwLldpRemoteSystemData  OBJECT IDENTIFIER ::= { hwLldpObjects 2} 
  hwLldpInterfaceRemData  OBJECT IDENTIFIER ::= { hwLldpObjects 3} 
  hwLldpMdnInterfaceRemData  OBJECT IDENTIFIER ::= { hwLldpObjects 4}
  hwLldpInterfaceNeighborChangeData  OBJECT IDENTIFIER ::= { hwLldpObjects 5}
  hwLldpTrapObjects OBJECT IDENTIFIER ::= { hwLldpObjects 51 }
  hwLldpDdpFilterType OBJECT IDENTIFIER ::= { hwLldpObjects 53 }

  hwLldpDdpFilterTypeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HwLldpDdpFilterTypeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Description."
            ::= { hwLldpDdpFilterType 1 }

  hwLldpDdpFilterTypeEntry OBJECT-TYPE
    SYNTAX HwLldpDdpFilterTypeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Description."
    INDEX { hwLldpDdpIfIndex }
            ::= { hwLldpDdpFilterTypeTable 1 }

        
  HwLldpDdpFilterTypeEntry ::=
    SEQUENCE { 
        hwLldpDdpIfIndex
            Integer32,
        hwLldpDdpSetFilterType
            Integer32
             }
  hwLldpDdpIfIndex OBJECT-TYPE
        SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hwLldpDdpFilterTypeEntry 1 }

  hwLldpDdpSetFilterType OBJECT-TYPE
            SYNTAX Integer32 (0..2)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Description."
            ::= { hwLldpDdpFilterTypeEntry 2 }

  hwLldpEnable OBJECT-TYPE 
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Globally enable or disable the LLDP configuration. If the hwLldpEnable 
        is 1, LLDP is enabled. If the hwLldpEnable is 2, LLDP is disabled. "   
    ::= { hwLldpConfiguration 1 }   

  hwLldpLocManIPAddr OBJECT-TYPE 
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Specifies the management IP address of the local device. The management IP
        address is carried in the management address TLV of LLDP packet and is used
        to identify NM devices in network management. The management IP address 
        configured here must be a valid one and must be an IP address in the address
        chain. If the IP address is not valid or is not configured, the management IP 
        address will be chosen from default IP addressees of the system. The sequence
        of address searching is: loopback interface, management network interface, VLANIF
        port and IP address chain (The smallest IP is chosen). If the default IP is not 
        found, the bridge MAC of the system is used."
        
    ::= { hwLldpConfiguration 2 }     
    
    hwLldpCounterReset OBJECT-TYPE 
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Clears the statistics of neighbours received and sent for trap informations."   
        ::= { hwLldpConfiguration 3 } 
        
    hwLldpNotificationEnable OBJECT-TYPE 
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The global alarming that is used to control alarms on all ports.
             If it is 1, the global alarming is enabled. If it is 2, the global
             alarming is disabled."     
        ::= { hwLldpConfiguration 4 } 

   hwLldpPortConfigTable  OBJECT-TYPE
      SYNTAX SEQUENCE OF HwLldpPortConfigEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION 
            "LLDP port congfiguration table."
      ::= { hwLldpConfiguration  5 }

   hwLldpPortConfigEntry OBJECT-TYPE
        SYNTAX HwLldpPortConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
               "Entries of the LLDP port congfiguration table."
        INDEX{ lldpPortConfigPortNum}
        ::= { hwLldpPortConfigTable 1}  
   
   HwLldpPortConfigEntry ::=
        SEQUENCE  {    
            hwLldpPortConfigIfIndex  
                    InterfaceIndex,
            hwLldpPortConfigCounterReset
                    EnabledStatus
                    }
                    
   hwLldpPortConfigIfIndex  OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS read-only
        STATUS current
           DESCRIPTION 
                   "Port index."     
           ::= {hwLldpPortConfigEntry 11}
 
   hwLldpPortConfigCounterReset OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
           DESCRIPTION 
               "Clears the statistics of packets received and sent on the current port."     
           ::= {hwLldpPortConfigEntry 12}

   hwLldpLocManIPv6Addr OBJECT-TYPE 
    SYNTAX Ipv6Address
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Specifies the management IPv6 address of the local device. The management IPv6
        address is carried in the management address TLV of LLDP packet and is used
        to identify NM devices in network management. The management IPv6 address 
        configured here must be a valid one and must be an IPv6 address in the address
        chain. If the IPv6 address is not valid or is not configured, the management IPv6 
        address will be chosen from default IPv6 addressees of the system. The sequence
        of address searching is: loopback interface, management network interface, VLANIF
        port and IPv6 address chain (The smallest IPv6 is chosen)."
        
    ::= { hwLldpConfiguration 13 }  
    
   hwLldpRemProtoTypeTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwLldpRemProtoTypeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
              "LLDP remote neighbour protocol version table."
        ::= { hwLldpRemoteSystemData  1 }

   hwLldpRemProtoTypeEntry OBJECT-TYPE
        SYNTAX HwLldpRemProtoTypeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
               "Entries of the LLDP remote neighbour protocol version table."
         INDEX {
        lldpPortConfigPortNum
        }
        ::= { hwLldpRemProtoTypeTable 1}  
   
   HwLldpRemProtoTypeEntry ::=
        SEQUENCE  {    
   hwLldpRemProtoType INTEGER
   }
                     
   hwLldpRemProtoType  OBJECT-TYPE
        SYNTAX INTEGER
            {
            lldp(1),
            mdn(2),
            unknown(255)
            }
        MAX-ACCESS read-only
        STATUS current
           DESCRIPTION 
                   "Protocol type of the remote neighbour."     
           ::= {hwLldpRemProtoTypeEntry 1}
           
   hwLldpMdnRemTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwLldpMdnRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
       "Remote MDN neighbor query table."
        ::= { hwLldpRemoteSystemData  2 }

   hwLldpMdnRemEntry OBJECT-TYPE
        SYNTAX HwLldpMdnRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
               "Entries of the MacAddress discovery neighbour remote table."
         INDEX {
        hwLldpMdnRemLocalPortNum,
        hwLldpMdnRemIndex
        }
        ::= { hwLldpMdnRemTable 1}  
   
   HwLldpMdnRemEntry ::=
        SEQUENCE  {    
   hwLldpMdnRemLocalPortNum LldpPortNumber,
   hwLldpMdnRemIndex Integer32,  
   hwLldpMdnRemLocalPortId LldpPortId,  
   hwLldpMdnRemMacAddr MacAddress
   }
                     
   hwLldpMdnRemLocalPortNum  OBJECT-TYPE
      SYNTAX LldpPortNumber
        MAX-ACCESS not-accessible
        STATUS current
           DESCRIPTION 
                   "The index value used to identify the local port associated with 
                   this entry."     
           ::= {hwLldpMdnRemEntry 1} 
                      
   hwLldpMdnRemIndex  OBJECT-TYPE
      SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
           DESCRIPTION 
                   "This object represents an arbitrary local integer value used to 
                   identify a particular connection instance, unique only for the 
                   indicated remote system."     
           ::= {hwLldpMdnRemEntry 2}   
           
   hwLldpMdnRemLocalPortId  OBJECT-TYPE
      SYNTAX LldpPortId
        MAX-ACCESS read-only
        STATUS current
           DESCRIPTION 
                "The string value used to identify the port component
                associated with a given port in the local system."   
           ::= {hwLldpMdnRemEntry 3} 
                        
   hwLldpMdnRemMacAddr  OBJECT-TYPE
      SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
           DESCRIPTION 
                   "The MacAddress of LLDP MacAddress discovery neighbor."     
           ::= {hwLldpMdnRemEntry 8}  
    --hwLldpRemManAddrTable : Management addresses of the remote system
    --
    hwLldpRemManAddrTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HwLldpRemManAddrEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains one or more rows per management address
        information on the remote system learned on a particular port
        contained in the local chassis known to this agent."
    ::= { hwLldpRemoteSystemData 4 } 
    
    hwLldpRemManAddrEntry OBJECT-TYPE
    SYNTAX HwLldpRemManAddrEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Management address information about a particular chassis
        component. There may be multiple management addresses
        configured on the remote system identified by a particular
        lldpRemIndex whose information is received on
        lldpRemLocalPortNum of the local system. Each management
        address should have distinct 'management address
        type' (hwLldpRemManAddrSubtype) and 'management address'
        (hwLldpRemManAddr.)
        Entries may be created and deleted in this table by the
        agent."
    INDEX { lldpRemTimeMark,
    lldpRemLocalPortNum,
    lldpRemIndex,
    hwLldpRemManAddrSubtype,
    hwLldpRemManAddr
    }
    ::= { hwLldpRemManAddrTable 1 }   
    
    HwLldpRemManAddrEntry ::= SEQUENCE {
    hwLldpRemManAddrSubtype AddressFamilyNumbers,
    hwLldpRemManAddr LldpManAddress,
    hwLldpRemManAddrIfSubtype LldpManAddrIfSubtype,
    hwLldpRemManAddrIfId Integer32,
    hwLldpRemManAddrOID OBJECT IDENTIFIER
    }                       
    
    hwLldpRemManAddrSubtype OBJECT-TYPE
    SYNTAX AddressFamilyNumbers
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of management address identifier encoding used in
        the associated 'lldpRemManagmentAddr' object."
    REFERENCE
        "IEEE Std 802.1AB-2005 9.5.9.3"
    ::= { hwLldpRemManAddrEntry 1 }    
    
    hwLldpRemManAddr OBJECT-TYPE
    SYNTAX LldpManAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The string value used to identify the management address
        component associated with the remote system. The purpose
        of this address is to contact the management entity."
    REFERENCE
        "IEEE Std 802.1AB-2005 9.5.9.4"
    ::= { hwLldpRemManAddrEntry 2 }     
    
    hwLldpRemManAddrIfSubtype OBJECT-TYPE
    SYNTAX LldpManAddrIfSubtype
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The enumeration value that identifies the interface numbering
        method used for defining the interface number, associated
        with the remote system."
    REFERENCE
        "IEEE Std 802.1AB-2005 9.5.9.5"
    ::= { hwLldpRemManAddrEntry 3 }    
    
    hwLldpRemManAddrIfId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The integer value used to identify the interface number
        regarding the management address component associated with
        the remote system."
    REFERENCE
        "IEEE Std 802.1AB-2005 9.5.9.6"
    ::= { hwLldpRemManAddrEntry 4 }   
    
    hwLldpRemManAddrOID OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The OID value used to identify the type of hardware component
        or protocol entity associated with the management address
        advertised by the remote system agent."
    REFERENCE
        "IEEE Std 802.1AB-2005 9.5.9.8"
    ::= { hwLldpRemManAddrEntry 5 }     
   hwLldpRemNetworkIdTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwLldpRemNetworkIdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "LLDP remote neighbour network id table."
        ::= { hwLldpRemoteSystemData  3 }    
       
    hwLldpRemNetworkIdEntry OBJECT-TYPE
        SYNTAX HwLldpRemNetworkIdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
           "Entries of the LLDP remote neighbour network id table."
        AUGMENTS  {   lldpRemEntry  }
        ::= { hwLldpRemNetworkIdTable 1}
        
    HwLldpRemNetworkIdEntry ::=
            SEQUENCE  {                  
                      hwLldpRemNetworkId OCTET STRING
                      }
    
    hwLldpRemNetworkId  OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Network id of the remote neighbour."
        ::= {hwLldpRemNetworkIdEntry 1}
    
   hwLldpInterfaceRemTable  OBJECT-TYPE
      SYNTAX SEQUENCE OF HwLldpInterfaceRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
              "The LLDP remote table."
        ::= { hwLldpInterfaceRemData  1 }
        
   hwLldpInterfaceRemEntry OBJECT-TYPE
      SYNTAX HwLldpInterfaceRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
               "Entries of the LLDP remote table."
         INDEX {
            hwLldpRemTablesChangeIfIndex
        }
        ::= { hwLldpInterfaceRemTable 1}  
        
  HwLldpInterfaceRemEntry ::=
      SEQUENCE  { 
               hwLldpRemTablesChangeIfIndex InterfaceIndex,
               hwLldpRemTablesChangeType INTEGER,  
               hwLldpInterfaceRemAdds Integer32,  
               hwLldpInterfaceRemDeletes Integer32
               }

   hwLldpRemTablesChangeIfIndex OBJECT-TYPE 
      SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "The LLDP neighbors of this interface was changed."   
        ::= { hwLldpInterfaceRemEntry 1 }  
        
   hwLldpRemTablesChangeType OBJECT-TYPE 
      SYNTAX INTEGER {
        added(1),
        deleted(2)
        }    
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "The change type of LLDP remote tables."   
        ::= { hwLldpInterfaceRemEntry 2 }  

   hwLldpInterfaceRemAdds OBJECT-TYPE 
      SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "The number of LLDP neighbors inserted."   
        ::= { hwLldpInterfaceRemEntry 3 }

   hwLldpInterfaceRemDeletes OBJECT-TYPE 
      SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "The number of LLDP neighbors deleted."   
        ::= { hwLldpInterfaceRemEntry 4 }

   hwLldpMdnInterfaceRemTable  OBJECT-TYPE
      SYNTAX SEQUENCE OF HwLldpMdnInterfaceRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "LLDP MDN neighbor change table."
        ::= { hwLldpMdnInterfaceRemData  1 }

   hwLldpMdnInterfaceRemEntry OBJECT-TYPE
      SYNTAX HwLldpMdnInterfaceRemEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "Entries of the LLDP MDN remote table."
         INDEX {
            hwLldpMdnInterfaceIndex
        }
        ::= { hwLldpMdnInterfaceRemTable 1}

  HwLldpMdnInterfaceRemEntry ::=
      SEQUENCE  {
               hwLldpMdnInterfaceIndex InterfaceIndex,
               hwLldpMdnInterfaceRemChangeType INTEGER,
               hwLldpMdnInterfaceRemIndex Integer32,
               hwLldpMdnInterfaceRemDeviceId OCTET STRING,
               hwLldpMdnInterfaceRemInterface OCTET STRING,
               hwLldpMdnInterfaceRemMacAddr MacAddress
               }

   hwLldpMdnInterfaceIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "The LLDP MDN neighbors of this interface were changed."
        ::= { hwLldpMdnInterfaceRemEntry 1 }

   hwLldpMdnInterfaceRemChangeType OBJECT-TYPE
      SYNTAX INTEGER {
        added(1),
        deleted(2)
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Change type of LLDP MDN neighbors."
        ::= { hwLldpMdnInterfaceRemEntry 2 }

   hwLldpMdnInterfaceRemIndex OBJECT-TYPE
      SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Index of LLDP MDN neighbors."
        ::= { hwLldpMdnInterfaceRemEntry 3 }

   hwLldpMdnInterfaceRemDeviceId OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Device ID of LLDP MDN neighbors."
        ::= { hwLldpMdnInterfaceRemEntry 4 }

   hwLldpMdnInterfaceRemInterface OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Interface name of LLDP MDN neighbors."
        ::= { hwLldpMdnInterfaceRemEntry 5 }

   hwLldpMdnInterfaceRemMacAddr OBJECT-TYPE
      SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "MAC address of LLDP MDN neighbors."
        ::= { hwLldpMdnInterfaceRemEntry 6 }
   hwLldpInterfaceNeighborChangeTable  OBJECT-TYPE
      SYNTAX SEQUENCE OF HwLldpInterfaceNeighborChangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "The LLDP remote table."
        ::= { hwLldpInterfaceNeighborChangeData  1 }

   hwLldpInterfaceNeighborChangeEntry OBJECT-TYPE
      SYNTAX HwLldpInterfaceNeighborChangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "Entries of the LLDP remote table."
         INDEX {
            hwLldpInterfaceLocalPortName
        }
        ::= { hwLldpInterfaceNeighborChangeTable 1}

  HwLldpInterfaceNeighborChangeEntry ::=
      SEQUENCE  {
               hwLldpInterfaceNeiIndex Integer32,
               hwLldpInterfaceNeiChangeType INTEGER,
               hwLldpInterfaceLocalPortName InterfaceIndex,
               hwLldpInterfaceNeiChassisType OCTET STRING,
               hwLldpInterfaceNeiChassisId OCTET STRING,
               hwLldpInterfaceNeiPortIdType OCTET STRING,
               hwLldpInterfaceNeiPortId OCTET STRING,
               hwLldpInterfaceNeiSysName OCTET STRING,
               hwLldpInterfaceNeiSysDescription OCTET STRING,
               hwLldpInterfaceNeiSysCapSup OCTET STRING,
               hwLldpInterfaceNeiSysCapEnabled OCTET STRING,
               hwLldpInterfaceNeiMgtAddrType OCTET STRING,
               hwLldpInterfaceNeiMgtAddr OCTET STRING
               }

   hwLldpInterfaceNeiIndex OBJECT-TYPE
      SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Indexes of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 1 }

   hwLldpInterfaceNeiChangeType OBJECT-TYPE
      SYNTAX INTEGER {
          added(1),
          deleted(2)
          }    
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Change types of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 2 }

   hwLldpInterfaceLocalPortName OBJECT-TYPE
      SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
              "Local port names."
        ::= { hwLldpInterfaceNeighborChangeEntry 3 }

   hwLldpInterfaceNeiChassisType OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Chassis types of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 4 }

   hwLldpInterfaceNeiChassisId OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Chassis IDs of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 5 }

   hwLldpInterfaceNeiPortIdType OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Port ID types of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 6 }

   hwLldpInterfaceNeiPortId OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Port IDs of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 7 }

   hwLldpInterfaceNeiSysName OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "System names of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 8 }

   hwLldpInterfaceNeiSysDescription OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "System descriptions of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 9 }

   hwLldpInterfaceNeiSysCapSup OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Capabilities supported by LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 10 }

   hwLldpInterfaceNeiSysCapEnabled OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Capabilities enabled for LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 11 }

   hwLldpInterfaceNeiMgtAddrType OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Management IP address types of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 12 }

   hwLldpInterfaceNeiMgtAddr OBJECT-TYPE
      SYNTAX OCTET STRING (SIZE (1..256))
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
              "Management IP addresses of LLDP neighbors."
        ::= { hwLldpInterfaceNeighborChangeEntry 13 }

  hwLldpDdpTrapObjects OBJECT IDENTIFIER ::= { hwLldpObjects 52 }     
  hwLldpDdpTrapLocalSN OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 1 }    
  hwLldpDdpTrapLocalIfindex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 2 }
  hwLldpDdpTrapLocalIP OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 3 }
  hwLldpDdpTrapLocalMAC OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 4 }
  hwLldpDdpTrapNbrSN OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 5 }
hwLldpDdpTrapNbrIfindex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 6 }
    hwLldpDdpTrapNbrIP OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 7 }
    hwLldpDdpTrapNbrMAC OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpDdpTrapObjects 8 }

       -- define trap VB
      hwLldpTrapIfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..64))
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Lldp trap message interface name."
            ::= { hwLldpTrapObjects 1 }                                                                          
                                
    --- define paramet trap   
    hwLldpTrapParaObjects OBJECT IDENTIFIER ::= { hwLldpObjects 54 }     
    hwLldpParaTrapLocPortId OBJECT-TYPE
            SYNTAX LldpPortId
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Lldp trap interface name."
        ::= { hwLldpTrapParaObjects 1 }    
    hwLldpParaTrapPeerPortId OBJECT-TYPE
        SYNTAX LldpPortId
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 2 }    
    hwLldpParaTrapLocStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 3 }    
    hwLldpParaTrapLocChassisId OBJECT-TYPE
        SYNTAX LldpChassisId
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 4 }    
    hwLldpParaTrapLocTTL OBJECT-TYPE
            SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current        
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 5 }    
    hwLldpParaTrapLocMngIp OBJECT-TYPE
        SYNTAX LldpManAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 6 }    
    hwLldpParaTrapPeerChassisId OBJECT-TYPE
        SYNTAX LldpChassisId
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 7 }    
    hwLldpParaTrapPeerPortDesc OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 8 }    
    hwLldpParaTrapPeerSysName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 9 }    
    hwLldpParaTrapPeerSysDesc OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 10 }    
    hwLldpParaTrapPeerSysCap OBJECT-TYPE
        SYNTAX LldpSystemCapabilitiesMap
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 11 }    
    hwLldpParaTrapPeerMngIp OBJECT-TYPE
        SYNTAX LldpManAddress
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
            "Description."
        ::= { hwLldpTrapParaObjects 12 }
                                 
                                
      hwLldpEnabled  NOTIFICATION-TYPE
      STATUS current    
    DESCRIPTION 
          "Notify the NMS that the LLDP is globally enabled. This alarm is not 
        restricted by the alarm delay."
    ::= { hwLldpTraps 1}

      hwLldpDisabled  NOTIFICATION-TYPE
     STATUS current    
    DESCRIPTION 
          "Notify the NMS that the LLDP is globally disabled. This alarm is not 
        restricted by the alarm delay."
    ::= { hwLldpTraps 2}  
    
  hwLldpLocSysCapSupportedChange  NOTIFICATION-TYPE
    OBJECTS {lldpLocSysCapSupported}
    STATUS current    
    DESCRIPTION 
          "Alarm on the change of capabilities supported of a local device."
       ::= { hwLldpTraps 3}  
    
    hwLldpLocSysCapEnabledChange  NOTIFICATION-TYPE
    OBJECTS {lldpLocSysCapEnabled}
    STATUS current    
    DESCRIPTION 
          "Alarm on the change of capabilities enabled of a local device."
     ::= { hwLldpTraps 4}                      
                         
  hwLldpLocManIPAddrChange  NOTIFICATION-TYPE
    OBJECTS {hwLldpLocManIPAddr}
    STATUS current    
    DESCRIPTION 
          "Alarm on the change of management IP address of a local device."
    ::= { hwLldpTraps 5} 
    
  hwLldpMdnRemTablesChange  NOTIFICATION-TYPE
    STATUS current    
    DESCRIPTION 
          "Notify the NMS that the MacAddress discovery neighbor is changed."
    ::= { hwLldpTraps 6}     
    
    hwLldpRateExcessive  NOTIFICATION-TYPE
    OBJECTS { hwLldpTrapIfName }
    STATUS current    
    DESCRIPTION 
          "Notify the NMS that the received PDU rate has exceeded the threshold."
    ::= { hwLldpTraps 7}
    
  hwLldpInterfaceRemTablesChange  NOTIFICATION-TYPE
    OBJECTS {
    hwLldpRemTablesChangeType,
    hwLldpInterfaceRemAdds,
    hwLldpInterfaceRemDeletes
    }
    STATUS current    
    DESCRIPTION 
          "Notify the NMS that the LLDP neighbor information of the interface was changed."
    ::= { hwLldpTraps 8}
 
  hwLldpDdpNotifyDeviceAuthenTrap NOTIFICATION-TYPE
        OBJECTS { hwLldpDdpTrapLocalSN, hwLldpDdpTrapLocalIfindex, hwLldpDdpTrapLocalIP, hwLldpDdpTrapLocalMAC, hwLldpDdpTrapNbrSN, 
            hwLldpDdpTrapNbrIfindex, hwLldpDdpTrapNbrIP, hwLldpDdpTrapNbrMAC }
        STATUS current
        DESCRIPTION 
            "Description."
        ::= { hwLldpTraps 9 }    
            
                   
  hwLldpInterfaceParaChange  NOTIFICATION-TYPE
    OBJECTS {
    hwLldpParaTrapLocPortId, hwLldpParaTrapPeerPortId, hwLldpParaTrapLocStatus, hwLldpParaTrapLocChassisId, hwLldpParaTrapLocTTL,
    hwLldpParaTrapLocMngIp, hwLldpParaTrapPeerChassisId, hwLldpParaTrapPeerPortDesc, hwLldpParaTrapPeerSysName, hwLldpParaTrapPeerSysDesc,
    hwLldpParaTrapPeerSysCap, hwLldpParaTrapPeerMngIp }
    STATUS current    
    DESCRIPTION 
          "Notify the NMS that the LLDP parament of the interface was changed."
    ::= { hwLldpTraps 10}

  hwLldpMdnInterfaceRemTablesChange  NOTIFICATION-TYPE
    OBJECTS {
    hwLldpMdnInterfaceRemChangeType, hwLldpMdnInterfaceRemIndex, hwLldpMdnInterfaceRemDeviceId, hwLldpMdnInterfaceRemInterface, hwLldpMdnInterfaceRemMacAddr
    }
    STATUS current
    DESCRIPTION
          "Notify the NMS that the LLDP MDN neighbor information of the interface was changed."
    ::= { hwLldpTraps 11}

  hwLldpInterfaceNeighborChange  NOTIFICATION-TYPE
    OBJECTS {
    hwLldpInterfaceNeiIndex, hwLldpInterfaceNeiChangeType, hwLldpInterfaceNeiChassisType, hwLldpInterfaceNeiChassisId,
    hwLldpInterfaceNeiPortIdType, hwLldpInterfaceNeiPortId, hwLldpInterfaceNeiSysName, hwLldpInterfaceNeiSysDescription,
    hwLldpInterfaceNeiSysCapSup, hwLldpInterfaceNeiSysCapEnabled, hwLldpInterfaceNeiMgtAddrType, hwLldpInterfaceNeiMgtAddr}
    STATUS current
    DESCRIPTION
          "Notify the NMS that the LLDP neighbor information of the interface was changed."
    ::= { hwLldpTraps 12}
  --
    -- ***********************************************************
    --
    -- HAUWEILLDPMIBCONFORMANCE
    --
    -- ***********************************************************
    --
     
    hwLldpCompliances OBJECT IDENTIFIER ::= { hwLldpConformance 1 }
    hwLldpGroups OBJECT IDENTIFIER ::= { hwLldpConformance 2 }
    -- compliance statements
    lldpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The compliance statement for SNMP entities which implement
        the HUAWEI-LLDP-MIB."
    MODULE -- this module
    MANDATORY-GROUPS { 
    hwLldpConfigGroup,
    hwLldpStatsGroup,
    hwLldpPortGroup,
    hwLldpTrapGroup
    }
    ::= { hwLldpCompliances 1 }    
       
    -- MIB groupings
    hwLldpConfigGroup OBJECT-GROUP
    OBJECTS {  
    hwLldpEnable,
    hwLldpLocManIPAddr,
    hwLldpNotificationEnable,
    hwLldpDdpSetFilterType }
    STATUS current
    DESCRIPTION
        "The collection of objects which are used to configure the
        LLDP implementation behavior.
        This group is mandatory for agents which implement the LLDP."
    ::= { hwLldpGroups 1 }     
    
    hwLldpStatsGroup OBJECT-GROUP
    OBJECTS {  
    hwLldpCounterReset,
    
    hwLldpPortConfigCounterReset    
    }
    STATUS current
    DESCRIPTION
        "The collection of objects which are used to represent LLDP
         statistics.
        This group is mandatory for agents which implement the LLDP
        and have the capability of receiving and transmitting LLDP frames."
    ::= { hwLldpGroups 2 } 
     
    
    hwLldpPortGroup OBJECT-GROUP
    OBJECTS {  
    hwLldpPortConfigIfIndex ,
    hwLldpRemProtoType
    }
    STATUS current
    DESCRIPTION
        "The collection of objects indicate index of port."
    ::= { hwLldpGroups 3 }    
        
       hwLldpTrapGroup NOTIFICATION-GROUP
    NOTIFICATIONS {  
    hwLldpEnabled,
    hwLldpDisabled,
    hwLldpLocSysCapSupportedChange,
    hwLldpLocSysCapEnabledChange,
    hwLldpLocManIPAddrChange,
    hwLldpMdnRemTablesChange,
    hwLldpRateExcessive,
    hwLldpInterfaceRemTablesChange,
    hwLldpInterfaceParaChange,
    hwLldpMdnInterfaceRemTablesChange,
    hwLldpInterfaceNeighborChange
    }
    STATUS current
    DESCRIPTION
        "The collection of notifications used to indicate HUAWEI-LLDP-MIB
        data consistency and general status information.
        This group is mandatory for agents which implement the LLDP
        and have the capability of receiving LLDP frames."
    ::= { hwLldpGroups 4 }  

    hwLldpMdnRemGroup OBJECT-GROUP
    OBJECTS {  
    hwLldpMdnRemLocalPortId,    
    hwLldpMdnRemMacAddr
    }
    STATUS current
    DESCRIPTION
        "The collection of objects which are used to represent
        LLDP MacAddress discovery neighbor remote systems information. 
        The objects represent the information associated with the basic 
        TLV set. Please note that even the agent doesn't implement some 
        of the optional TLVs, it shall recognize all the optional TLV 
        information that the remote system may advertise."
    ::= { hwLldpGroups 5 }
    
    hwLldpTrapObjectsGroup OBJECT-GROUP
            OBJECTS { hwLldpTrapIfName }
            STATUS current
            DESCRIPTION 
                "The collection of objects used as trap parameters."
            ::= { hwLldpGroups 6 }
            
    hwLldpInterfaceRemGroup OBJECT-GROUP
            OBJECTS {  
            hwLldpRemTablesChangeType,  
            hwLldpInterfaceRemAdds,    
            hwLldpInterfaceRemDeletes
             }
            STATUS current
            DESCRIPTION 
                "The LLDP remote table."
            ::= { hwLldpGroups 7 }

                 hwLldpRemNetworkIdGroup OBJECT-GROUP
            OBJECTS {  
            hwLldpRemNetworkId
             }
            STATUS current
            DESCRIPTION 
                "The LLDP remote networkId table."
            ::= { hwLldpGroups 8 }

END