ENTERASYS-IETF-BRIDGE-MIB-EXT-MIB DEFINITIONS ::= BEGIN

--  enterasys-ietf-bridge-mib-ext-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys 
--  Networks' IETF BRIDGE-MIB extension MIB.

--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in 
--  connection with the management of Enterasys Networks products.

--  Copyright 2002-2007 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Unsigned32
        FROM SNMPv2-SMI
    TruthValue
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    dot1dStpPort, dot1dStpPortEntry, dot1dStpDesignatedRoot,
    dot1dBasePort, dot1dBasePortEntry, dot1dBasePortIfIndex,
    dot1dBaseBridgeAddress
        FROM BRIDGE-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    dot1qTpFdbPort
        FROM Q-BRIDGE-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysIetfBridgeMibExtMIB MODULE-IDENTITY
    LAST-UPDATED "200707311819Z"  -- Tue Jul 31 18:19 UTC 2007
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"

    DESCRIPTION
        "This MIB module defines a portion of the SNMP enterprise
         MIBs under Enterasys Networks' enterprise OID pertaining to 
         proprietary extensions to the IETF BRIDGE-MIB as specified
         in RFC1493."

    REVISION    "200707311819Z"  -- Tue Jul 31 18:19 UTC 2007
    DESCRIPTION
        "Added IMPORT of Unsigned32."

    REVISION    "200703212102Z"  -- Wed Mar 21 21:02 GMT 2007
    DESCRIPTION
        "Added an additional scalar: 
         etsysIetfBridgeDot1qStaticUcastAsMcast, which is intended to 
         modify the behavior of the filter-database lookup, specifically
         how static multicast entries in the database may be matched."

    REVISION "200611091637Z"  -- Thu Nov  9 16:37 GMT 2006
    DESCRIPTION
        "Added a 'link partner capable' object for the Loop
         Protect feature.  Recast the 'CIST error conditions'
         object as the 'CIST non-forwarding reason' object.
         Specified suitable default values for all Loop
         Protect configuration objects."

    REVISION "200610041951Z"  -- Wed Oct  4 19:51 GMT 2006
    DESCRIPTION
        "Addition of objects for configuring the Loop Protect
         feature on the CIST, and an object for summarizing
         Spanning Tree error conditions on the CIST."

    REVISION "200411041447Z"  -- Thu Nov  4 14:47 GMT 2004
    DESCRIPTION
        "Addition of a moved address notification, an object
         to globally enable/disable this notification, and a 
         port level control for this notification."

    REVISION "200405281508Z"  -- Fri May 28 15:08 GMT 2004
    DESCRIPTION
        "Changed the etsysIetfBridgeDot1dStpNewRootTrapEnable object
         syntax to EnabledStatus and removed the reference to
         edgePortDisabled(3) from the description clause."

    REVISION "200404082004Z"  -- Thu Apr  8 20:04 GMT 2004
    DESCRIPTION
        "Changed the description clause for the 
         etsysIetfBridgeDot1dStpBackupRootEnable object to limit its
         effect to the Common and Internal Spanning Tree."

    REVISION "200403041939Z"  -- Thu Mar  4 19:39 GMT 2004
    DESCRIPTION
        "Addition of the etsysIetfBridgeDot1dStpPortCistRoleValue
         object."

    REVISION "200403012229Z"  -- Mon Mar  1 22:29 GMT 2004
    DESCRIPTION
        "Addition of objects for the SpanGuard and Backup Root
         features, and an object for legacy bridge priorities."

    REVISION "200311141831Z"  -- Fri Nov 14 18:31 GMT 2003
    DESCRIPTION
        "Addition of a port level control for the new learned address
         notification and modifications to the descriptions for the
         associated objects."

    REVISION "200306191936Z"  -- Thu Jun 19 19:36 GMT 2003
    DESCRIPTION
        "Addition of a new address notification and an object to 
         enable/disable this notification."

    REVISION "200212132120Z"  -- Fri Dec 13 21:20 GMT 2002
    DESCRIPTION
        "The initial version of this MIB module"

    ::= { etsysModules 31 } 

etsysIetfBridgeMibExt
    OBJECT IDENTIFIER ::= { etsysIetfBridgeMibExtMIB 1 }


-- ---------------------------------------------------------- --
-- branches in the ENTERASYS-IETF-BRIDGE-MIB-EXT-MIB
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStp           OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 1 }

etsysIetfBridgeDot1dBase          OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 2 }

etsysIetfBridgeDot1qBase          OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 3 }

etsysIetfBridgeDot1dSpanGuard     OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 4 }

etsysIetfBridgeDot1dBackupRoot    OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 5 }

etsysIetfBridgeDot1dLoopProtect   OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 6 }

etsysIetfBridgeDot1Notifications  OBJECT IDENTIFIER
                                     ::= { etsysIetfBridgeMibExt 0 }


-- ---------------------------------------------------------- --
-- Extensions to the Spanning Tree Port Table
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStpPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysIetfBridgeDot1dStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Extensions to the table that contains port-specific
         information for the Spanning Tree Protocol."
    ::= { etsysIetfBridgeDot1dStp 1 }

etsysIetfBridgeDot1dStpPortEntry OBJECT-TYPE
    SYNTAX      EtsysIetfBridgeDot1dStpPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of extensions to the information maintained
         by every port about the Spanning Tree Protocol state
         for that port."
    AUGMENTS { dot1dStpPortEntry }
    ::= { etsysIetfBridgeDot1dStpPortTable 1 }

EtsysIetfBridgeDot1dStpPortEntry ::=
    SEQUENCE { 
        etsysIetfBridgeDot1dStpPortStpEnable                EnabledStatus,
        etsysIetfBridgeDot1dStpPortSpanGuardBlocking        TruthValue,
        etsysIetfBridgeDot1dStpPortCistRoleValue            INTEGER,
        etsysIetfBridgeDot1dStpPortCistNonForwardingReason  INTEGER
    }

etsysIetfBridgeDot1dStpPortStpEnable   OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Spanning Tree
         protocol on the port."
    REFERENCE
        "IEEE 802.1D-1990: Section 4.5.5.2"
    DEFVAL { enabled }
    ::= { etsysIetfBridgeDot1dStpPortEntry 1 }

etsysIetfBridgeDot1dStpPortSpanGuardBlocking   OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The state of the port with respect to the SpanGuard feature.

         true(1)   - this port is being held in the blocking state by
                     the SpanGuard feature.

         false(2)  - this port is not being held in the blocking state
                     by the SpanGuard feature.

         When this object has a value of true(1) setting its value
         to false(2) will cause the SpanGuard feature to no longer
         hold the port in the blocking state.

         All other set operations on this object are undefined and
         MUST NOT have any affect."
    DEFVAL { false }
    ::= { etsysIetfBridgeDot1dStpPortEntry 2 }

etsysIetfBridgeDot1dStpPortCistRoleValue OBJECT-TYPE
    SYNTAX      INTEGER {
                         disabled(1), 
                         root(2),
                         designated(3),
                         alternate(4),
                         backUp(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "Indicates this port's role on the CIST.

       disabled   -- this port has no role on the CIST. 

       root       -- this port has the role of root port on the CIST. 

       designated -- this port has the role of designated 
                     port on the CIST.

       alternate  -- this port has the role of alternate port
                     on the CIST.

       backUp     -- this port has the role of backup port on the CIST."
    ::= { etsysIetfBridgeDot1dStpPortEntry 3 }

etsysIetfBridgeDot1dStpPortCistNonForwardingReason OBJECT-TYPE
    SYNTAX      INTEGER {
                    none(1),
                    disputed(2),
                    spanGuardLocked(3),
                    loopProtectEvent(4),
                    loopProtectAdvisory(5),
                    loopbackDetected(6)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the reason why this port has been placed in a
         non-forwarding state on the CIST (other than as a result
         of normal Spanning Tree protocol operation).

         none(1) - the port has not been placed in a non-forwarding
                   state due to any exceptional condition.

         disputed(2) - the port has been placed in listening state
                       because it has a designated role and an 
                       inferior designated BPDU has been received.

         spanGuardLocked(3) - the port has been placed in blocking
                              state because it is configured as an
                              admin edge port and a BPDU has been
                              received.

         loopProtectEvent(4) - the port has been placed in listening
                               or blocking state because a BPDU
                               timeout has occurred and the port is
                               awaiting reception of a type 2 BPDU
                               on a point-to-point link.

         loopProtectAdvisory(5) - the port has been placed in
                                  listening state because a BPDU
                                  timeout has occurred (as with a
                                  Loop Protect event), but this
                                  condition may be normal because
                                  the link partner does not support
                                  the Loop Protect feature.

         loopbackDetected(6) - the port has been placed in blocking
                               state because a loopback condition
                               has been detected."
    ::= { etsysIetfBridgeDot1dStpPortEntry 4 }


-- ---------------------------------------------------------- --
-- Extensions to the dot1dStp group
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStpTopChangeTrapEnable OBJECT-TYPE
    SYNTAX      INTEGER {
                  enabled(1),
                  disabled(2),
                  edgePortDisabled(3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Spanning Tree topology
         change notification.

         When this object is set to enabled(1) topology change
         notifications SHOULD be generated by the agent.

         When this object is set to disabled(2) topology change
         notifications MUST NOT be generated by the agent.

         When this object is set to edgePortDisabled(3) topology
         change notifications MUST NOT be generated by the agent
         for ports that are operating as edge ports, as specified
         by dot1dStpPortOperEdgePort, and SHOULD be generated for
         all other applicable ports."
    DEFVAL { enabled }
    ::= { etsysIetfBridgeDot1dStp 2 }

etsysIetfBridgeDot1dStpNewRootTrapEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Spanning Tree new
         root notification.

         When this object is set to enabled(1) new root
         notifications SHOULD be generated by the agent.

         When this object is set to disabled(2) new root
         notifications MUST NOT be generated by the agent."
    DEFVAL { enabled }
    ::= { etsysIetfBridgeDot1dStp 3 }

etsysIetfBridgeDot1dStpBridgePriorityDefault OBJECT-TYPE
    SYNTAX      INTEGER {
                    stp8021d1998(1),
                    stp8021t2001(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The version of the Spanning Tree default Bridge Priority
         that is to be used by this Bridge.

         stp8021d1998(1) - indicates the use of Bridge Priority
                           as defined in IEEE Std. 802.1D-1998.

         stp8021t2001(2) - indicates the use of Bridge Priority
                           as defined in IEEE Std. 802.1t."
    REFERENCE
        "IEEE 802.1D-1998 & IEEE 802.1t"
    ::= { etsysIetfBridgeDot1dStp 4 }


-- ---------------------------------------------------------- --
-- Proprietary SpanGuard Feature
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStpSpanGuardEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the SpanGuard functionality."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dSpanGuard 1 }

etsysIetfBridgeDot1dStpSpanGuardTrapEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the SpanGuard Port Blocking
         trap."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dSpanGuard 2 }

etsysIetfBridgeDot1dStpSpanGuardBlockTime OBJECT-TYPE
    SYNTAX      Integer32 (0|1..65535)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of seconds that a port will be held in the
         blocking state by the SpanGuard feature.  The value
         zero indicates that ports will be held in the blocking
         state until the entity is reset.  Ports that are being
         held in the blocking state can be returned to normal
         service by writing the value of false(2) to their
         respective etsysIetfBridgeDot1dBasePortSpanGuardBlocking
         objects."
    DEFVAL { 0 }
    ::= { etsysIetfBridgeDot1dSpanGuard 3 }


-- ---------------------------------------------------------- --
-- Proprietary Backup Root Feature
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStpBackupRootEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Backup Root functionality
         on the Common and Internal Spanning Tree."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dBackupRoot 1 }

etsysIetfBridgeDot1dStpBackupRootTrapEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Backup Root activation
         trap."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dBackupRoot 2 }


-- ---------------------------------------------------------- --
-- Proprietary Loop Protect Feature
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dStpLoopProtectPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysIetfBridgeDot1dStpLoopProtectPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of port based information for the Loop Protect
         feature."
    ::= { etsysIetfBridgeDot1dLoopProtect 1 }

etsysIetfBridgeDot1dStpLoopProtectPortEntry OBJECT-TYPE
    SYNTAX      EtsysIetfBridgeDot1dStpLoopProtectPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The per port information for the Loop Protect feature."
    AUGMENTS { dot1dStpPortEntry }
    ::= { etsysIetfBridgeDot1dStpLoopProtectPortTable 1 }

EtsysIetfBridgeDot1dStpLoopProtectPortEntry ::=
    SEQUENCE { 
        etsysIetfBridgeDot1dStpLoopProtectPortCistEnable     EnabledStatus,
        etsysIetfBridgeDot1dStpLoopProtectPortCistBlocking   TruthValue,
        etsysIetfBridgeDot1dStpLoopProtectPortPartnerCapable TruthValue
    }

etsysIetfBridgeDot1dStpLoopProtectPortCistEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of the Loop Protect
         feature for this port on the Common and Internal
         Spanning Tree (CIST)."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dStpLoopProtectPortEntry 1 }

etsysIetfBridgeDot1dStpLoopProtectPortCistBlocking OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The state of the port on the CIST with respect to
         the Loop Protect feature.

         true(1)   - this port is being held in the blocking state
                     by the Loop Protect feature.

         false(2)  - this port is not being held in the blocking 
                     state by the Loop Protect feature.

         When this object has a value of true(1) setting its value
         to false(2) will cause the Loop Protect feature to no longer
         hold the port in the blocking state.

         All other set operations on this object are undefined and
         MUST NOT have any effect."
    DEFVAL { false }
    ::= { etsysIetfBridgeDot1dStpLoopProtectPortEntry 2 }

etsysIetfBridgeDot1dStpLoopProtectPortPartnerCapable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The capability of the port's link partner with respect to
         the Loop Protect feature.

         true(1)   - the partner supports the Loop Protect feature.

         false(2)  - the partner does not support the Loop Protect
                     feature.

         When this object has a value of true(1) the full functionality
         of the Loop Protect feature will be utilized on the port.
         When this object has a value of false(2) limited Loop Protect
         functionality will be utilized on the port."
    DEFVAL { false }
    ::= { etsysIetfBridgeDot1dStpLoopProtectPortEntry 3 }

etsysIetfBridgeDot1dStpLoopProtectEventThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of Loop Protect events that must occur on a
         given port on a given Spanning Tree instance within the
         interval defined by etsysIetfBridgeDot1dLoopProtectEventWindow
         for the port to become locked (i.e., held indefinitely in
         the blocking state).  If this object is set to zero
         no locking will be performed."
    DEFVAL { 3 }
    ::= { etsysIetfBridgeDot1dLoopProtect 2 }

etsysIetfBridgeDot1dStpLoopProtectEventWindow OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This time value, measured in units of seconds, specifies
         the length of the interval during which Loop Protect events
         are counted for a given port on a given Spanning Tree
         instance."
    DEFVAL { 180 }
    ::= { etsysIetfBridgeDot1dLoopProtect 3 }

etsysIetfBridgeDot1dStpLoopProtectEventTrapEnable OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The enabled/disabled status of Loop Protect event
         notification."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dLoopProtect 4 }


-- ---------------------------------------------------------- --
-- Extensions to the dot1dBasePortTable 
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1dBasePortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysIetfBridgeDot1dBasePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of port based controls.  Augments the
         dot1dBasePortTable."
    ::= { etsysIetfBridgeDot1dBase 1 }

etsysIetfBridgeDot1dBasePortEntry OBJECT-TYPE
    SYNTAX      EtsysIetfBridgeDot1dBasePortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The per port controls for an individual bridge port."
    AUGMENTS { dot1dBasePortEntry }
    ::= { etsysIetfBridgeDot1dBasePortTable 1 }

EtsysIetfBridgeDot1dBasePortEntry ::=
    SEQUENCE { 
        etsysIetfBridgeDot1dBasePortNewLearnedAddrTrap    EnabledStatus,
        etsysIetfBridgeDot1dBasePortMovedAddrTrap         EnabledStatus
    }

etsysIetfBridgeDot1dBasePortNewLearnedAddrTrap   OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of the new learned address notification feature on
         this port.

         When etsysIetfBridgeDot1qNewLearnedAddrTrapEnable and this
         object are both set to enabled the agent will generate
         an etsysIetfBridgeDot1qFdbNewLearnedAddr notification for each
         new entry in the dot1qTpFdbTable with a dot1qTpFdbStatus value
         equal to learned(3) and a dot1qTpFdbPort value equal to this
         row's dot1dBasePort value.

         Setting this object to disabled will prevent the agent from
         generating etsysIetfBridgeDot1qFdbNewLearnedAddr notifications
         for this port.

         If etsysIetfBridgeDot1qNewLearnedAddrTrapEnable is set to
         disabled, setting this object to enabled will have no effect.

         Notification generation is not required to match new address 
         rate of learning. A best effort delivery queue is acceptable." 
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dBasePortEntry 1 }

etsysIetfBridgeDot1dBasePortMovedAddrTrap   OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The status of the moved address notification feature on
         this port.

         When etsysIetfBridgeDot1qMovedAddrTrapEnable and this
         object are both set to enabled the agent will generate
         an etsysIetfBridgeDot1qFdbMovedAddr notification for 
         each entry in the dot1qTpFdbTable that has a dot1qTpFdbStatus 
         value equal to learned(3) and a dot1qTpFdbPort value equal to 
         this row's dot1dBasePort value when it is detected that the 
         corresponding dot1qTpFdbAddress has moved to this row's 
         dot1dBasePort from another port. 

         Setting this object to disabled will prevent the agent from
         generating etsysIetfBridgeDot1qFdbMovedAddr notifications
         for this port.

         If etsysIetfBridgeDot1qMovedAddrTrapEnable is set to
         disabled, setting this object to enabled will have no effect.

         Notification generation is not required to match the 
         dot1qTpFdbTable entry modification rate. A best effort 
         delivery queue is acceptable." 
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1dBasePortEntry 2 }


-- ---------------------------------------------------------- --
-- Extensions to the Generic Bridge Group
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1qNewLearnedAddrTrapEnable   OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The global status of the new learned address notification
         feature.

         When this object is set to enabled(1), the agent will generate
         etsysIetfBridgeDot1qFdbNewLearnedAddr notifications for each
         new address learned on ports that have their corresponding
         etsysIetfBridgeDot1dBasePortNewLearnedAddrTrap object set to
         enabled(1).

         If etsysIetfBridgeDot1dBasePortNewLearnedAddrTrap is set
         to disabled(2) for all ports then setting this object to
         enabled(1) will not have any effect.

         When this object is set to disabled(1), the agent will not
         generate any etsysIetfBridgeDot1qFdbNewLearnedAddr
         notifications."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1qBase 1 }

etsysIetfBridgeDot1qMovedAddrTrapEnable   OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The global status of the moved address notification
         feature.

         When this object is set to enabled(1), the agent will 
         generate etsysIetfBridgeDot1qFdbMovedAddr notifications 
         for each moved address on ports that have their corresponding
         etsysIetfBridgeDot1dBasePortMovedAddrTrap object set to
         enabled(1).

         If etsysIetfBridgeDot1dBasePortMovedAddrTrap is set
         to disabled(2) for all ports then setting this object to
         enabled(1) will not have any effect.

         When this object is set to disabled(1), the agent will not
         generate any etsysIetfBridgeDot1qFdbMovedAddr
         notifications."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7."
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1qBase 2 }

etsysIetfBridgeDot1qStaticUcastAsMcast    OBJECT-TYPE
    SYNTAX      EnabledStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When this object is set to enabled(1), the agent will 
         allow unicast traffic which matches all 48 bits of a static
         and the source VLAN of a multicast entry in the filter-database, 
         except for the multicast-bit (bit 8). This augments the behavior
         defined in the IEEE 802.1Q specification.

         For example, if a static multicast address is configured as
         01-02-03-04-05-06, VLAN 7, frames with a destination MAC address
         of either 01-02-03-04-05-06 or 00-02-03-04-05-06, received on
         VLAN 7, will match this entry."
    REFERENCE
        "IEEE 802.1Q/D11 Section 8.10.1"
    DEFVAL { disabled }
    ::= { etsysIetfBridgeDot1qBase 3 }

-- ---------------------------------------------------------- --
-- Notifications 
-- ---------------------------------------------------------- --

etsysIetfBridgeDot1qFdbNewLearnedAddr NOTIFICATION-TYPE
    OBJECTS     { dot1qTpFdbPort }
    STATUS      current
    DESCRIPTION
        "This notification indicates that a new entry has been created
         in the dot1qTpFdbTable with a dot1qTpFdbStatus value equal to
         learned(3)."
    ::= { etsysIetfBridgeDot1Notifications 1 }
 
etsysIetfBridgeDot1dSpanGuardPortBlocked NOTIFICATION-TYPE
    OBJECTS     { dot1dBasePort, dot1dBasePortIfIndex }
    STATUS      current
    DESCRIPTION
        "This notification indicates that a bridge port has been
         placed in the blocking state by the SpanGuard feature."
    ::= { etsysIetfBridgeDot1Notifications 2 }
 
etsysIetfBridgeDot1dBackupRootActivation NOTIFICATION-TYPE
    OBJECTS     { dot1dBaseBridgeAddress, dot1dStpDesignatedRoot }
    STATUS      current
    DESCRIPTION
        "This notification indicates that the BackupRoot feature
         has activated on this bridge.  When multiple spanning
         trees exist the values of etsysMstpMstId,
         etsysMstpBridgePriority, and etsysMstpDesignatedRoot
         for the applicable spanning tree SHOULD be encoded as
         well."
    ::= { etsysIetfBridgeDot1Notifications 3 }
 
etsysIetfBridgeDot1qFdbMovedAddr NOTIFICATION-TYPE
    OBJECTS     { dot1qTpFdbPort }
    STATUS      current
    DESCRIPTION
        "This notification indicates that a new entry in the 
         dot1qTpFdbTable with a dot1qTpFdbStatus value equal to 
         learned(3) has replaced an entry which had the same 
         dot1qTpFdbAddress but different dot1qTpFdbPort, to
         indicate a dot1qTpFdbAddress has moved from one port
         to another."
    ::= { etsysIetfBridgeDot1Notifications 4 }

etsysIetfBridgeDot1dCistLoopProtectEvent NOTIFICATION-TYPE
    OBJECTS     { dot1dStpPort,
                  etsysIetfBridgeDot1dStpLoopProtectPortCistBlocking }
    STATUS      current
    DESCRIPTION
        "This notification indicates that a Loop Protect event
         has occurred on a bridge port on the CIST."
    ::= { etsysIetfBridgeDot1Notifications 5 }


-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysIetfBridgeConformance
    OBJECT IDENTIFIER ::= { etsysIetfBridgeMibExtMIB 2 }

etsysIetfBridgeGroups
    OBJECT IDENTIFIER ::= { etsysIetfBridgeConformance 1 }

etsysIetfBridgeCompliances
    OBJECT IDENTIFIER ::= { etsysIetfBridgeConformance 2 }


-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysIetfBridgeStpPort OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpPortStpEnable
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to per Port Spanning 
         Tree information."
    ::= { etsysIetfBridgeGroups 1 }

etsysIetfBridgeStpTrap OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpTopChangeTrapEnable,
        etsysIetfBridgeDot1dStpNewRootTrapEnable
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to Spanning Tree
         SNMP Trap control."
    ::= { etsysIetfBridgeGroups 2 }

etsysIetfBridgeBase OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1qNewLearnedAddrTrapEnable,
        etsysIetfBridgeDot1dBasePortNewLearnedAddrTrap
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to bridge 
         configuration information."
    ::= { etsysIetfBridgeGroups 3 }

etsysIetfBridgeDot1qFdbNewAddrNotification NOTIFICATION-GROUP
    NOTIFICATIONS {
        etsysIetfBridgeDot1qFdbNewLearnedAddr
    }
    STATUS      current
    DESCRIPTION
        "The New Learned Address Notification."
    ::= { etsysIetfBridgeGroups 4 }

etsysIetfBridgeDot1dStpBridgePriority OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpBridgePriorityDefault
    }
    STATUS      current
    DESCRIPTION
        "An object for support of legacy bridge priorities."
    ::= { etsysIetfBridgeGroups 5 }

etsysIetfBridgeSpanGuard OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpSpanGuardEnable,
        etsysIetfBridgeDot1dStpSpanGuardBlockTime,
        etsysIetfBridgeDot1dStpSpanGuardTrapEnable,
        etsysIetfBridgeDot1dStpPortSpanGuardBlocking
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to the SpanGuard
         feature."
    ::= { etsysIetfBridgeGroups 6 }

etsysIetfBridgeSpanGuardNotification NOTIFICATION-GROUP
    NOTIFICATIONS {
        etsysIetfBridgeDot1dSpanGuardPortBlocked
    }
    STATUS      current
    DESCRIPTION
        "The SpanGuard Port Blocked Notification."
    ::= { etsysIetfBridgeGroups 7 }

etsysIetfBridgeBackupRoot OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpBackupRootEnable,
        etsysIetfBridgeDot1dStpBackupRootTrapEnable
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to the BackupRoot
         feature."
    ::= { etsysIetfBridgeGroups 8 }

etsysIetfBridgeBackupRootNotification NOTIFICATION-GROUP
    NOTIFICATIONS {
        etsysIetfBridgeDot1dBackupRootActivation
    }
    STATUS      current
    DESCRIPTION
        "The Backup Root Activation Notification."
    ::= { etsysIetfBridgeGroups 9 }

etsysIetfBridgePortCistRoleValue OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpPortCistRoleValue
    }
    STATUS      current
    DESCRIPTION
        "The role of the port with respect to the CIST."
    ::= { etsysIetfBridgeGroups 10 }

etsysIetfBridgeMovedAddr OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1qMovedAddrTrapEnable,
        etsysIetfBridgeDot1dBasePortMovedAddrTrap
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to enabling moved address
         notifications."
    ::= { etsysIetfBridgeGroups 11 }

etsysIetfBridgeDot1qFdbMovedAddrNotification NOTIFICATION-GROUP
    NOTIFICATIONS {
        etsysIetfBridgeDot1qFdbMovedAddr
    }
    STATUS      current
    DESCRIPTION
        "The Moved Address Notification."
    ::= { etsysIetfBridgeGroups 12 }

etsysIetfBridgeLoopProtect OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpLoopProtectPortCistEnable,
        etsysIetfBridgeDot1dStpLoopProtectPortCistBlocking,
        etsysIetfBridgeDot1dStpLoopProtectPortPartnerCapable,
        etsysIetfBridgeDot1dStpLoopProtectEventThreshold,
        etsysIetfBridgeDot1dStpLoopProtectEventWindow,
        etsysIetfBridgeDot1dStpLoopProtectEventTrapEnable
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects relating to the Loop Protect
         feature."
    ::= { etsysIetfBridgeGroups 13 }

etsysIetfBridgeLoopProtectNotification NOTIFICATION-GROUP
    NOTIFICATIONS {
        etsysIetfBridgeDot1dCistLoopProtectEvent
    }
    STATUS      current
    DESCRIPTION
        "The Loop Protect Event Notification for the CIST."
    ::= { etsysIetfBridgeGroups 14 }

etsysIetfBridgeStpCistNonForwardingReason OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1dStpPortCistNonForwardingReason
    }
    STATUS      current
    DESCRIPTION
        "An object that indicates the reason for an exceptional
         non-forwarding condition per port on the CIST."
    ::= { etsysIetfBridgeGroups 15 }

etsysIetfBridgeStaticUcastAsMcast OBJECT-GROUP
    OBJECTS {
        etsysIetfBridgeDot1qStaticUcastAsMcast
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects pertaining to the transmission of
         unicast packets received by the device."
    ::= { etsysIetfBridgeGroups 16 }


-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------

etsysIetfBridgeCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support the
         IETF BRIDGE-MIB Extension MIB."

    MODULE

        GROUP       etsysIetfBridgeStpPort
        DESCRIPTION
            "Support for this group is optional and only applies
             to products that wish to allow the disabling of the
             Spanning Tree protocol on a per port basis."

        GROUP       etsysIetfBridgeStpTrap
        DESCRIPTION
            "Support for this group is optional and only applies
             to products that wish to allow disabling the
             generation of SNMP Traps from Spanning Tree."

        GROUP       etsysIetfBridgeBase
        DESCRIPTION
            "Support for this group is optional and only applies
             to products that wish to allow the enabling of new
             learned address notifications."

        GROUP       etsysIetfBridgeDot1qFdbNewAddrNotification
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the New Address notification feature."

        GROUP       etsysIetfBridgeSpanGuard
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the SpanGuard feature."

        GROUP       etsysIetfBridgeSpanGuardNotification
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the SpanGuard feature."

        GROUP       etsysIetfBridgeBackupRoot
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the Backup Root feature."

        GROUP       etsysIetfBridgeBackupRootNotification
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the Backup Root feature."

        GROUP       etsysIetfBridgeDot1dStpBridgePriority
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support legacy bridge priorities."

        GROUP       etsysIetfBridgePortCistRoleValue
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support rapid or multiple spanning tree."

        GROUP       etsysIetfBridgeMovedAddr
        DESCRIPTION
            "Support for this group is optional and only applies
             to products that wish to allow the enabling of moved
             address notifications."

        GROUP       etsysIetfBridgeDot1qFdbMovedAddrNotification
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the Moved Address notification feature."

        GROUP       etsysIetfBridgeLoopProtect
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the Loop Protect feature."

        GROUP       etsysIetfBridgeLoopProtectNotification
        DESCRIPTION
            "Support for this group is mandatory for entities
             that support the Loop Protect feature."

        GROUP       etsysIetfBridgeStpCistNonForwardingReason
        DESCRIPTION
            "Support for this group is optional and only applies
             to products that wish to provide the reasons for
             exceptional non-forwarding conditions."

    ::= { etsysIetfBridgeCompliances 1 }

etsysIetfBridgeStaticUcastAsMcastCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support
        the ability to transmit unicast frames as multicast frames."

    MODULE
        GROUP       etsysIetfBridgeStaticUcastAsMcast
        DESCRIPTION
           "This group is mandatory for all devices that support the
            ability to transmit unicast frames as if the multicast bit
            was set in the destination MAC address."
    ::= { etsysIetfBridgeCompliances  2 }


END
