--------------------------------------------------------------------------
-- File Name : ZTE-AN-MAC-MIB.mib
-- Date      : 2007-06-07
-- Author    : ZTE Nms dept.

--
-- Zte MAC Mgmt Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------

ZTE-AN-MAC-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32,
        IpAddress, Counter64, NOTIFICATION-TYPE
                                                    FROM SNMPv2-SMI
        MacAddress,RowStatus,DisplayString,RowStatus,
        TEXTUAL-CONVENTION                          FROM SNMPv2-TC
        zxAn,ZxAnIfindex                            FROM ZTE-AN-TC-MIB;      

    zxAnMacMib MODULE-IDENTITY
        LAST-UPDATED    "200706070840Z"
        ORGANIZATION "ZTE Corporation"
        CONTACT-INFO "ZTE NMS dept. 
                      Su Chunshan   68896292,
                      Zeng Nanxi    68896250 "
        DESCRIPTION  "This MIB defines managed objects of zte system mgmt."
         ::= {zxAn 6}         

    zxAnMacObjects          OBJECT IDENTIFIER  ::=  { zxAnMacMib 1 }
    zxAnMacTrapObjects      OBJECT IDENTIFIER  ::=  { zxAnMacMib 2 }
    zxAnMacPerfObjects      OBJECT IDENTIFIER  ::=  { zxAnMacMib 3 }

    zxAnMacGlobalObjects    OBJECT IDENTIFIER  ::=  { zxAnMacObjects 1 }

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.MAC Table
-- 2.MAC Forwarding Table
-- 3.MAC Perf

--------------------------------------------------------------------------------



--------------------------------------------------------------------------------
-- 1.MAC Table
--------------------------------------------------------------------------------
    zxAnMacTableCapacity   OBJECT-TYPE     
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
              "The capacity of the MAC learning table." 
        ::=  {  zxAnMacGlobalObjects  1  }    

    zxAnMacTableCurrUtilization   OBJECT-TYPE     
        SYNTAX      Integer32
        UNITS       "percent"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
              "Current utilization of the MAC learning table." 
        ::=  {  zxAnMacGlobalObjects  2  }

    zxAnMacTableUtilizationThreshold   OBJECT-TYPE     
        SYNTAX      Integer32
        UNITS       "percent"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
              "Utilization threshold of the MAC learning table.
               The zxAnMacTableUtilOverThresh trap should be generated when it
               is crossed." 
        DEFVAL { 70 }              
        ::=  {  zxAnMacGlobalObjects  3  }    

    zxAnMacTableCurrMaxUtilization   OBJECT-TYPE     
        SYNTAX      Integer32
        UNITS       "percent"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
              "Max utilization of the MAC learning table in current Mornitoring 
               period." 
        ::=  {  zxAnMacGlobalObjects  4  }

    zxAnMacTableHisMaxUtilization   OBJECT-TYPE     
        SYNTAX      Integer32
        UNITS       "percent"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
              "Max utilization of the MAC learning table from system startup." 
        ::=  {  zxAnMacGlobalObjects  5  }        
        
    zxAnMacTableMonitorInterval   OBJECT-TYPE     
        SYNTAX      Integer32 ( 5..1440 )
        UNITS       "minute"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
              "Monitoring interval of max utilization of the MAC learning table." 
        DEFVAL { 10 }              
        ::=  {  zxAnMacGlobalObjects  6  }   

    zxAnMacTableMonitorElapsedTime   OBJECT-TYPE     
        SYNTAX      Integer32 
        UNITS       "second"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
              " The elapsed time of this monitoring interval." 
        ::=  {  zxAnMacGlobalObjects  7  }    

    zxAnMacAgingTime    OBJECT-TYPE    
        SYNTAX      INTEGER (10..1000000)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
                " The timeout period in seconds for aging out
                  dynamically learned forwarding information.
                  802.1D-1990 recommends a default of 300 seconds."
        REFERENCE
                "IEEE 802.1D-1990: Section 6.7.1.1.3"
        DEFVAL { 300 }        
        ::= { zxAnMacGlobalObjects 8 }
        
    zxAnMacTableCurrTotalMacAddress   OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION 
            "The current total MAC address number of the MAC forwarding table.
             The value will be updated in each 5 seconds." 
        ::=  { zxAnMacGlobalObjects  9 }
        
    zxAnMacCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            macForwardingTableIndexChanged(0),
            supportPermanentMac(1)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Mac capabilities of this equipment.
            
             The bit value 1 means the function represented by this bit is
             supported by this equipment.            
             macForwardingTableIndexChanged(0) - value 1 means the index 
             zxAnMacForwardingAddrType of zxAnMacForwardingTable is changed.
             supportPermanentMac(1) - value 1 means zxAnMacForwardingAddrType 
                                      support dynamic(1), permanent(2) and 
                                      static(3). Value 0 means 
                                      zxAnMacForwardingAddrType support 
                                      dynamic(1) and static(2)."
        ::= { zxAnMacGlobalObjects 50 }

--------------------------------------------------------------------------------
-- 2.MAC Forwarding Table
--------------------------------------------------------------------------------
  
    zxAnMacForwardingTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnMacForwardingEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A table that contains information about unicast
                entries for which the bridge has forwarding and/or
                filtering information.  This information is used
                by the transparent bridging function in
                determining how to propagate a received frame."
        ::= { zxAnMacObjects  3 }
    
    zxAnMacForwardingEntry OBJECT-TYPE
        SYNTAX  ZxAnMacForwardingEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Information about a specific unicast MAC address
                for which the bridge has some forwarding and/or
                filtering information."
        INDEX   {   zxAnMacForwardingAddrType,
                    zxAnMacForwardingIfIndex,
                    zxAnMacForwardingVlanId,
                    zxAnMacForwardingAddr }
        ::= { zxAnMacForwardingTable 1 }
    
    ZxAnMacForwardingEntry ::=
        SEQUENCE {
            zxAnMacForwardingAddrType  INTEGER,
            zxAnMacForwardingIfIndex   ZxAnIfindex,
            zxAnMacForwardingVlanId    Integer32,
            zxAnMacForwardingAddr      MacAddress,
            zxAnMacFwdConfRowStatus    RowStatus
        }

    zxAnMacForwardingAddrType OBJECT-TYPE
        SYNTAX  INTEGER 
        {
            dynamic(1),
            permanent(2),
            static(3)
        }
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A MAC address type to forward and/or filter."
        ::= { zxAnMacForwardingEntry 1 }

    zxAnMacForwardingIfIndex OBJECT-TYPE
        SYNTAX  ZxAnIfindex
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "The ifIndex of the bridge port."
        ::= { zxAnMacForwardingEntry 2 }

    zxAnMacForwardingVlanId OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "The vlan id."
        ::= { zxAnMacForwardingEntry 3 }        
                    
    zxAnMacForwardingAddr OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A unicast MAC address for which the bridge has
                forwarding and/or filtering information."
        REFERENCE
                "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
        ::= { zxAnMacForwardingEntry 4 }  
  
        
    zxAnMacFwdConfRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of this entry."
        ::=  {  zxAnMacForwardingEntry 5 }      

--------------------------------------------------------------------------------
-- Mac Pool Table
--------------------------------------------------------------------------------

    zxAnMacPoolTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnMacPoolEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Mac Pool information table."
        ::= { zxAnMacObjects  4 }
    
    zxAnMacPoolEntry OBJECT-TYPE
        SYNTAX  ZxAnMacPoolEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Mac Pool information table."
        INDEX   {   zxAnMacPoolIndex }
        ::= { zxAnMacPoolTable 1 }
    
    ZxAnMacPoolEntry ::=
        SEQUENCE {
            zxAnMacPoolIndex  Integer32,
            zxAnMacPoolStartMac  MacAddress,
            zxAnMacPoolSize  Integer32,
            zxAnMacPoolAvailableSize  Integer32,
            zxAnMacPoolRowStatus  RowStatus
        }


    zxAnMacPoolIndex OBJECT-TYPE
        SYNTAX  Integer32(1..8)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "The index of this table"
        ::= { zxAnMacPoolEntry 1 }

    zxAnMacPoolStartMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "Starting MacAddress in the pool."
        ::= { zxAnMacPoolEntry 2 }

    zxAnMacPoolSize OBJECT-TYPE
        SYNTAX  Integer32(1..1024)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                "The size of this MacAddress pool."
        DEFVAL{256}
        ::= { zxAnMacPoolEntry 3 }        
                    
    zxAnMacPoolAvailableSize OBJECT-TYPE
        SYNTAX  Integer32(0..1024)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The available space of the pool, that is the number of MacAddress will be allocated."
        ::= { zxAnMacPoolEntry 4 }  
  
        
    zxAnMacPoolRowStatus  OBJECT-TYPE 
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "The row status of the instance."
        ::=  {  zxAnMacPoolEntry 5 }   

--------------------------------------------------------------------------------
-- 6. Trap Defination
--------------------------------------------------------------------------------

    zxAnMacTableUsageOverThreshTrap      NOTIFICATION-TYPE
            OBJECTS { zxAnMacTableCurrentUsage,
                      zxAnMacTableUsageThreshold  }
            STATUS  current
            DESCRIPTION
                "zxAnMacTableUsageThreshold is reached."
            ::= { zxAnMacTrapObjects 1 }
            
--------------------------------------------------------------------------------
-- . MAC Perf Defination
--------------------------------------------------------------------------------
    zxAnMacUsageRateGroupPerf    OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The performance metric identification. This object indicates the performance group 
            of MAC learning's usage rate in current monitoring  period."
        ::= { zxAnMacPerfObjects 1 }


    zxAnMacMaxUsageRatePerf    OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The performance metric identification. This object indicates the max usage rate of 
            the MAC learning table in current monitoring  period."
        ::= { zxAnMacPerfObjects 2 }
        
    zxAnMacMinUsageRatePerf    OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The performance metric identification. This object indicates the min usage rate of 
            the MAC learning table in current monitoring  period."
        ::= { zxAnMacPerfObjects 3 }    
        
    zxAnMacAverageUsageRatePerf    OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The performance metric identification. This object indicates Average usage rate of 
            the MAC learning table in current monitoring  period."
        ::= { zxAnMacPerfObjects 4 }        

END
    