--/* 
-- *
-- * Copyright (c) 1997 - 2002 by Extreme Networks Inc.
-- * 
-- *	  Extreme Networks
-- *      http://www.extremenetworks.com
-- *
-- * extracted from $Extreme_Id: extreme.mib,v 1.24.6.35 2006/01/09 15:15:18 build-sc Exp $
-- *
-- */

-- ============================================================================
EXTREME-FDB-MIB DEFINITIONS ::= BEGIN

      IMPORTS
                MODULE-IDENTITY         FROM SNMPv2-SMI
		    OBJECT-TYPE             FROM SNMPv2-SMI
		    IpAddress               FROM SNMPv2-SMI
                    Counter64		    FROM SNMPv2-SMI
                DisplayString, MacAddress, RowStatus       FROM SNMPv2-TC
                extremeAgent, PortList      FROM EXTREME-BASE-MIB;


        extremeFdb MODULE-IDENTITY
                LAST-UPDATED "0010310000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme FDB and IP FDB tables."
        ::= { extremeAgent 16 }

	extremeFdbMacFdbTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeFdbMacFdbEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"A table that contains information about the hardware MAC
			 FDB table."

		::= { extremeFdb 1 }

	extremeFdbMacFdbEntry	OBJECT-TYPE
		SYNTAX	ExtremeFdbMacFdbEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in the table of MAC FDB information."
		INDEX { extremeFdbMacFdbVlanIfIndex, extremeFdbMacFdbSequenceNumber }
		::= {extremeFdbMacFdbTable 1}

	ExtremeFdbMacFdbEntry ::= SEQUENCE {
		 extremeFdbMacFdbVlanIfIndex	 INTEGER,	
	         extremeFdbMacFdbSequenceNumber	 INTEGER,
                 extremeFdbMacFdbMacAddress	 MacAddress,
                 extremeFdbMacFdbPortIfIndex	 INTEGER,
                 extremeFdbMacFdbStatus		 INTEGER
              }

          extremeFdbMacFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this mac is learned."
              ::= { extremeFdbMacFdbEntry 1 }

        extremeFdbMacFdbSequenceNumber OBJECT-TYPE
                SYNTAX  INTEGER
                MAX-ACCESS	not-accessible
                STATUS	current
                DESCRIPTION
                        "The sequence number of this FDB entry in the forwarding database."
                ::= { extremeFdbMacFdbEntry 2 }

          extremeFdbMacFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "A MAC address for which the bridge has
                      forwarding and/or filtering information."
              ::= { extremeFdbMacFdbEntry 3 }

          extremeFdbMacFdbPortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Either the value '0', or the IfIndex of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port IfIndex has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable)."
              ::= { extremeFdbMacFdbEntry 4 }

          extremeFdbMacFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The status of this entry.  
                      This is the value of dot1dTpFdbStatus in RFC1493."
              ::= { extremeFdbMacFdbEntry 5 }


	extremeFdbIpFdbTable	OBJECT-TYPE
		SYNTAX	SEQUENCE OF ExtremeFdbIpFdbEntry
		MAX-ACCESS  not-accessible
		STATUS current
		DESCRIPTION
			"A table that contains information about the hardware IP
			 FDB table."
		::= { extremeFdb 2 }

	extremeFdbIpFdbEntry	OBJECT-TYPE
		SYNTAX	ExtremeFdbIpFdbEntry
		MAX-ACCESS	not-accessible
		STATUS	current
		DESCRIPTION
			"An entry in the table of IP FDB information."
		INDEX { extremeFdbIpFdbSequenceNumber }
		::= {extremeFdbIpFdbTable 1}

	ExtremeFdbIpFdbEntry ::= SEQUENCE {
		  extremeFdbIpFdbSequenceNumber  INTEGER,
	          extremeFdbIpFdbIPAddress	 IpAddress,
                  extremeFdbIpFdbMacAddress	 MacAddress,
		  extremeFdbIpFdbVlanIfIndex	 INTEGER,
                  extremeFdbIpFdbPortIfIndex	 INTEGER
              }


	extremeFdbIpFdbSequenceNumber OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The sequence number of this entry in the IP FDB"
              ::= { extremeFdbIpFdbEntry 1 }

        extremeFdbIpFdbIPAddress OBJECT-TYPE
                SYNTAX  IpAddress
                MAX-ACCESS	read-only
                STATUS	current
                DESCRIPTION
                        "The IP Address of the IP FDB entry"
                ::= { extremeFdbIpFdbEntry 2 }

          extremeFdbIpFdbMacAddress OBJECT-TYPE
              SYNTAX  MacAddress
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The MAC address corresponding to the IP Address."
              ::= { extremeFdbIpFdbEntry 3 }

        extremeFdbIpFdbVlanIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The ifIndex of the Vlan on which this ip is learned"
              ::= { extremeFdbIpFdbEntry 4 }

          extremeFdbIpFdbPortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "The IfIndex of the port on which this entry was learned"
              ::= { extremeFdbIpFdbEntry 5 }

	  extremeFdbPermFdbTable	OBJECT-TYPE
		SYNTAX          	SEQUENCE OF ExtremeFdbPermFdbEntry
		MAX-ACCESS		not-accessible
		STATUS			current
		DESCRIPTION
		"This table contains information on the secure-mac permanent FDB entries.
                It may later be extended to display other types of permanent FDB entries."

		::= { extremeFdb 3 }
	  
	  extremeFdbPermFdbEntry	OBJECT-TYPE
		SYNTAX			ExtremeFdbPermFdbEntry
		MAX-ACCESS		not-accessible
		STATUS          	current
		DESCRIPTION
		"An entry in the table of secure-mac permanent FDB information."

		INDEX { extremeFdbPermFdbFilterNum, 
                extremeFdbPermFdbMacAddress, extremeFdbPermFdbVlanId }
		::= { extremeFdbPermFdbTable 1 }

          ExtremeFdbPermFdbEntry ::= SEQUENCE {
                extremeFdbPermFdbFilterNum      INTEGER,
		extremeFdbPermFdbMacAddress	MacAddress,
	  	extremeFdbPermFdbVlanId		INTEGER,
		extremeFdbPermFdbPortList      	PortList,
		extremeFdbPermFdbFlags		BITS,
		extremeFdbPermFdbStatus 	RowStatus
              }

        extremeFdbPermFdbFilterNum	OBJECT-TYPE
                SYNTAX			INTEGER
                MAX-ACCESS		read-only
                STATUS        		current
                DESCRIPTION
                      "This object always returns 1. In future, it may be used to 
                      provide additional capability."
                ::= { extremeFdbPermFdbEntry 1 }


        extremeFdbPermFdbMacAddress	OBJECT-TYPE
                SYNTAX			MacAddress
                MAX-ACCESS		read-only
                STATUS        		current
                DESCRIPTION
                      "The is the MAC Address to which this FDB entry pertains."
                ::= { extremeFdbPermFdbEntry 2 }

        extremeFdbPermFdbVlanId		OBJECT-TYPE
              SYNTAX			INTEGER
              MAX-ACCESS		read-only
              STATUS            	current
              DESCRIPTION
                      "The VLAN ID of the VLAN to which this FDB entry pertains."
              ::= { extremeFdbPermFdbEntry 3 }

        extremeFdbPermFdbPortList	OBJECT-TYPE
              SYNTAX			PortList
              MAX-ACCESS		read-create
              STATUS			current
              DESCRIPTION
                      "This is the list of port(s) on which the given MAC Address is configured
                      Note that this port list is constructed assuming there are as many ports 
                      per slot as given in the object extremeChassisPortsPerSlot. 
                      Thus, if extremeChassisPortsPerSlot is 128, then the 129th bit in the port 
                      list (reading left to right) indicates port 2:1. Similarly, the 256th bit 
                      would indicate port 2:128 while the 257th bit would indicate port 3:1. Note 
                      especially that the bit positions in port list do not depend on the actual 
                      physical presence or absence of the given ports on the blade or of any 
                      blade itself."
                      
              ::= { extremeFdbPermFdbEntry 4 }


       extremeFdbPermFdbFlags		OBJECT-TYPE
            SYNTAX  BITS {
	                isSecure(0)
	         }                
	                
           MAX-ACCESS			read-create
           STATUS			current
           DESCRIPTION 
	       	"This object contains the flags associated with the FDB entry. The flags 
		are similar to those displayed on the device Command Line Interface. 
		At present, only the isSecure bit i.e. bit 0 will be supported and it will 
                always be ON since only secure-mac entries are configurable and displayed 
                in this table."
	    ::= { extremeFdbPermFdbEntry 5 }

       extremeFdbPermFdbStatus		OBJECT-TYPE
              SYNTAX			RowStatus                      
              MAX-ACCESS		read-create
              STATUS			current
              DESCRIPTION
                      "The status of this entry as per standard RowStatus conventions. 
                      Note however, that createAndWait and notInService states are not 
                      supported."

              ::= { extremeFdbPermFdbEntry 6 }


        extremeFdbMacFdbCounterTable    OBJECT-TYPE
              SYNTAX    SEQUENCE OF ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS  not-accessible
              STATUS current
              DESCRIPTION
                  "A table that contains change counters for the Operational FDB.  
                   Each entry in the table corresponds to an individual port.  Whenever
                   a change occurs to the operational FDB (MAC learned, aged out or
                   removed), the counter associated with the port is incremented by one.
             
                   The counters are reset at agent startup and when the port is down.  
                   They are not cleared when the port is enabled or disabled."

              ::= { extremeFdb 5 }

        extremeFdbMacFdbCounterEntry    OBJECT-TYPE
              SYNTAX    ExtremeFdbMacFdbCounterEntry
              MAX-ACCESS    not-accessible
              STATUS    current
              DESCRIPTION
                   "An entry in the table of MAC FDB change counters."
              INDEX { extremeFdbMacFdbCounterPortIfIndex }
              ::= {extremeFdbMacFdbCounterTable 1}

        ExtremeFdbMacFdbCounterEntry ::= SEQUENCE {
              extremeFdbMacFdbCounterPortIfIndex     INTEGER,
              extremeFdbMacFdbCounterValue           Counter64
        }

        extremeFdbMacFdbCounterPortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "The ifIndex of the Port for which the counte applies."
              ::= { extremeFdbMacFdbCounterEntry 1 }

        extremeFdbMacFdbCounterValue OBJECT-TYPE
              SYNTAX  Counter64
              MAX-ACCESS read-only 
              STATUS  current
              DESCRIPTION
                      "The count of the number of FDB changes for the given port
                       since the counter was last reset."
              ::= { extremeFdbMacFdbCounterEntry 2 }

END
