438 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			438 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
-- *****************************************************************
 | 
						|
-- gbnServiceMAC-NOTIFICATION-MIB.mi2:  MAC Notification MIB 
 | 
						|
 | 
						|
-- *****************************************************************
 | 
						|
 | 
						|
MAC-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
 | 
						|
 | 
						|
IMPORTS
 | 
						|
        MODULE-IDENTITY, OBJECT-TYPE, Counter32, NOTIFICATION-TYPE,
 | 
						|
        Unsigned32, Integer32
 | 
						|
                FROM SNMPv2-SMI
 | 
						|
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
 | 
						|
                FROM SNMPv2-CONF
 | 
						|
        TruthValue, TimeStamp, MacAddress, TEXTUAL-CONVENTION
 | 
						|
                FROM SNMPv2-TC
 | 
						|
        ifIndex
 | 
						|
                FROM IF-MIB
 | 
						|
        VlanId
 | 
						|
                FROM Q-BRIDGE-MIB
 | 
						|
        gbnServiceMACNotification
 | 
						|
	            FROM ADMIN-MASTER-MIB;
 | 
						|
 | 
						|
 | 
						|
macNotificationMIB MODULE-IDENTITY
 | 
						|
    LAST-UPDATED    "201204080000Z"
 | 
						|
    ORGANIZATION    "New admin, Inc."
 | 
						|
    CONTACT-INFO    "http://www.admin.com"
 | 
						|
    DESCRIPTION
 | 
						|
        "This MIB module is for configuration of the MAC notification
 | 
						|
        feature. MAC notification is a mechanism to inform monitoring
 | 
						|
        devices when there are MAC addresses learnt or removed from
 | 
						|
        the forwarding database of the monitored devices." 
 | 
						|
 | 
						|
    REVISION   "201204080000Z"
 | 
						|
    DESCRIPTION
 | 
						|
        "Initial version of this MIB module."
 | 
						|
    ::= { gbnServiceMACNotification 1 }
 | 
						|
 | 
						|
-- Textual Conventions
 | 
						|
 | 
						|
Percent ::= TEXTUAL-CONVENTION
 | 
						|
    STATUS   current
 | 
						|
    DESCRIPTION
 | 
						|
            "An integer that is in the range of a percent value."
 | 
						|
    SYNTAX Integer32 (1..100)
 | 
						|
 | 
						|
PhysicalIndex ::= TEXTUAL-CONVENTION
 | 
						|
    DISPLAY-HINT     "d"
 | 
						|
    STATUS            current
 | 
						|
    DESCRIPTION
 | 
						|
            "An arbitrary value that uniquely identifies the physical
 | 
						|
            entity.  The value should be a small, positive integer.
 | 
						|
            Index values for different physical entities are not
 | 
						|
            necessarily contiguous."
 | 
						|
    SYNTAX Integer32 (1..2147483647)
 | 
						|
 | 
						|
 | 
						|
-- MAC Notification MIB object definitions
 | 
						|
 | 
						|
macNotificationMIBObjects OBJECT IDENTIFIER
 | 
						|
    ::= { macNotificationMIB 1 }
 | 
						|
 | 
						|
-- MAC Notification MIB consists of the following groups
 | 
						|
-- [1] Mac Notification Global Group (mnGlobalObjects).
 | 
						|
-- [2] Mac Notification Interface Group (mnInterfaceObjects).
 | 
						|
mnGlobalObjects     OBJECT IDENTIFIER
 | 
						|
    ::= { macNotificationMIBObjects 1 }
 | 
						|
mnInterfaceObjects     OBJECT IDENTIFIER
 | 
						|
    ::= { macNotificationMIBObjects 2 }
 | 
						|
--**********************************************************************
 | 
						|
-- Mac Notification Global Group
 | 
						|
--**********************************************************************
 | 
						|
 | 
						|
mnGlobalFeatureEnabled  OBJECT-TYPE
 | 
						|
    SYNTAX        TruthValue
 | 
						|
    MAX-ACCESS    read-write
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates whether the MAC notification feature is currently 
 | 
						|
        running in the device.
 | 
						|
 | 
						|
        Setting this object to false(2) disables the MAC notification
 | 
						|
        feature globally thus disabling the feature at each interface.
 | 
						|
 | 
						|
        Setting this object to true(1) will start the MAC notification
 | 
						|
        feature running in the device. If the feature is already
 | 
						|
        running, setting to true(1) has no effect. Once the MAC
 | 
						|
        notification is enabled, whether the feature is running at each
 | 
						|
        interface is controlled by the mnIfConfigTable."   
 | 
						|
    ::= { mnGlobalObjects 1 }
 | 
						|
 | 
						|
mnNotificationInterval  OBJECT-TYPE
 | 
						|
    SYNTAX        Unsigned32 (0..4294967295)
 | 
						|
    UNITS         "seconds"
 | 
						|
    MAX-ACCESS    read-write
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "This object specifies the maximum interval of time between
 | 
						|
        mnMacChangedNotifications being generated by the device.
 | 
						|
        If the value of mnNotificationsEnabled is true(1), the
 | 
						|
        device will send out the generated mnMacChangedNotifications
 | 
						|
        and archive the MAC change notification events in the
 | 
						|
        mnHistoryTable. If the value of mnNotificationsEnabled is
 | 
						|
        false(2), the device will not send out the generated
 | 
						|
        mnMacChangedNotifications but it will archive these events
 | 
						|
        in the mnHistoryTable.   
 | 
						|
        
 | 
						|
        If the value of this object is equal to 0, the device will 
 | 
						|
        generate mnMacChangedNotifications and archive the MAC 
 | 
						|
        change notification events in the mnHistoryTable as soon as
 | 
						|
        there is MAC address learnt or removed by the device.
 | 
						|
 | 
						|
        If the value of this object is greater than 0, the device will
 | 
						|
        wait for a period of time equal to the value of this object
 | 
						|
        before generate the mnMacChangedNotifications and archive
 | 
						|
        the MAC change notification events in the mnHistoryTable."
 | 
						|
    ::= { mnGlobalObjects 2 }
 | 
						|
 | 
						|
mnMacAddressesLearnt OBJECT-TYPE
 | 
						|
    SYNTAX        Counter32 
 | 
						|
    MAX-ACCESS    read-only
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates the number of MAC addresses learnt by the
 | 
						|
        device." 
 | 
						|
    ::= { mnGlobalObjects 3 }
 | 
						|
 | 
						|
mnMacAddressesRemoved OBJECT-TYPE
 | 
						|
    SYNTAX        Counter32 
 | 
						|
    MAX-ACCESS    read-only
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates the number of MAC addresses removed from the
 | 
						|
        forwarding database." 
 | 
						|
    ::= { mnGlobalObjects 4 }
 | 
						|
 | 
						|
mnNotificationsEnabled OBJECT-TYPE
 | 
						|
     SYNTAX          TruthValue
 | 
						|
     MAX-ACCESS      read-write
 | 
						|
     STATUS          current
 | 
						|
     DESCRIPTION
 | 
						|
         "Indicates whether mnMacChangedNotification notifications
 | 
						|
          will or will not be sent when there are MAC addresses
 | 
						|
          learnt or removed from the device's forwarding database. 
 | 
						|
          Disabling notifications does not prevent the MAC address
 | 
						|
          info from being added to the mnHistoryTable."
 | 
						|
     DEFVAL { false }
 | 
						|
     ::= { mnGlobalObjects 5 }
 | 
						|
 | 
						|
mnNotificationsSent OBJECT-TYPE
 | 
						|
    SYNTAX         Counter32 
 | 
						|
    MAX-ACCESS     read-only
 | 
						|
    STATUS         current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates the number of mnMacChangedNotifications sent out
 | 
						|
        by the device."
 | 
						|
    ::= { mnGlobalObjects 6 }
 | 
						|
 | 
						|
mnHistTableMaxLength OBJECT-TYPE
 | 
						|
    SYNTAX          Unsigned32 (0..500)
 | 
						|
    UNITS           "entries"
 | 
						|
    MAX-ACCESS      read-write
 | 
						|
    STATUS          current
 | 
						|
    DESCRIPTION
 | 
						|
        "The upper limit on the number of entries that the
 | 
						|
        mnHistoryTable may contain.  A value of 0 will
 | 
						|
        prevent any history from being retained. When this
 | 
						|
        table is full, the oldest entry will be deleted and
 | 
						|
        a new one will be created."
 | 
						|
    DEFVAL  { 1 }
 | 
						|
    ::= { mnGlobalObjects 7 }
 | 
						|
 | 
						|
mnHistoryTable OBJECT-TYPE
 | 
						|
    SYNTAX     SEQUENCE OF MnHistoryEntry
 | 
						|
    MAX-ACCESS not-accessible
 | 
						|
    STATUS     current
 | 
						|
    DESCRIPTION
 | 
						|
        "This table will archive the MAC change notification events 
 | 
						|
        generated by this device. The MAC change notification
 | 
						|
        events are archived here even if mnMacChangesNotifications 
 | 
						|
        are not actually sent."
 | 
						|
    ::= { mnGlobalObjects 8 }
 | 
						|
 | 
						|
mnHistoryEntry OBJECT-TYPE
 | 
						|
    SYNTAX     MnHistoryEntry
 | 
						|
    MAX-ACCESS not-accessible
 | 
						|
    STATUS     current
 | 
						|
    DESCRIPTION
 | 
						|
        "A MAC change notification message that was previously
 | 
						|
        generated by this device.  Each entry is indexed by a message
 | 
						|
        index."
 | 
						|
    INDEX   { mnHistIndex }
 | 
						|
    ::= { mnHistoryTable 1 }
 | 
						|
 | 
						|
MnHistoryEntry ::=
 | 
						|
    SEQUENCE {
 | 
						|
        mnHistIndex
 | 
						|
                Unsigned32,
 | 
						|
        mnHistMacChangedMsg
 | 
						|
                OCTET STRING,
 | 
						|
        mnHistTimestamp
 | 
						|
                TimeStamp
 | 
						|
    }
 | 
						|
 | 
						|
mnHistIndex OBJECT-TYPE
 | 
						|
    SYNTAX          Unsigned32 (1..4294967295)
 | 
						|
    MAX-ACCESS      not-accessible
 | 
						|
    STATUS          current
 | 
						|
    DESCRIPTION
 | 
						|
        "An index that uniquely identifies a MAC change notification
 | 
						|
        event previously generated by the device. This index starts at
 | 
						|
        1 and increases by one when a MAC change notification is 
 | 
						|
        generated.  When it reaches the maximum value, the agent wraps
 | 
						|
        the value back to 1."
 | 
						|
    ::= { mnHistoryEntry 1 }
 | 
						|
 | 
						|
mnHistMacChangedMsg OBJECT-TYPE
 | 
						|
    SYNTAX        OCTET STRING (SIZE(1..254))
 | 
						|
    MAX-ACCESS    read-only
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "This object contains the information of a MAC change
 | 
						|
        notification event. It consists of several tuples packed
 | 
						|
        together in the format of '<tuple1><tuple2>...'.
 | 
						|
        
 | 
						|
        Each tuple consist of 11 octets in the format of
 | 
						|
        '<operation><VLAN><MAC><dot1dBasePort>' where 
 | 
						|
 | 
						|
        <operation> is of size 1 octet and supports the following values
 | 
						|
          0 - End of MIB object.
 | 
						|
          1 - MAC learnt.
 | 
						|
          2 - MAC removed.
 | 
						|
 | 
						|
        <VLAN> is VLAN number of the VLAN which the MAC address is
 | 
						|
        belonged to and has size of 2 octet.
 | 
						|
 | 
						|
        <MAC> is the Layer2 Mac Address and has size of 6 octets.
 | 
						|
 | 
						|
        <dot1dBasePort> is the value of dot1dBasePort for the
 | 
						|
        interface from which the MAC address is learnt and has size
 | 
						|
        of 2 octets."
 | 
						|
    ::= { mnHistoryEntry 2 }
 | 
						|
 | 
						|
mnHistTimestamp  OBJECT-TYPE
 | 
						|
    SYNTAX          TimeStamp
 | 
						|
    MAX-ACCESS      read-only
 | 
						|
    STATUS          current
 | 
						|
    DESCRIPTION
 | 
						|
        "The value of sysUpTime when the mnMacChangedNotification
 | 
						|
        containing the information denoted by the mnHistMacChangedMsg
 | 
						|
        object in this entry was generated."
 | 
						|
    ::= { mnHistoryEntry 3 }
 | 
						|
 | 
						|
--*********************************************************************
 | 
						|
-- Mac Notification Interface Group
 | 
						|
--*********************************************************************
 | 
						|
 | 
						|
--
 | 
						|
-- mnIfConfigTable
 | 
						|
--
 | 
						|
 | 
						|
mnIfConfigTable  OBJECT-TYPE
 | 
						|
    SYNTAX        SEQUENCE OF MnIfConfigEntry
 | 
						|
    MAX-ACCESS    not-accessible
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "This table enables or disables the generation of notification
 | 
						|
        at each interface when MAC address is learnt or removed." 
 | 
						|
    ::= { mnInterfaceObjects 1 }
 | 
						|
 | 
						|
mnIfConfigEntry  OBJECT-TYPE
 | 
						|
    SYNTAX        MnIfConfigEntry
 | 
						|
    MAX-ACCESS    not-accessible
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Each entry contains the configuration for enabling the
 | 
						|
        MAC notification at each interface that supports this
 | 
						|
        feature." 
 | 
						|
    INDEX { ifIndex }
 | 
						|
    ::= { mnIfConfigTable 1 }
 | 
						|
 | 
						|
MnIfConfigEntry  ::= SEQUENCE {
 | 
						|
    mnMacAddrLearntEnable    TruthValue, 
 | 
						|
    mnMacAddrRemovedEnable   TruthValue 
 | 
						|
}
 | 
						|
 | 
						|
mnMacAddrLearntEnable OBJECT-TYPE
 | 
						|
    SYNTAX        TruthValue 
 | 
						|
    MAX-ACCESS    read-write
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates whether this interface is enabled to send 
 | 
						|
        mnMacChangedNotification when it learns a new MAC address. This
 | 
						|
        variable has no effect when the value of mnGlobalFeatureEnabled
 | 
						|
        object is false(2).
 | 
						|
 | 
						|
        Setting this object to true(1) enables the sending of
 | 
						|
        mnMacChangedNotification when this interface learns a 
 | 
						|
        new MAC address.
 | 
						|
 | 
						|
        Setting this object to false(2) disables the sending
 | 
						|
        of mnMacChangedNotification when this interface learns
 | 
						|
        a new MAC address."      
 | 
						|
    DEFVAL { false }
 | 
						|
    ::= { mnIfConfigEntry 1 }
 | 
						|
 | 
						|
mnMacAddrRemovedEnable OBJECT-TYPE
 | 
						|
    SYNTAX        TruthValue 
 | 
						|
    MAX-ACCESS    read-write
 | 
						|
    STATUS        current
 | 
						|
    DESCRIPTION
 | 
						|
        "Indicates whether this interface is enabled to send 
 | 
						|
        mnMacChangedNotification when a MAC address which it learnt
 | 
						|
        previously is removed from the forwarding table. This variable
 | 
						|
        has no effect when the value of mnGlobalFeatureEnabled object
 | 
						|
        is false(2). 
 | 
						|
 | 
						|
        Setting this object to true(1) enables the sending of
 | 
						|
        mnMacChangedNotification when a MAC address which this
 | 
						|
        interface learnt previously is removed from the forwarding
 | 
						|
        table.
 | 
						|
 | 
						|
        Setting this object to false(2) disables the sending of
 | 
						|
        mnMacChangedNotification when a MAC address which this
 | 
						|
        interface learnt previously is removed from the forwarding
 | 
						|
        table."
 | 
						|
    DEFVAL { false }
 | 
						|
    ::= { mnIfConfigEntry 2 }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
--
 | 
						|
--
 | 
						|
-- Notification 
 | 
						|
--
 | 
						|
 | 
						|
mnMIBNotificationPrefix OBJECT IDENTIFIER
 | 
						|
    ::= { macNotificationMIB 2 }
 | 
						|
 | 
						|
mnMIBNotifications
 | 
						|
    OBJECT IDENTIFIER ::= { mnMIBNotificationPrefix 0 }
 | 
						|
 | 
						|
mnMacChangedNotification NOTIFICATION-TYPE
 | 
						|
    OBJECTS { mnHistMacChangedMsg, mnHistTimestamp } 
 | 
						|
    STATUS  current
 | 
						|
    DESCRIPTION
 | 
						|
        "This notification is generated when there is enough MAC
 | 
						|
        address information to fully occupy a maximum size SNMP trap
 | 
						|
        message. This notification is also generated when there
 | 
						|
        is at least one MAC address changed or removed and the amount
 | 
						|
        of time elapsed from the previous notification is greater
 | 
						|
        than the maximum wait time denoted by 
 | 
						|
        mnNotificationInterval object. 
 | 
						|
 | 
						|
        If there are more MAC addresses information than can fit into
 | 
						|
        one mmHistTrapContent object, then multiple notifications
 | 
						|
        will be generated." 
 | 
						|
    ::= { mnMIBNotifications 1 }
 | 
						|
 | 
						|
--
 | 
						|
-- Conformance
 | 
						|
--
 | 
						|
 | 
						|
mnMIBConformance OBJECT IDENTIFIER ::= { macNotificationMIB 3 }
 | 
						|
 | 
						|
mnMIBCompliances OBJECT IDENTIFIER
 | 
						|
    ::= { mnMIBConformance 1 }
 | 
						|
 | 
						|
mnMIBGroups      OBJECT IDENTIFIER
 | 
						|
    ::= { mnMIBConformance 2 }
 | 
						|
 | 
						|
 | 
						|
-- Compliance
 | 
						|
 | 
						|
mnMIBCompliance MODULE-COMPLIANCE
 | 
						|
     STATUS deprecated
 | 
						|
     DESCRIPTION
 | 
						|
         "The compliance statement for the MAC-NOTIFICATION-MIB."
 | 
						|
     MODULE
 | 
						|
     MANDATORY-GROUPS { mnGlobalGroup,
 | 
						|
                        mnInterfaceGroup,
 | 
						|
                        mnNotificationGroup }
 | 
						|
     ::= { mnMIBCompliances 1 }
 | 
						|
 | 
						|
mnMIBComplianceVer1 MODULE-COMPLIANCE
 | 
						|
     STATUS current
 | 
						|
     DESCRIPTION
 | 
						|
         "The compliance statement for the MAC-NOTIFICATION-MIB."
 | 
						|
     MODULE
 | 
						|
     MANDATORY-GROUPS { mnGlobalGroup,
 | 
						|
                        mnInterfaceGroup,
 | 
						|
                        mnNotificationGroup 
 | 
						|
                      }
 | 
						|
 | 
						|
     ::= { mnMIBCompliances 2 }
 | 
						|
 | 
						|
--
 | 
						|
-- Units of Conformance
 | 
						|
--
 | 
						|
-- Units of Conformance
 | 
						|
--
 | 
						|
mnGlobalGroup OBJECT-GROUP
 | 
						|
    OBJECTS {
 | 
						|
      mnGlobalFeatureEnabled,
 | 
						|
      mnNotificationInterval,
 | 
						|
      mnMacAddressesLearnt,
 | 
						|
      mnMacAddressesRemoved,
 | 
						|
      mnNotificationsEnabled,
 | 
						|
      mnHistTableMaxLength,
 | 
						|
      mnHistMacChangedMsg,
 | 
						|
      mnHistTimestamp,
 | 
						|
      mnNotificationsSent
 | 
						|
    }
 | 
						|
    STATUS current
 | 
						|
    DESCRIPTION
 | 
						|
        "A collection of objects providing the global configuration
 | 
						|
        and information for MAC notification." 
 | 
						|
    ::= { mnMIBGroups 1 }
 | 
						|
 | 
						|
mnInterfaceGroup OBJECT-GROUP
 | 
						|
    OBJECTS {
 | 
						|
      mnMacAddrLearntEnable,
 | 
						|
      mnMacAddrRemovedEnable
 | 
						|
    }
 | 
						|
    STATUS current
 | 
						|
    DESCRIPTION
 | 
						|
        "A collection of objects providing the configuration information
 | 
						|
        for MAC notification at each interface." 
 | 
						|
    ::= { mnMIBGroups 2 }
 | 
						|
 | 
						|
mnNotificationGroup NOTIFICATION-GROUP
 | 
						|
    NOTIFICATIONS { mnMacChangedNotification }
 | 
						|
    STATUS current
 | 
						|
    DESCRIPTION
 | 
						|
        "The notification generated by the MAC-NOTIFICATION-MIB."
 | 
						|
    ::= { mnMIBGroups 3 }
 | 
						|
END
 |