-- ***************************************************************** -- DLINKSW-L2FDB-MIB.mib : L2 FDB MIB -- -- Copyright (c) 2012 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKSW-L2FDB-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,Unsigned32, Integer32 FROM SNMPv2-SMI RowStatus,DisplayString,TruthValue,MacAddress FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF ifIndex, InterfaceIndex, InterfaceIndexOrZero FROM IF-MIB dot1qFdbId, dot1qStaticUnicastAddress, VlanId, PortList FROM Q-BRIDGE-MIB dlinkIndustrialCommon FROM DLINK-ID-REC-MIB; dlinkSwL2FdbMIB MODULE-IDENTITY LAST-UPDATED "201212260000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for L2FDB." REVISION "201212260000Z" DESCRIPTION "This is the first version of the MIB file for 'L2FDB' functionality." ::= { dlinkIndustrialCommon 3 } -- -- MIB OBJECTS -- dL2FdbMIBNotifications OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 0 } dL2FdbMIBObjects OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 1 } dL2FdbMIBConformance OBJECT IDENTIFIER ::= { dlinkSwL2FdbMIB 2 } -- ----------------------------------------------------------------------------- dL2FdbGblCtrl OBJECT IDENTIFIER ::= { dL2FdbMIBObjects 1 } dL2FdbClearCtrl OBJECT IDENTIFIER ::= { dL2FdbGblCtrl 1 } dL2FdbClearMacAddrByMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies a MAC address which will be cleared. When read, a value of '000000000000'H is returned." ::= { dL2FdbClearCtrl 1 } dL2FdbClearMacAddrByIf OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the ifIndex of the physical port/port-channel/vlan interface on which the dynamic MAC address(es) will be cleared. When read, a value of 0 is returned." ::= { dL2FdbClearCtrl 2 } dL2FdbClearAllMacAddr OBJECT-TYPE SYNTAX INTEGER{ clear(1), noOp(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object clears all of the dynamic FDB entries, when set to 'clear'. No action is taken if this object is set to 'noOp'. When read, the value 'noOp' is returned." ::= { dL2FdbClearCtrl 3 } dL2FdbAgingTime OBJECT-TYPE SYNTAX Unsigned32 ( 0 | 5..1000000 ) UNITS "second" MAX-ACCESS read-write STATUS current DESCRIPTION "Specify the aging time in seconds. The valid range is 5 to 1000000 seconds. The special valie of 0 indicates the ging out function is disabled. " DEFVAL { 300 } ::= { dL2FdbGblCtrl 2 } dL2FdbMacChangeEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the status of MAC address notification feature on the Switch." DEFVAL { false } ::= { dL2FdbGblCtrl 3 } dL2FdbMacChangeNotifInterval OBJECT-TYPE SYNTAX Unsigned32 ( 1..2147483647 ) UNITS "second" MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the interval between two consecutive MAC address change notifications." DEFVAL { 1 } ::= { dL2FdbGblCtrl 4 } dL2FdbMacChangeNotifyEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether cmnMacChangedNotification notifications will or will not be sent when there are MAC addresses learnt or removed from the forwarding table. " DEFVAL { false } ::= { dL2FdbGblCtrl 5 } dL2FdbMacChangeHistorySize OBJECT-TYPE SYNTAX Unsigned32 ( 0..500 ) MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the maximum number of the entries in the MAC history notification table." DEFVAL { 1 } ::= { dL2FdbGblCtrl 6 } dL2FdbDestHitEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the state whether the destination MAC address will trigger update function." DEFVAL {false } ::= { dL2FdbGblCtrl 7 } -- ----------------------------------------------------------------------------- dL2FdbStaticUnicastTable OBJECT-TYPE SYNTAX SEQUENCE OF DL2FdbStaticUnicastEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of configuration for static unicast MAC addresses." ::= { dL2FdbMIBObjects 2 } dL2FdbStaticUnicastEntry OBJECT-TYPE SYNTAX DL2FdbStaticUnicastEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table entry represents configuration for a static unicast MAC address information." INDEX { dL2FdbStaticUnicastVlanID, dL2FdbStaticUnicastMacAddr } ::= { dL2FdbStaticUnicastTable 1 } DL2FdbStaticUnicastEntry ::= SEQUENCE { dL2FdbStaticUnicastVlanID VlanId, dL2FdbStaticUnicastMacAddr MacAddress, dL2FdbStaticUnicastType INTEGER, dL2FdbStaticUnicastPortNum Integer32, dL2FdbStaticUnicastRowStatus RowStatus } dL2FdbStaticUnicastVlanID OBJECT-TYPE SYNTAX VlanId MAX-ACCESS not-accessible STATUS current DESCRIPTION "The VLAN ID of the entry." ::= { dL2FdbStaticUnicastEntry 1 } dL2FdbStaticUnicastMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MAC address of the entry." ::= { dL2FdbStaticUnicastEntry 2 } dL2FdbStaticUnicastType OBJECT-TYPE SYNTAX INTEGER { self(1), permanent(2), permanentDrop(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the status of this entry. self(1) - This entry is currently in use by the device's MAC address. permanent(2) - This entry is currently in use and will remain so until after the next reset of the device. permanentDrop(3) - This entry will filter the packet with the specified MAC address as the source MAC or as the destination MAC. The entry is currently in use and will remain so after the next reboot of the device. The value of this object MUST be retained across reinitializations of the management system." ::= { dL2FdbStaticUnicastEntry 3 } dL2FdbStaticUnicastPortNum OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The port number of the static unicast address. The value of 0 indicates the CPU port. The value of -1 indicates mac filter entry with permanentDrop type." ::= { dL2FdbStaticUnicastEntry 4 } dL2FdbStaticUnicastRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the RowStatus of this entry." ::= { dL2FdbStaticUnicastEntry 5 } -- ----------------------------------------------------------------------------- dL2FdbIfCtrlTable OBJECT-TYPE SYNTAX SEQUENCE OF DL2FdbIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of interface-specific configuration for L2 FDB." ::= { dL2FdbMIBObjects 3 } dL2FdbIfCtrlEntry OBJECT-TYPE SYNTAX DL2FdbIfCtrlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry represents interface L2 FDB configuration." INDEX { ifIndex } ::= { dL2FdbIfCtrlTable 1 } DL2FdbIfCtrlEntry ::= SEQUENCE { dL2FdbIfCtrlNotifyEnable BITS, dL2FdbIfMacLearningEnabled TruthValue } dL2FdbIfCtrlNotifyEnable OBJECT-TYPE SYNTAX BITS { added(0), removed(1) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether a specified notification is enabled or not. If a bit corresponding to a notification is set to 1, then the specified notification can be generated. added(0) - the MAC change notification when a MAC address is added on the interface. removed(1) - the MAC change notification when a MAC address is removed from the interface. " ::= { dL2FdbIfCtrlEntry 1 } dL2FdbIfMacLearningEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether the MAC-address learning is enabled or not on the physical interface." ::= { dL2FdbIfCtrlEntry 2 } -- ----------------------------------------------------------------------------- dL2FdbMulticastFilterModeTable OBJECT-TYPE SYNTAX SEQUENCE OF DL2FdbMulticastFilterModeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of multicast filter mode configuration of interfaces. Only applicable interfaces will present on this table. " ::= { dL2FdbMIBObjects 4 } dL2FdbMulticastFilterModeEntry OBJECT-TYPE SYNTAX DL2FdbMulticastFilterModeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry represents multicast filter mode on an interface." INDEX { dL2FdbMcastFilterModeIfIndex } ::= { dL2FdbMulticastFilterModeTable 1 } DL2FdbMulticastFilterModeEntry ::= SEQUENCE { dL2FdbMcastFilterModeIfIndex InterfaceIndex, dL2FdbMcastFilterMode INTEGER } dL2FdbMcastFilterModeIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the ifIndex of the interface. If support vlan-based filtering mode: The valid interfaces are VLANs. If support port-based filtering mode: The valid interfaces are physical port. " ::= { dL2FdbMulticastFilterModeEntry 1 } dL2FdbMcastFilterMode OBJECT-TYPE SYNTAX INTEGER { forwardAll(1), forwardUnregistered(2), filterUnregistered(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the handling method for multicast packets on the corresponding interface." ::= { dL2FdbMulticastFilterModeEntry 2 } -- ----------------------------------------------------------------------------- dL2FdbMacChangeHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF DL2FdbMacChangeHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains a list of MAC address change history." ::= { dL2FdbMIBObjects 5 } dL2FdbMacChangeHistoryEntry OBJECT-TYPE SYNTAX DL2FdbMacChangeHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry represents a MAC address change." INDEX { dL2FdbMacChangeHistoryIndex } ::= { dL2FdbMacChangeHistoryTable 1 } DL2FdbMacChangeHistoryEntry ::= SEQUENCE { dL2FdbMacChangeHistoryIndex Unsigned32, dL2FdbMacChangeHistoryOp INTEGER, dL2FdbMacChangeHistoryVlanID VlanId, dL2FdbMacChangeHistoryMacAddr MacAddress, dL2FdbMacChangeHistoryPortNum Integer32 } dL2FdbMacChangeHistoryIndex OBJECT-TYPE SYNTAX Unsigned32 ( 1..500 ) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object is history index." ::= { dL2FdbMacChangeHistoryEntry 1 } dL2FdbMacChangeHistoryOp OBJECT-TYPE SYNTAX INTEGER { added(1), removed(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "mac notify change operation 1 - learned a new MAC address 2 - deleted an old MAC address " ::= { dL2FdbMacChangeHistoryEntry 2 } dL2FdbMacChangeHistoryVlanID OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-only STATUS current DESCRIPTION "The VLAN ID of the entry." ::= { dL2FdbMacChangeHistoryEntry 3 } dL2FdbMacChangeHistoryMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The MAC address of the entry." ::= { dL2FdbMacChangeHistoryEntry 4 } dL2FdbMacChangeHistoryPortNum OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The port number of the unicast address." ::= { dL2FdbMacChangeHistoryEntry 5 } -- ----------------------------------------------------------------------------- dL2FdbNotifyInfo OBJECT IDENTIFIER ::= { dL2FdbMIBObjects 6 } dL2FdbMacChangeNotifyInfo OBJECT-TYPE SYNTAX OCTET STRING(SIZE (1..1024)) MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indicates the information for the device MAC address changes. And the detailed information include: Operation Code + MAC address + Box ID (or slot ID) + Port Number + Zero... Operation Code: 1, 2 1 means learned a new MAC address 2 means deleted an old MAC address. Box ID: The switch box ID, for standalone device, it always 1. Port Number: The hysical port/port-channellearned or deleted for the box,if port-channel, the box id is invalid Zero: Used to separate each message(Operate Code + MAC address + Box ID + Port Number)." ::= { dL2FdbNotifyInfo 1 } -- *************************************************************************** -- Notifications -- *************************************************************************** dL2FdbMacNotification NOTIFICATION-TYPE OBJECTS { dL2FdbMacChangeNotifyInfo } STATUS current DESCRIPTION "This trap indicates a MAC address is added to or removed from the address table. " ::= { dL2FdbMIBNotifications 1 } -- *************************************************************************** -- Conformance -- *************************************************************************** dL2FdbCompliances OBJECT IDENTIFIER ::= { dL2FdbMIBConformance 1 } dL2FdbCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKSW-L2FDB-MIB." MODULE -- this module MANDATORY-GROUPS { dL2FdbGlobalGroup, dL2FdbMacAddrTableGroup, dL2FdbInterfaceGroup, dL2FdbMcastFilterModeCfgGroup } GROUP dL2FdbMacChangeNotifyCfgGroup DESCRIPTION "This group is required only if the MAC change notification is implemented by the agent." GROUP dL2FdbMacChangeNotifyGroup DESCRIPTION "This group is required only if the MAC change notification is implemented by the agent." GROUP dL2FdbMacChgNotificationGroup DESCRIPTION "This group is required only if the MAC change notification is implemented by the agent." ::= { dL2FdbCompliances 1 } dL2FdbGroups OBJECT IDENTIFIER ::= { dL2FdbMIBConformance 2 } dL2FdbGlobalGroup OBJECT-GROUP OBJECTS { dL2FdbClearMacAddrByMacAddr, dL2FdbClearMacAddrByIf, dL2FdbClearAllMacAddr, dL2FdbAgingTime, dL2FdbDestHitEnabled } STATUS current DESCRIPTION "A collection of objects providing the gloal configuration for L2FDB" ::= { dL2FdbGroups 1 } dL2FdbMacAddrTableGroup OBJECT-GROUP OBJECTS { dL2FdbStaticUnicastType, dL2FdbStaticUnicastPortNum, dL2FdbStaticUnicastRowStatus } STATUS current DESCRIPTION "A collection of objects providing the information of MAC-Address-Table for L2FDB" ::= { dL2FdbGroups 2 } dL2FdbInterfaceGroup OBJECT-GROUP OBJECTS { dL2FdbIfMacLearningEnabled } STATUS current DESCRIPTION "A collection of objects providing the information of Interface Table for L2FDB" ::= { dL2FdbGroups 3 } dL2FdbMacChangeNotifyCfgGroup OBJECT-GROUP OBJECTS { dL2FdbMacChangeEnabled, dL2FdbMacChangeNotifInterval, dL2FdbMacChangeNotifyEnabled, dL2FdbMacChangeHistorySize, dL2FdbMacChangeNotifyInfo, dL2FdbIfCtrlNotifyEnable } STATUS current DESCRIPTION "A collection of objects about the information for L2FDB notification. " ::= { dL2FdbGroups 4 } dL2FdbMcastFilterModeCfgGroup OBJECT-GROUP OBJECTS { dL2FdbMcastFilterMode } STATUS current DESCRIPTION "A collection of objects about the configuration for multicast filter mode. " ::= { dL2FdbGroups 5 } dL2FdbMacChangeNotifyGroup OBJECT-GROUP OBJECTS { dL2FdbMacChangeHistoryOp, dL2FdbMacChangeHistoryVlanID, dL2FdbMacChangeHistoryMacAddr, dL2FdbMacChangeHistoryPortNum } STATUS current DESCRIPTION "The notifications information used for the change of MAC address table. " ::= { dL2FdbGroups 6 } dL2FdbMacChgNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { dL2FdbMacNotification } STATUS current DESCRIPTION "The collection of notifications used for monitoring the change of MAC address table." ::= { dL2FdbGroups 7 } END