DEC-ELAN-MIB DEFINITIONS ::= BEGIN

    IMPORTS
           Counter, Gauge, enterprises, IpAddress
                   FROM RFC1155-SMI
           OBJECT-TYPE
                   FROM RFC-1212
           DisplayString, ifIndex
                   FROM RFC1213-MIB;

--  DEC-MIB { iso org(3) dod(6) internet(1) private (4) enterprises(1) 36 }

    dec             OBJECT IDENTIFIER ::= { enterprises 36 }
    ema             OBJECT IDENTIFIER ::= { dec 2 }
    decMIBextension OBJECT IDENTIFIER ::= { ema 18 }
    elanext         OBJECT IDENTIFIER ::= { decMIBextension 1 }
    efddi           OBJECT IDENTIFIER ::= { elanext 1 }
    esystem         OBJECT IDENTIFIER ::= { elanext 2 }
    einterfaces     OBJECT IDENTIFIER ::= { elanext 3 }
    ebridge         OBJECT IDENTIFIER ::= { elanext 4 }
    eauth           OBJECT IDENTIFIER ::= { elanext 5 }

    --
    -- efddi   - groups in the extended FDDI module
    --
    -- objects in the Digital FDDI implementation over and above
    -- those in the FDDI MIB.

    efddiSMT          OBJECT IDENTIFIER ::= { efddi 1 }
    efddiMAC          OBJECT IDENTIFIER ::= { efddi 2 }
    efddiPORT         OBJECT IDENTIFIER ::= { efddi 3 }
    efddiFDX          OBJECT IDENTIFIER ::= { efddi 4 }

    -- efddiSMTTable  - the extended SMT table
    -- these are objects implemented in Digital implementations over
    -- and above the standard SMT group in the IETF FDDI MIB.

    efddiSMTTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EfddiSMTEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of SMT entries.  The number of entries is given
               by smtNumber, defined in the FDDI MIB."
    ::= { efddiSMT 1 }

    efddiSMTEntry OBJECT-TYPE
        SYNTAX  EfddiSMTEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given SMT link."
        INDEX  { eSMTIndex }
        ::= { efddiSMTTable 1 }

    EfddiSMTEntry ::=
        SEQUENCE {
            eSMTIndex
                INTEGER,
            eSMTStationType
                INTEGER,
            eSMTTracesReceived
                Counter
                 }

    eSMTIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the SMT Index.  The value of this object is
               the same as the snmpFddiSMTIndex, defined in the FDDI MIB,
               for this smt entity."
        ::= { efddiSMTEntry 1 }

    eSMTStationType OBJECT-TYPE
        SYNTAX  INTEGER {
                           sas(1),
                           dac(2),
                           sac(3),
                           nac(4),
                           das(5)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The Station Type Identification."
        ::= { efddiSMTEntry 2 }

    eSMTTracesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of PC Traces received by this station."
        ::= { efddiSMTEntry 3 }


    -- efddiMACTable  - the extended MAC table
    -- these are objects implemented in Digital implementations over
    -- and above the standard MAC group in the IETF FDDI MIB.

    efddiMACTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EfddiMACEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of MAC entries.  The number of entries is given
               by macNumber, defined in the FDDI MIB."
        ::= { efddiMAC 1 }

    efddiMACEntry OBJECT-TYPE
        SYNTAX  EfddiMACEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given MAC entity."
        INDEX  { eMACSMTIndex, eMACIndex }
        ::= { efddiMACTable 1 }

    EfddiMACEntry ::=
        SEQUENCE {
            eMACSMTIndex
                INTEGER,
            eMACIndex
                INTEGER,
            eMACLinkIndex
                INTEGER,
            eMACLinkState
                INTEGER,
            eMACRingPurgerState
                INTEGER,
            eMACRingPurgerEnable
                INTEGER,
            eMACRingPurgeErrors
                Counter,
            eMACFrameStripMode
                INTEGER,
            eMACFCIStripErrors
                Counter,
            eMACRingErrorReason
                INTEGER,
            eMACRingInitializationsInitiated
                Counter,
            eMACRingInitializationsReceived
                Counter,
            eMACRingBeaconingInitiated
                Counter,
            eMACDuplicateAddressTestFailures
                Counter,
            eMACDuplicateTokensDetected
                Counter,
            eMACUpstreamNbrDuplAddressFlag
                INTEGER,
            eMACTracesInitiated
                Counter,
            eMACRestrictedTokenTimeout
                INTEGER,
            eMACFrameStatusErrors
                Counter,
            eMACFrameAlignmentErrors
                Counter,
            eMACTransmitUnderruns
                Counter
                 }

    eMACSMTIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The value of the SMT index associated with this MAC.
               The value of this object is the same as the
               snmpFddiMACSMTIndex, defined in the FDDI MIB, for this
               MAC entity."
        ::= { efddiMACEntry 1 }

    eMACIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the MAC Index.  The value of this object is
               the same as the snmpFddiMACIndex, defined in the FDDI MIB,
               for this MAC entity."
        ::= { efddiMACEntry 2 }

    eMACLinkIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The SMT Resource Index."
        ::= { efddiMACEntry 3 }


    eMACLinkState OBJECT-TYPE
        SYNTAX  INTEGER {
                           offMaint(1),
                           offReady(2),
                           offFaultRecovery(3),
                           onRingInit(4),
                           onRingRun(5),
                           broken(6)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The current state of the link."
        ::= { efddiMACEntry 4 }

    eMACRingPurgerState OBJECT-TYPE
        SYNTAX  INTEGER {
                           purgerOff(1),
                           candidate(2),
                           nonPurger(3),
                           purger(4)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The current Ring Purger state."
        ::= { efddiMACEntry 5 }

    eMACRingPurgerEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "If true, this Link will participate in the Ring Purger
               Election and, if elected, perform the Ring Purger function."
        ::= { efddiMACEntry 6 }

    eMACRingPurgeErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times the MAC PurgeError Event bit was set."
        ::= { efddiMACEntry 7 }

    eMACFrameStripMode OBJECT-TYPE
        SYNTAX  INTEGER {
                           saMatch(1),
                           bridgeStrip(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Method of frame removal used by this station."
        ::= { efddiMACEntry 8 }

    eMACFCIStripErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times a Frame Content Independent Strip
               operation was terminated by receipt of a token."
        ::= { efddiMACEntry 9 }

    eMACRingErrorReason OBJECT-TYPE
        SYNTAX  INTEGER {
                           noReason(1),
                           ringInitInitiated(6),
                           ringInitReceived(7),
                           ringBeaconingInitiated(8),
                           daDetected(9),
                           duplicateTokenDetected(10),
                           ringPurgeError(11),
                           bridgeStripError(12),
                           ringOpOscillation(13),
                           directedBeaconReceived(14),
                           pcTraceInitiated(15),
                           pcTraceReceived(16)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Reason for last ring disturbance."
        ::= { efddiMACEntry 10 }

    eMACRingInitializationsInitiated OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of Ring Claim Processes initiated by this link
               entity."
        ::= { efddiMACEntry 11 }

    eMACRingInitializationsReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of Ring Claim Processes or Ring Beaconing Processes
               initiated by a remote link entity and detected by this link
               entity."
        ::= { efddiMACEntry 12 }

    eMACRingBeaconingInitiated OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of Ring Beacon Processes initiated by this
               link entity."
        ::= { efddiMACEntry 13 }

    eMACDuplicateAddressTestFailures OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times the duplicate address test failed."
        ::= { efddiMACEntry 14 }

    eMACDuplicateTokensDetected OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times this link entity detected a duplicate
               token."
        ::= { efddiMACEntry 15 }

    eMACUpstreamNbrDuplAddressFlag OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2),
                           unknown(3)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The upstream neighbor's duplicate address status, as
               reported by the NIF frame.  Unknown if no NIF frame has
               been received yet."
        ::= { efddiMACEntry 16 }

    eMACTracesInitiated OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of PC Traces initiated by this station."
        ::= { efddiMACEntry 17 }

    eMACRestrictedTokenTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The restricted token timeout, which limits how long a
               single restricted mode dialog may last before being
               terminated."
        ::= { efddiMACEntry 18 }

    eMACFrameStatusErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames received on the line that had the
               E (error detected) indicator set or a missing E indicator."
        ::= { efddiMACEntry 19 }

    eMACFrameAlignmentErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames received on the line that contained
               an odd number of symbols; that is, a non-integral number
               of octets."
        ::= { efddiMACEntry 20 }
    eMACTransmitUnderruns OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times an underrun occured because the
               device's transmit FIFO became empty due to insufficient
               memory.  In other words, the device was trying to
               transmit but could not get into memory fast enough."
        ::= { efddiMACEntry 21 }


    -- efddiPORTTable  - the extended PORT table
    -- these are objects implemented in Digital implementations over
    -- and above the standard PORT group in the IETF FDDI MIB.

    efddiPORTTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EfddiPORTEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of PORT entries.  The number of entries is given
               by portNumber, defined in the FDDI MIB."
        ::= { efddiPORT 1 }

    efddiPORTEntry OBJECT-TYPE
        SYNTAX  EfddiPORTEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given PORT entity."
        INDEX  { ePORTSMTIndex, ePORTIndex }
        ::= { efddiPORTTable 1 }

    EfddiPORTEntry ::=
        SEQUENCE {
            ePORTSMTIndex
                INTEGER,
            ePORTIndex
                INTEGER,
            ePORTPHYIndex
                INTEGER,
            ePORTPMDType
                INTEGER,
            ePORTPHYState
                INTEGER,
            ePORTRejectReason
                INTEGER,
            ePORTConnectionsCompleted
                Counter,
            ePORTTNEExpRejects
                Counter,
            ePORTElasticityBufferErrors
                Counter
                 }

    ePORTSMTIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The value of the SMT index associated with this port.
               The value of this object is the same as the
               snmpFddiPORTSMTIndex, defined in the FDDI MIB, for
               this PORT entity."
        ::= { efddiPORTEntry 1 }

    ePORTIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the PORT Index.  The value of this object is
               the same as the snmpFddiPORTIndex, defined in the FDDI MIB,
               for this PORT entity."
        ::= { efddiPORTEntry 2 }

    ePORTPHYIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The SMT Resource index.  Index of the PHY resource
               used to identify the PHY PORT in ANSI SMT frames."
        ::= { efddiPORTEntry 3 }

    ePORTPMDType OBJECT-TYPE
        SYNTAX  INTEGER {
                           pmdNone(1),
                           pmdMM(2),
                           pmdSM(3),
                           pmdLC(4),
                           pmdTHN(5),
                           pmdSTP(6),
                           pmdUTP(7)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The physical media type of the PORT."
        ::= { efddiPORTEntry 4 }

    ePORTPHYState OBJECT-TYPE
        SYNTAX  INTEGER {
                           offmaintenance(1),
                           broken(2),
                           offready(3),
                           wait(4),
                           starting(5),
                           failed(6),
                           watch(7),
                           inuse(8)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The PHY state."
        ::= { efddiPORTEntry 5 }

    ePORTRejectReason OBJECT-TYPE
        SYNTAX  INTEGER {
                           noReason(1),
                           lctLocal(2),
                           lctRemote(3),
                           lctBoth(4),
                           lemFailure(5),
                           topologyRules(6),
                           tneExpired(7),
                           remoteReject(8),
                           tracesInProgress(9),
                           tracesReceived(10),
                           standby(11),
                           lctProtocol(12)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The current reject reason."
        ::= { efddiPORTEntry 6 }

    ePORTConnectionsCompleted OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of Physical Connections established for this
               PHY PORT."
        ::= { efddiPORTEntry 7 }

    ePORTTNEExpRejects OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times a physical disconnection took place
               because the TNE Noise Timer expired."
        ::= { efddiPORTEntry 8 }

    ePORTElasticityBufferErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of ELM Chip EBUFF_ERROR events."
        ::= { efddiPORTEntry 9 }


    --
    -- FDDI FDX objects
    --
    -- This is part of the MAC object.  However this is an optional group
    -- to be implemented only for FDX links.
    --

    efddiFDXTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EfddiFDXEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of FDX entries."
        ::= { efddiFDX 1 }

    efddiFDXEntry OBJECT-TYPE
        SYNTAX  EfddiFDXEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given FDX MAC entity."
        INDEX  { eFDXSMTIndex, eFDXMACIndex }
        ::= { efddiFDXTable 1 }

    EfddiFDXEntry ::=
        SEQUENCE {
            eFDXSMTIndex
                INTEGER,
            eFDXMACIndex
                INTEGER,
            eFDXEnable
                INTEGER,
            eFDXOp
                INTEGER,
            eFDXState
                INTEGER
                 }

    eFDXSMTIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The value of the SMT index associated with this FDX MAC."
        ::= { efddiFDXEntry 1 }

    eFDXMACIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The value of the MAC index associated with this FDX MAC."
        ::= { efddiFDXEntry 2 }

    eFDXEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                          true(1),
                          false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "When true, this link will participate in the full duplex
               auto-configuration and, if this is successful, will
               operate in the full duplex mode."
        ::= { efddiFDXEntry 3 }

    eFDXOp OBJECT-TYPE
        SYNTAX  INTEGER {
                          true(1),
                          false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "When true, this link is operating in the full duplex mode."
        ::= { efddiFDXEntry 4 }

    eFDXState OBJECT-TYPE
        SYNTAX  INTEGER {
                          fdxIdle(1),
                          fdxRequest(2),
                          fdxConfirm(3),
                          fdxOperation(4)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The state of the full duplex Control process."
        ::= { efddiFDXEntry 5 }

    --
    -- esystem   - groups in the extended system module
    --
    -- these are system objects implemented in Digital bridges and
    -- concentrators manageable by ELMS.
    --

    esysChar       OBJECT IDENTIFIER ::= { esystem 1 }
    esysStatus     OBJECT IDENTIFIER ::= { esystem 2 }
    esysCounters   OBJECT IDENTIFIER ::= { esystem 3 }
    esysConcConfig OBJECT IDENTIFIER ::= { esystem 4 }
    

    -- esysChar  - the system Characteristics group
    -- this group consists of information about the device's hardware
    -- and firmware.  It also displays information about hardware and
    -- software switches that contrrol device operation.

    esysRomVersion OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The version number of the software stored in ROM."
        ::= { esysChar 1 }
    
    esysInitSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           reset(2),
                           resetWithDefaults(3)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This object allows the management action of initializing
               a device and forcing it to run selftest.  It can also be
               used to reset all information added to the device's NVRAM.
               When read, it returns a value of other(1)."
        ::= { esysChar 2 }

    esysResetDefaultsSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This object is the state of a hardware switch which,
               when true, causes the device to reset its parameters
               to the factory defaults when initialized."
        ::= { esysChar 3 }

    esysGatewayAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This object allows the setting of a default gateway
               address for this device."
        ::= { esysChar 4 }

    
    esysTrapAddressTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EsysTrapEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A table of IP Addresses to which this device will send
               traps."
        ::= { esysChar 5 }
    
    esysTrapEntry OBJECT-TYPE
        SYNTAX  EsysTrapEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Each entry contains an IP Address to which all SNMP Traps
               will be sent by this device."
        INDEX   { esysTrapAddress }
        ::= { esysTrapAddressTable 1 }
    
    EsysTrapEntry ::=
        SEQUENCE {
            esysTrapAddress
                IpAddress
                 }
               
    esysTrapAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "An IP Address to which all SNMP traps generated by this
               device will be sent."
        ::= { esysTrapEntry 1 }

    esysUpdateSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A software switch that, when set to true, instructs the
               device to accept a down-line loaded firmware upgrade.
               If false, the device will not accept upgrades."
        ::= { esysChar 6 }
    
    esysLastLoadHost OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The physical address of the last host, if any, that
               responded to the device's request for a downline load
               of software."
        ::= { esysChar 7 }
    

    -- esysStatus  - the system Status group
    -- this group consists of operational status of the device.

    esysDeviceState OBJECT-TYPE
        SYNTAX  INTEGER {
                           init(1),
                           operate(2),
                           broken(3)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The operational state of the device."
        ::= { esysStatus 1 }

    esysDeviceBrokenReason OBJECT-TYPE
        SYNTAX  INTEGER {
                           none(1),
                           selftestFail(2),
                           onlineDiagFail(3),
                           firmwareFail(4)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The reason that the Device State is BROKEN.  If current
               state is not BROKEN and the Unsolicited Resets counter is
               nonzero, this object show reason for last failure."
        ::= { esysStatus 2 }

    esysNvramFailed OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A flag, that, when set to True, indicates that the
               NVRAM failed selftest following the last initialization
               of the device."
        ::= { esysStatus 3 }


    -- esysCounters  - the system Counter group
    -- this group consists of counters that measure operational
    -- events and errors.

    esysPowerups OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times this device was powered on.
               Power Ups, Management Resets and Unsolicited Resets
               are all mutually exclusive."
        ::= { esysCounters 1 }
    esysMgmtResets OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of times the device was initialized with a
               management command using esysInitSwitch.  Power Ups,
               Management Resets and Unsolicited Resets are all mutually
               exclusive."
        ::= { esysCounters 2 }

    esysUnsolicitedResets OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of times the device initialized itself after
               encountering a fatal error.  Power Ups, Management Resets
               and Unsolicited Resets are all mutually exclusive."
        ::= { esysCounters 3 }


    --
    -- esysConcConfig   - Optional group, applicable only to
    --                    FDDI Concentrator
    --
    -- this group consists of a FRU (Field Replaceable Unit) Configuration
    -- Table applicable to the FDDI concentrator, and a switch to enable
    -- or disable port up/down traps.
    --

    esysFRUConfigTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EsysFRUConfigEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of configuration table entries."
        ::= { esysConcConfig 1 }

    esysFRUConfigEntry OBJECT-TYPE
        SYNTAX  EsysFRUConfigEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given configuration entry."
        INDEX  { esysFRUIndex }
        ::= { esysFRUConfigTable 1 }

    EsysFRUConfigEntry ::=
        SEQUENCE {
            esysFRUIndex
                INTEGER,
            esysFRUSlot
                INTEGER,
            esysFRUDesc
                DisplayString,
            esysFRUType
                INTEGER,
            esysFRURev
                INTEGER,
            esysFRUState
                INTEGER
                 }

    esysFRUIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This object is used for indexing the FRU configuration
               table."
        ::= { esysFRUConfigEntry 1 }

    esysFRUSlot OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The physical slot number in which the module resides, if
               applicable.  If not applicable, this is reported as '0'."
        ::= { esysFRUConfigEntry 2 }

    esysFRUDesc OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A textual description of this FRU."
        ::= { esysFRUConfigEntry 3 }
    esysFRUType OBJECT-TYPE
        SYNTAX  INTEGER {
                           empty(1),
                           ansiMgmtCard(2),
                           ansiPortCard4line(3),
                           fan(4),
                           apCard(5),
                           niCard(6),
                           fddiCard(7),
                           controllerBackplane(8),
                           qmCard(9),
                           lowPowerPortCard4line(10),
                           singleModeAnsiPortCard4line(11),
                           thinwirePortCard6line(12),
                           lowPowerPortCard6line(13),
                           stpCopperPortCard6line(14),
                           singleModeMgmtCard(15),
                           ansi-SingleModeMgmtCard(16),
                           singleMode-ANSIMgmtCard(17),
                           upgradeApCard(19),
                           threeNiCard(20),
                           dasAnsiFddiCard(21),
                           dasAnsiASingleModeBfiCard(22),
                           dasSingleModeAAnsiBfiCard(23),
                           dasSingleModeFddiCard(24),
                           sasSingleModeFddiCard(25),
                           opticalBypass(26),
                           obmUartCard(27),
                           ansiPortCard6line(29)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Integer representation for the FRU type.  This is the
               machine-readable form of the descriptor object."
        ::= { esysFRUConfigEntry 4 }

    esysFRURev OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This object represents the FRU revision number."
        ::= { esysFRUConfigEntry 5 }
    esysFRUState OBJECT-TYPE
        SYNTAX  INTEGER {
                           empty(1),       -- no FRU present in this slot
                           working(2),     -- FRU is working
                           marginal(3),    -- FRU is marginal
                           broken(4),      -- FRU is broken
                           obrNotSupported(5) -- only for optical bypass card
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The operational state of the FRU, if present."
        ::= { esysFRUConfigEntry 6 }

    esysFddiPortTrapSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This is a switch to enable or diable FDDI port up and port
               down traps.  When set to true, the concentrator will
               send a trap when one of its ports comes up or goes down."
        ::= { esysConcConfig 2 }

    --
    -- eifTable   - groups in the extended interface module
    --
    -- these are interface objects implemented in Digital bridges and
    -- concentrators manageable by ELMS, over and above what is
    -- available via MIB-II.
    --

    eifTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EifEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries.  The number of entries is
               given by ifNumber, defined in MIB-II."
        ::= { einterfaces 1 }

    eifEntry OBJECT-TYPE
        SYNTAX  EifEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { eifIndex }
        ::= { eifTable 1 }

    EifEntry ::=
        SEQUENCE {
            eifIndex
                INTEGER,
            eifBadFramesReceived
                Counter,
            eifReceiveOverrun
                Counter,
            eifOversizeFrames
                Counter,
            eifTransmitFramesError
                Counter,
            eifMgmtSetsAllowedSwitch
                INTEGER
                 }

    eifIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface.  The value of this object is
               the same as the ifIndex, defined in MIB-II, for this
               interface."
        ::= { eifEntry 1 }

    eifBadFramesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of frames received with a bad frame check sequence."
        ::= { eifEntry 2 }

    eifReceiveOverrun OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of times that the device received a frame loss
               indication from the hardware on the interface."
        ::= { eifEntry 3 }

    eifOversizeFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of frames received on the interface that were
               larger than the maximum legal size."
        ::= { eifEntry 4 }

    eifTransmitFramesError OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Number of frames that were transmitted with an error
               on the line."
        ::= { eifEntry 5 }

    eifMgmtSetsAllowedSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This hardware switch, when true, allows write
               access to the device.  This object has meaning only
               when the corresponding functionality is present."
        ::= { eifEntry 6 }                                                                    

    --
    -- ebridge   - groups in the extended bridge module
    --
    -- these are bridge objects implemented in Digital bridges
    -- over and above what is required by the Bridge MIB
    --

    ebrChar             OBJECT IDENTIFIER ::= { ebridge 1 }
    ebrStat             OBJECT IDENTIFIER ::= { ebridge 2 }
    ebrCoun             OBJECT IDENTIFIER ::= { ebridge 3 }
    ebrSpan             OBJECT IDENTIFIER ::= { ebridge 4 }
    ebrInterfaces       OBJECT IDENTIFIER ::= { ebridge 5 }
    ebrTwoPortStatic    OBJECT IDENTIFIER ::= { ebridge 6 }
    ebrMultiPortStatic  OBJECT IDENTIFIER ::= { ebridge 7 }
    ebrTwoProtoFilt     OBJECT IDENTIFIER ::= { ebridge 8 }
    ebrMultiProtoFilt   OBJECT IDENTIFIER ::= { ebridge 9 }
    ebrMultiFiltSw      OBJECT IDENTIFIER ::= { ebridge 10 }
    ebrNTP              OBJECT IDENTIFIER ::= { ebridge 11 }
    ebrRateLimiting     OBJECT IDENTIFIER ::= { ebridge 12 }

    -- ebrChar  - the Bridge Characteristics group
    -- this group consists of information about the bridge's hardware
    -- and firmware.  It also displays information about hardware and
    -- software switches that contrrol device operation.

    ebrLB100SpanningTreeVer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The version number of the Spanning Tree algorithm
               used by the bridge when in the LAN Bridge 100 Spanning
               Tree mode."
        ::= { ebrChar 1 }

    ebr802SpanningTreeVer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The version number of the Spanning Tree algorithm
               used by the bridge when in the 802.1d Spanning Tree mode."
        ::= { ebrChar 2 }

    ebrMaxForwardingDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The maximum number of address entries that the bridge
               can store in its volatile memory."
        ::= { ebrChar 3 }
    
    ebrMaxNVForwardingDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The maximum number of permanent address entries that
               the bridge canstore in its NVRAM."
        ::= { ebrChar 4 }

    ebrMaxProtocolDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The maximum number of protocol entries that the bridge
               can store in its protocol database.  These entries control
               the handling of frames based on their Ethernet PT,
               IEEE 802.2 DSAP or IEEE 802 SNAP Protocol ID."
        ::= { ebrChar 5 }

    ebrMaxNVProtocolDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The maximum number of protocol entries that the bridge
               can store in its nonvolatile memory.  These are retained
               after a power-down."
    ::= { ebrChar 6 }

    ebrForwardingDBPurgeThreshold OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The total number of active and inactive address entries
               that will trigger a purge of the inactive entries."
        ::= { ebrChar 7 }

    ebrPortTestPassedThreshold OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of consecutive successful self-tests needed
               before the bridge considers a line to be operational."
        ::= { ebrChar 8 }

    ebrPortTestInterval OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The interval, in seconds, at which the bridge will run
               selftests on a line that is in the BROKEN state."
        ::= { ebrChar 9 }

    ebrTopologyChangeTimer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds remaining, if this is the Root,
               for which Topology Change will be propagated in Hello
               messages.  Otherwise this value will be reported as 0."
        ::= { ebrChar 10 }

    ebrManualFilterSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that controls address filtering.  When true,
               the bridge purges the learned entries from its forwarding
               database, stops its learning process, and forwards only
               frames with destination and source addresses that have
               been specified via management."
        ::= { ebrChar 11 }
    ebrFragmentationSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that controls whether fragmentation is performed
               by the bridge when a large IP frame is received on a datalink
               that supports a higer frame size than the other datalink."
        ::= { ebrChar 12 }
    
    ebrRemoveMgmtAddress OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           true(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This object allows the action of removing all management
               entered addresses from the forwarding database when
               set to true(2).  When read, it returns a value of other(1)."
        ::= { ebrChar 13 }

    ebrRemoveMgmtProto OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           true(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This object allows the action of removing all management
               entered protocols from the protocol database when set
               to true(2).  When read, it returns a value of other(1)."
        ::= { ebrChar 14 }


    -- ebrStat  - the Bridge Status group
    -- this group consists of operational status of the bridge.
    
    ebrCurrForwardingDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of address entries in the bridge's volatile
               memory.  These will be lost upon loss of power."
        ::= { ebrStat 1 }

    ebrCurrNVForwardingDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of address entries in the bridge's NVRAM.
               These will be retained after loss of power."
        ::= { ebrStat 2 }

    ebrCurrProtocolDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of protocol entries that are stored in the
               bridge's protocol database.  These control the handling
               of frames based on their Ethernet protocol type, IEEE
               802.2 DSAP, or 802 SNAP Protocol ID."
        ::= { ebrStat 3 }

    ebrCurrNVProtocolDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of protocol entries in the bridge's NVRAM.
               These are retained after a power loss."
        ::= { ebrStat 4 }

    ebrMgmtHeardPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The port on which this command was received."
        ::= { ebrStat 5 }

    ebrLB100BeingPolled OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The address of the LAN Bridge 100 mode bridge that sent
               this bridge into the LAN Bridge 100 Spanning Tree mode.
               If this bridge is the Root, this object indicates the
               bridge that will be polled periodically to determine
               if it is still necessary to stay in this Spanning Tree
               mode."
        ::= { ebrStat 6 }

    ebrInactiveForwardingDBEntries OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of inactive address entries in the bridge's
               forwarding database.  The bridge marks an address entry
               inactive when the entry is aged out."
        ::= { ebrStat 7 }

    ebrTimeSinceForwardingDBPurged OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds since the bridge cleared the
               forwarding database of inactive entries."
        ::= { ebrStat 8 }

    ebrTimeSinceLastHello OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds since the bridge last sent a
               Hello message."
        ::= { ebrStat 9 }

    -- ebrCoun  - the Bridge Counters group
    -- this group consists of counters that measure operational
    -- events and errors.
    
    ebrDeviceFramesLost OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames addressed to the bridge itself that
               the bridge discarded because it did not have sufficient
               receive buffers available."
        ::= { ebrCoun 1 }

    ebrSpanningTreeModeChanges OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that the bridge switched from the
               802.1d Spanning Tree mode to the LB100 Spanning Tree mode."
        ::= { ebrCoun 2 }


    -- ebrSpan  - the Bridge Spanning Tree group
    -- this group consists of Spanning Tree characteristics over and
    -- above what is required by the Bridge MIB.

    ebrBestRootAge OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The age, in hundereths of seconds, of the Hello message
               that established the best root."
        ::= { ebrSpan 1 }

    ebrTopologyChangeFlag OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A flag that indicates whether a Topology Change is
               currently in effect on the extended LAN."
        ::= { ebrSpan 2 }

    ebrTellParentFlag OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A flag that indicates if the bridge is attempting to
               propagate a topology change towards the Root."
        ::= { ebrSpan 3 }

    ebrForwardingDBShortAgingTime OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds that the bridge keeps learned
               entries active while a topology change is in effect."
        ::= { ebrSpan 4 }

    ebrBadHelloLimit OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of hello intervals during which the bridge
               receives one or more bad hellos on a line, before the
               bridge performs a test on the link.  A bad Hello message
               is one that contains inferior information that is received
               on a port on which this bridge is Designated."
        ::= { ebrSpan 5 }

    ebrBadHelloResetTimer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of Hello intervals without bad Hellos that
               the bridge will wait before it resets its bad Hello
               count to zero."
        ::= { ebrSpan 6 }

    ebrNoFrameInterval OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The The number of seconds of inactivity on a line that
               will cause the bridge to run a test on that line.  The
               bridge considers a line to be inactive if it does not
               receive any frames on that line."
        ::= { ebrSpan 7 }

    ebrLB100PollTime OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds that a Root bridge in LAN Bridge 100
               mode waits between polling the LAN Bridge 100 that is
               keeping it in this mode.  This polling is done to determine
               whether the LB100 is still present on the extended LAN."
        ::= { ebrSpan 8 }

    ebrLB100ResponseTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The number of seconds that a Root in LAN Bridge 100
               Spanning Tree mode will wait for a response from the
               LAN Bridge 100 which is keeping it in this mode, before
               which it will assume that the LB100 is no longer on
               the extended LAN."
        ::= { ebrSpan 9 }

    ebrLB100SpanningTreeCompat OBJECT-TYPE
        SYNTAX  INTEGER {
                           autoSelect(1),
                           ieee802(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that controls the Spanning Tree mode used by
               the bridge.  If in Auto-Select mode, the bridge will
               go into 802 Spanning Tree mode by default, but will switch
               to LB100 mode as soon as a LB100 is detected.  In 802
               Spanning Tree mode, the bridge will stay in 802 mode."
        ::= { ebrSpan 10 }

    -- ebrIfTable - the extended bridge port table
    -- this group consists of generic port objects for the bridge

    ebrIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrIfEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries.  The number of entries is
               given by ifNumber, defined in MIB-II."
        ::= { ebrInterfaces 1 }

    ebrIfEntry OBJECT-TYPE
        SYNTAX  EbrIfEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { ebrIfIndex }
        ::= { ebrIfTable 1 }

    EbrIfEntry ::=
        SEQUENCE {
            ebrIfIndex
                INTEGER,
            ebrIfLinkBrokenReason
                INTEGER,
            ebrIfPortRestarts
                Counter,
            ebrIfUnknownDAReceived
                Counter,
            ebrIfFramesAddrFiltered
                Counter,
            ebrIfMultiFramesFiltered
                Counter,
            ebrIfFramesProtocolFiltered
                Counter,
            ebrIfDeviceFramesSent
                Counter,
            ebrIfDeviceFramesReceived
                Counter,
            ebrIfDeviceBytesSent
                Counter,
            ebrIfDeviceBytesReceived
                Counter,
            ebrIfDeviceFramesLost
                Counter,
            ebrIfMultiBytesSent
                Counter,
            ebrIfMultiBytesReceived
                Counter,
            ebrIfMultiDeviceFramesSent
                Counter,
            ebrIfMultiDeviceFramesReceived
                Counter,
            ebrIfMultiDeviceBytesSent
                Counter,
            ebrIfMultiDeviceBytesReceived
                Counter,
            ebrIfBadBytesReceived
                Counter,
            ebrIfBadHelloLimitExceeded
                Counter
             }
        
    ebrIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface.  The value of this object is
               the same as the ifIndex, defined in MIB-II, for this
               interface."
        ::= { ebrIfEntry 1 }
    
    ebrIfLinkBrokenReason OBJECT-TYPE
        SYNTAX  INTEGER {
                           noFault(1),
                           possibleInternalFault(2),
                           possibleExternalFault(3)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The reason why the link was last broken.  A possible
               internal fault(1) indicates a problem with the bridge
               line itself, a possible external fault(2), indicates
               a problem with the transmission medium to which the
               line is attached."
        ::= { ebrIfEntry 2 }
    
    ebrIfPortRestarts OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times the bridge restarted the line."
        ::= { ebrIfEntry 3 }
    
    ebrIfUnknownDAReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames received on this line for which the
               bridge had no address entry in its forwarding database."
        ::= { ebrIfEntry 4 }
    
    ebrIfFramesAddrFiltered OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames filtered by the bridge on this
               port because of address entries in the forwarding database."
        ::= { ebrIfEntry 5 }
    
    ebrIfMultiFramesFiltered OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames with multicast destination addresses
               that were received on the line on the line and filtered
               by the bridge."
        ::= { ebrIfEntry 6 }
    
    ebrIfFramesProtocolFiltered OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames received on this line that the
               bridge discarded because of entries set by management
               in the protocol database."
        ::= { ebrIfEntry 7 }
    
    ebrIfDeviceFramesSent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames originating from the bridge itself
               that were transmitted on this line."
        ::= { ebrIfEntry 8 }
    
    ebrIfDeviceFramesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames addressed to the bridge itself
               that were received on this line."
        ::= { ebrIfEntry 9 }
    
    ebrIfDeviceBytesSent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in the frames originating from the
               bridge that were transmitted on this line."
        ::= { ebrIfEntry 10 }
    
    ebrIfDeviceBytesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in the frames addressed to the bridge
               itself that were received on this line."
        ::= { ebrIfEntry 11 }
    
    ebrIfDeviceFramesLost OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames received on the line addressed
               to the bridge itself discarded by the bridge because it
               did not have internal buffers to store them."
        ::= { ebrIfEntry 12 }
    
    ebrIfMultiBytesSent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in Multicast Frames sent, as reported
               in ifOutNUcastPkts, defined in MIB-II."
        ::= { ebrIfEntry 13 }
    
    ebrIfMultiBytesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in Multicast Frames received, as
               reported in ifInNUcastPkts, defined in MIB-II."
        ::= { ebrIfEntry 14 }
    
    ebrIfMultiDeviceFramesSent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames with multicast destination addresses
               transmitted by the bridge itself on the line."
        ::= { ebrIfEntry 15 }
    
    ebrIfMultiDeviceFramesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of frames with multicast destination addresses
               received by the bridge itslef on the line."
        ::= { ebrIfEntry 16 }
    
    ebrIfMultiDeviceBytesSent OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in ebrIfMultiDeviceFramesSent."
        ::= { ebrIfEntry 17 }
    
    ebrIfMultiDeviceBytesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in ebrIfMultiDeviceFramesReceived."
        ::= { ebrIfEntry 18 }
    
    ebrIfBadBytesReceived OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of bytes in frames received that had a bad
               frame check sequence."
        ::= { ebrIfEntry 19 }
    
    ebrIfBadHelloLimitExceeded OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that the Bad Hellos on the line
               exceeded the Bad Hello limit."
        ::= { ebrIfEntry 20 }
    
    
    -- ebrIfEtherTable - the extended bridge Ethernet port table
    -- this optional group consists of Ethernet port objects for the bridge

    ebrIfEtherTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrIfEtherEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries for an Ethernet port."
        ::= { ebrInterfaces 2 }

    ebrIfEtherEntry OBJECT-TYPE
        SYNTAX  EbrIfEtherEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { ebrIfIndex }
        ::= { ebrIfEtherTable 1 }

    EbrIfEtherEntry ::=
        SEQUENCE {
            ebrIfEthIndex
                INTEGER,
            ebrIfEthPhysicalMediumType
                INTEGER,
            ebrIfEthCollisionPresenceTestSwitch
                INTEGER,
            ebrIfEthCollisionTestFailed
                Counter,
            ebrIfEthFramingError
                Counter,
            ebrIfEthLengthError 
                Counter,
            ebrIfEthTransmitMultipleCollisions
                Counter,
            ebrIfEthCarrierLoss 
                Counter,
            ebrIfEthCollisionLimitExceeded
                Counter
                 }

    ebrIfEthIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface.  The value of this object is
               the same as the ifIndex, defined in MIB-II, for this
               interface."
        ::= { ebrIfEtherEntry 1 }
    
    ebrIfEthPhysicalMediumType OBJECT-TYPE
        SYNTAX  INTEGER {
                           stdAUIInterface(1),
                           thinwireInterface(2),
                           ieeeFiberInterRepeaterLink(6),
                           fiberOpticLink850nmNoIdle(7),
                           fiberOpticLink850nmDualIdle(8),
                           dConnAuiIf(9),
                           thinwireInterfaceNoLoop(10),
                           twistedPairInterface(11),
                           fullDuplexFiberOptic1300nm(24)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The type of physical medium to which this line is
               attached."
        ::= { ebrIfEtherEntry 2 }
    
    ebrIfEthCollisionPresenceTestSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that informs the bridge whether the transceiver
               on this line is using the Collision Presence Test (CPT),
               commonly known as heartbeat.  It must be enabled if
               the line's transceiver has CPT."
        ::= { ebrIfEtherEntry 3 }
    
    ebrIfEthCollisionTestFailed OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that a Collision Presence Test (CPT)
               signal was not detected within 4 microseconds after a
               transmission on the line.  This counter is valid only
               if ebrIfEthCollisionPresenceTestSwitch is set to true
               for this line."
        ::= { ebrIfEtherEntry 4 }
    
    ebrIfEthFramingError OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that a frame received on the line
               contained both a noninteger multiple of 8 bits and
               a CRC error."
        ::= { ebrIfEtherEntry 5 }
    
    ebrIfEthLengthError OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of 802.3 frames received that contained a
               Length field inconsistent with the actual number of
               data bytes in the packet."
        ::= { ebrIfEtherEntry 6 }
    
    ebrIfEthTransmitMultipleCollisions OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that the bridge had to retry
               transmission of a frame on the line.  This was
               because of collisions during transmission due to
               congestion on the physical medium."
        ::= { ebrIfEtherEntry 7 }
    
    ebrIfEthCarrierLoss OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that the bridge detected a loss of
               the carrier signal while transmitting a frame on the
               line."
        ::= { ebrIfEtherEntry 8 }
    
    ebrIfEthCollisionLimitExceeded OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that the bridge failed to transmit
               a frame on this line after 16 attempts, the collision
               limit."
        ::= { ebrIfEtherEntry 9 }
    
    -- ebrIfFddiTable - the extended bridge FDDI port table
    -- this group consists of FDDI port objects for the bridge

    ebrIfFddiTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrIfFddiEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries for an FDDI port."
        ::= { ebrInterfaces 3 }

    ebrIfFddiEntry OBJECT-TYPE
        SYNTAX  EbrIfFddiEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { ebrIfIndex }
        ::= { ebrIfFddiTable 1 }

    EbrIfFddiEntry ::=
        SEQUENCE {
            ebrIfFddiIndex
                INTEGER,
            ebrIfFddiUnprocessedErrorPackets
                Counter,
            ebrIfFddiIpDatagramsFragmented
                Counter,
            ebrIfFddiIpDontFragment
                Counter,
            ebrIfFddiIpIllegalHeaderLength
                Counter,
            ebrIfFddiIpIllegalSize
                Counter
                  }

    ebrIfFddiIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface.  The value of this object is
               the same as the ifIndex, defined in MIB-II, for this
               interface."
        ::= { ebrIfFddiEntry 1 }
    
    ebrIfFddiUnprocessedErrorPackets OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of times that an error frame was received
               on thisline but the bridge did not have time to
               decipher it."
        ::= { ebrIfFddiEntry 2 }
    
    ebrIfFddiIpDatagramsFragmented OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number or large IP Datagrams that were fragmented
               into smaller frames because they did not fit into
               legal size packets on the smaller datalink after
               translation."
        ::= { ebrIfFddiEntry 3 }
    
    ebrIfFddiIpDontFragment OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of large IP datagrams that could not be
               fragmented because the DONT-FRAGMENT bit was set in
               the IP header."
        ::= { ebrIfFddiEntry 4 }
    
    ebrIfFddiIpIllegalHeaderLength OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of large IP datagrams that were discarded
               instead of being fragmented because the IP header was
               of illegal length."
        ::= { ebrIfFddiEntry 5 }
    
    ebrIfFddiIpIllegalSize OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of large IP datagrams that were discarded
               instead of being fragmented because the IP header
               indicated a length greater than the number of actual
               bytes in the received datagram."
        ::= { ebrIfFddiEntry 6 }

    -- ebrIfSpanTable - the extended bridge Spanning Tree port table
    -- this group consists of port Spanning Tree objects for the bridge

    ebrIfSpanTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrIfSpanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries for an FDDI port."
        ::= { ebrInterfaces 4 }

    ebrIfSpanEntry OBJECT-TYPE
        SYNTAX  EbrIfSpanEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { ebrIfIndex }
        ::= { ebrIfSpanTable 1 }

    EbrIfSpanEntry ::=
        SEQUENCE {
            ebrIfSpIndex
                INTEGER,
            ebrIfSpDesigRootAge
                INTEGER,
            ebrIfSpForwardDelayTimer
                INTEGER,
            ebrIfSpBadHelloCount
                Counter,
            ebrIfSpPossibleLoopFlag
                INTEGER,
            ebrIfSpTopologyChangeAckFlag
                INTEGER
                 }

    ebrIfSpIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface.  The value of this object is
               the same as the ifIndex, defined in MIB-II, for this
               interface."
        ::= { ebrIfSpanEntry 1 }
    
    ebrIfSpDesigRootAge OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The age, in hundreths of seconds, of the last Hello
               message received from the designated bridge on the line."
        ::= { ebrIfSpanEntry 2 }
    
    ebrIfSpForwardDelayTimer OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The time remaining, in hundreths of seconds, before the
               bridge will leave the Preforwarding state (listening or
               learning), and enter the Forwarding State.  If not in
               preforwarding, this value will be reported as 0."
        ::= { ebrIfSpanEntry 3 }
    
    ebrIfSpBadHelloCount OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of Hello intervals during which at least one
               Bad Hello was received."
        ::= { ebrIfSpanEntry 4 }
    
    ebrIfSpPossibleLoopFlag OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A flag that indicates whether the bridge detected a loop
               condition on this line."
        ::= { ebrIfSpanEntry 5 }
    
    ebrIfSpTopologyChangeAckFlag OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "A flag that indicates whether a topology change
               notification received on a link that we are designated
               on needs to be acknowledged."
        ::= { ebrIfSpanEntry 6 }


    -- Static Address Database for 2-port Bridges

    ebrTwoPortStaticTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrTwoPortStaticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains static destination and source
                 address filtering information about unicast and
                 multicast addresses for 2-port bridges."
        ::= { ebrTwoPortStatic 1 }
 
    ebrTwoPortStaticEntry OBJECT-TYPE
        SYNTAX  EbrTwoPortStaticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific MAC address
                for which the bridge has some static forwarding and/or
                filtering information."
        INDEX   { ebrTwoPortAddress }
        ::= { ebrTwoPortStaticTable 1 }
 
    EbrTwoPortStaticEntry ::=
        SEQUENCE {
            ebrTwoPortAddress
                OCTET STRING,
            ebrTwoPortPortNum
                INTEGER,
            ebrTwoPortStatus
                INTEGER
        }
 
    ebrTwoPortAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination/source MAC Address in a frame to
                which this entry's filtering information applies."
        ::= { ebrTwoPortStaticEntry 1 }
 
    ebrTwoPortPortNum OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Port Number to which this address will be
                locked-down, if the status is lockDown.  Otherwise,
                this field has a value of 0."
        ::= { ebrTwoPortStaticEntry 2 }
 
    ebrTwoPortStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                    lockDown(1),
                    hello(2),
                    invalid(3),
                    filter(4),
                    forward(5),
                    rateLimit(6)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The status of this entry.  The meanings of the
                values are:
 
                  lockDown(1) : This address is 'locked-down' to the
                      port specified by the ebrTwoPortPortNum field.
                      This address will be allowed to source frames
                      only from the specified port, and frames destined
                      to this address will be sent out only on the
                      specified port.

                  hello(2) : This is the address used by the bridge in
                      the destination field of Spanning Tree Hellos.
                      It is not a writeable value.

                  invalid(3) : Writing this value to the object removes
                      the corresponding entry.

                  filter(4) : Frames with this address in the source or
                      destination field will be filtered by the bridge.

                  forward(5) : Frames with this address in the
                      destination field will be forwarded by the bridge.

                  rateLimit(6) : Frames with this address in the
                      destination field will be rate-limited by the
                      bridge, if it supports rate limiting.  Applicable
                      only to multicast addresses.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrTwoPortStaticEntry 3 }


 
    --  Static Database for multi-port bridges
 
    ebrMultiPortStaticTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrMultiPortStaticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains static destination and source
                 address filtering information about unicast and
                 multicast addresses for multi-port bridges."
        ::= { ebrMultiPortStatic 1 }
 
    ebrMultiPortStaticEntry OBJECT-TYPE
        SYNTAX  EbrMultiPortStaticEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific MAC address
                for which the bridge has some static forwarding and/or
                filtering information."
        INDEX   { ebrMultiPortAddress, ebrMultiPortReceivePort }
        ::= { ebrMultiPortStaticTable 1 }
 
    EbrMultiPortStaticEntry ::=
        SEQUENCE {
            ebrMultiPortAddress
                OCTET STRING,
            ebrMultiPortReceivePort
                INTEGER,
            ebrMultiPortAllowedToGoTo
                OCTET STRING,
            ebrMultiPortPortNum
                INTEGER,
            ebrMultiPortStatus
                INTEGER
        }
 
    ebrMultiPortAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination/source MAC Address in a frame to
                 which this entry's filtering information applies."
        ::= { ebrMultiPortStaticEntry 1 }
 
    ebrMultiPortReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrMultiPortAllowedToGoTo field.  A value
                of zero indicates that this entry applies on all ports of
                the bridge."
        ::= { ebrMultiPortStaticEntry 2 }
 
    ebrMultiPortAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and sourced from or destined to
                the address specified by ebrMultiPortAddress are
                allowed to be forwarded.  Each octet within the
                value of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'."
        ::= { ebrMultiPortStaticEntry 3 }
 
    ebrMultiPortPortNum OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Port Number to which this address will be
                locked-down, if the status is lockDown.  Otherwise,
                this field has a value of zero."
        ::= { ebrMultiPortStaticEntry 4 }
 
    ebrMultiPortStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                    portMask(1),
                    lockDown(2),
                    maskAndLock(3),
                    hello(4),
                    filter(5),
                    invalid(6),
                    rateLimit(7)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The status of this entry.  The meanings of the
                values are:
 
                  portMask(1) : The static filtering for this address
                      is specified by the MultiPortAllowedToGoTo field.

                  lockDown(2) : The static filtering for this address
                      is specified as 'locked-down' to the port specified
                      by the ebrMultiPortPortNum field.  This address will
                      be allowed to source frames only from the specified
                      port, and frames destined to this address will be
                      sent out only on the specified port.  

                  maskAndLock(3) : The static filtering for this
                      address is specified by both the
                      ebrMultiPortAllowedToGoTo as well as 'locked-down'
                      as explained above for 'lockDown(2)'.

                  hello(4) : This is the address used by the bridge in
                      the destination field of Spanning Tree Hellos.
                      It is not a writeable value.

                  filter(5) : This address will be filtered on all ports.

                  invalid(6) : Writing this value to the object removes
                      the corresponding entry.

                  rateLimit(7) : Frames with this address in the
                      destination field will be rate-limited by the
                      bridge, if it supports rate limiting.  Applicable
                      only to multicast addresses.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrMultiPortStaticEntry 5 }


    --  Protocol Database for two-port bridges
 
    ebrTwoProtoEnetFilterOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on Ethernet protocol types 
               other than those specified in the ebrTwoEnetProtoTable. "
        ::= { ebrTwoProtoFilt 1 }

   ebrTwoProtoSapFilterOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on 802.2 DSAPs other than 
               those specified in the ebrTwoSapProtoTable. "
        ::= { ebrTwoProtoFilt 2 }

   ebrTwoProtoSnapFilterOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on the 5-byte SNAP PIDs other 
               than those specified in the ebrTwoSnapProtoTable. "
        ::= { ebrTwoProtoFilt 3 }
  
    ebrTwoEnetProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrTwoEnetProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                Ethernet protocol types for 2-port bridges."
        ::= { ebrTwoProtoFilt 4 }
 
    ebrTwoEnetProtoEntry OBJECT-TYPE
        SYNTAX  EbrTwoEnetProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                Ethernet protocol types for 2-port bridges."
        INDEX   { ebrTwoEnetProtoType }
        ::= { ebrTwoEnetProtoTable 1 }

    EbrTwoEnetProtoEntry ::=
        SEQUENCE {
            ebrTwoEnetProtoType
                OCTET STRING,
            ebrTwoEnetProtoStatus
                INTEGER
                 }
    ebrTwoEnetProtoType OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (2))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The protocol type in a frame to which this entry's
                filtering information applies."
        ::= { ebrTwoEnetProtoEntry 1 }
 
    ebrTwoEnetProtoStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2),
                           invalid(3),
                           rateLimit(4)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this ethernet
                protocol type in a received frame.  The meanings of
                the values are:

                  forward(1) : Frames received with this protocol type
                     are allowed to be forwarded.

                  filter(2) : Frames received with this protocol type
                     should be filtered.

                  invalid(3) : Writing this value to the object removes
                      the corresponding entry.

                  rateLimit(4) : Frames received with this protocol type
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrTwoEnetProtoEntry 2 }
 
    ebrTwoSapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrTwoSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for 2-port bridges."
        ::= { ebrTwoProtoFilt 5 }
 
    ebrTwoSapProtoEntry OBJECT-TYPE
        SYNTAX  EbrTwoSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for 2-port bridges."
        INDEX   { ebrTwoSapIndex }
        ::= { ebrTwoSapProtoTable 1 }

    EbrTwoSapProtoEntry ::=
        SEQUENCE {
            ebrTwoSapIndex
                INTEGER,
            ebrTwoSapValue
                OCTET STRING,
            ebrTwoSapStatus
                INTEGER
                 }

   ebrTwoSapIndex OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "Index of the SAP table."
        ::= { ebrTwoSapProtoEntry 1 }

    ebrTwoSapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The 802.2 DSAP in a frame to which this entry's
                filtering information applies."
        ::= { ebrTwoSapProtoEntry 2 }
 
    ebrTwoSapStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2),
                           invalid(3),
                           rateLimit(4)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this 802.2 SAP
                in the DSAP field of a received frame.  The meanings of
                the values are:

                 forward(1) : Frames received with this sap
                     are allowed to be forwarded.

                 filter(2) : Frames received with this sap
                     should be filtered.

                  invalid(3) : Writing this value to the object removes
                      the corresponding entry.

                  rateLimit(4) : Frames received with this sap
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrTwoSapProtoEntry 3 }
 
    ebrTwoSnapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrTwoSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP PIDs for 2-port bridges."
        ::= { ebrTwoProtoFilt 6 }
 
    ebrTwoSnapProtoEntry OBJECT-TYPE
        SYNTAX  EbrTwoSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP PIDs for 2-port bridges."
        INDEX   { ebrTwoSnapIndex }
        ::= { ebrTwoSnapProtoTable 1 }

    EbrTwoSnapProtoEntry ::=
        SEQUENCE {
            ebrTwoSnapIndex
                INTEGER,
            ebrTwoSnapValue
                OCTET STRING,
            ebrTwoSnapStatus
                INTEGER
                 }

      ebrTwoSnapIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The index into the SNAP table."
        ::= { ebrTwoSnapProtoEntry 1 }

      ebrTwoSnapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (5))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The SNAP PID in an 802 frame to which this entry's
                filtering information applies."
        ::= { ebrTwoSnapProtoEntry 2 }
 
    ebrTwoSnapStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2),
                           invalid(3),
                           rateLimit(4)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this SNAP PID
                in a received 802 frame.  The meanings of
                the values are:

                  forward(1) : Frames received with this snap pid
                     are allowed to be forwarded.

                  filter(2) : Frames received with this snap pid
                     should be filtered.
                  invalid(3) : Writing this value to the object removes
                      the corresponding entry.

                  rateLimit(4) : Frames received with this snap pid
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrTwoSnapProtoEntry 3 }
 


    --  Protocol Database for multi-port bridges
 
    ebrMultiEnetProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrMultiEnetProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                Ethernet protocol types for multi-port bridges."
        ::= { ebrMultiProtoFilt 1 }
 
    ebrMultiEnetProtoEntry OBJECT-TYPE
        SYNTAX  EbrMultiEnetProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                Ethernet protocol types for multi-port bridges."
        INDEX   { ebrMultiEnetProtoType, ebrMultiEnetReceivePort }
        ::= { ebrMultiEnetProtoTable 1 }

    EbrMultiEnetProtoEntry ::=
        SEQUENCE {
            ebrMultiEnetProtoType
                OCTET STRING,
            ebrMultiEnetReceivePort
                INTEGER,
            ebrMultiEnetAllowedToGoTo
                OCTET STRING,
            ebrMultiEnetStatus
                INTEGER
                 }

    ebrMultiEnetProtoType OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (2))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The protocol type in a frame to which this entry's
                filtering information applies."
        ::= { ebrMultiEnetProtoEntry 1 }
 
    ebrMultiEnetReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrMultiPortEnetProtoType field.  A value
                of zero indicates that this entry applies on all ports of
                the bridge."
        ::= { ebrMultiEnetProtoEntry 2 }
 
    ebrMultiEnetAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and containing the protocol
                type specified by ebrMultiEnetProtoType are
                allowed to be forwarded.  Each octet within the
                value of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'."
        ::= { ebrMultiEnetProtoEntry 3 }

    ebrMultiEnetStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           portMask(1),
                           invalid(2),
                           filter(3),
                           forward(4),
                           rateLimit(5)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this ethernet
                protocol type in a received frame.  The meanings of
                the values are:

                  portMask(1) : The static filtering for this address
                      is specified by the MultiEnetAllowedToGoTo field.

                  invalid(2) : Writing this value to the object removes
                      the corresponding entry.

                  filter(3) : Frames received with this protocol type
                     should be filtered.

                  forward(4) : Frames received with this protocol type
                     are allowed to be forwarded.

                  rateLimit(5) : Frames received with this protocol type
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrMultiEnetProtoEntry 4 }

    ebrMultiSapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrMultiSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for multi-port bridges."
        ::= { ebrMultiProtoFilt 2 }
 
    ebrMultiSapProtoEntry OBJECT-TYPE
        SYNTAX  EbrMultiSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for multi-port bridges."
        INDEX   { ebrMultiSapValue, ebrMultiSapReceivePort }
        ::= { ebrMultiSapProtoTable 1 }

    EbrMultiSapProtoEntry ::=
        SEQUENCE {
            ebrMultiSapValue
                OCTET STRING,
            ebrMultiSapReceivePort
                INTEGER,
            ebrMultiSapAllowedToGoTo
                OCTET STRING,
            ebrMultiSapStatus
                INTEGER
                 }

    ebrMultiSapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The 802.2 DSAP in a frame to which this entry's
                filtering information applies."
        ::= { ebrMultiSapProtoEntry 1 }
 
    ebrMultiSapReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrMultiPortSapProtoType field.  A value
                of zero indicates that this entry applies on all ports of
                the bridge."
        ::= { ebrMultiSapProtoEntry 2 }
 
    ebrMultiSapAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and containing the DSAP in an 802
                frame specified by ebrMultiSapValue are
                allowed to be forwarded.  Each octet within the
                value of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'."
        ::= { ebrMultiSapProtoEntry 3 }

    ebrMultiSapStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           portMask(1),
                           invalid(2),
                           filter(3),
                           forward(4),
                           rateLimit(5)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this 802.2 SAP
                in the DSAP field of a received frame.  The meanings of
                the values are:

                  portMask(1) : The static filtering for this address
                      is specified by the MultiSapAllowedToGoTo field.

                  invalid(2) : Writing this value to the object removes
                      the corresponding entry.

                  filter(3) : Frames received with this protocol type
                     should be filtered.

                  forward(4) : Frames received with this protocol type
                     are allowed to be forwarded.

                  rateLimit(5) : Frames received with this protocol type
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrMultiSapProtoEntry 4 }

    ebrMultiSnapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrMultiSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP PIDs for multi-port bridges."
        ::= { ebrMultiProtoFilt 3 }
 
    ebrMultiSnapProtoEntry OBJECT-TYPE
        SYNTAX  EbrMultiSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP PIDs for multi-port bridges."
        INDEX   { ebrMultiSnapValue, ebrMultiSnapReceivePort }
        ::= { ebrMultiSnapProtoTable 1 }

    EbrMultiSnapProtoEntry ::=
        SEQUENCE {
            ebrMultiSnapValue
                OCTET STRING,
            ebrMultiSnapReceivePort
                INTEGER,
            ebrMultiSnapAllowedToGoTo
                OCTET STRING,
            ebrMultiSnapStatus
                INTEGER
                 }

      ebrMultiSnapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (5))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The SNAP PID in an 802 frame to which this entry's
                filtering information applies."
        ::= { ebrMultiSnapProtoEntry 1 }
 
    ebrMultiSnapReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrMultiPortSnapProtoType field.  A value
                of zero indicates that this entry applies on all ports of
                the bridge."
        ::= { ebrMultiSnapProtoEntry 2 }
 
    ebrMultiSnapAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and containing the SNAP PID in an
                802 frame specified by ebrMultiSnapValue are
                allowed to be forwarded.  Each octet within the
                value of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'."
        ::= { ebrMultiSnapProtoEntry 3 }

    ebrMultiSnapStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           portMask(1),
                           invalid(2),
                           filter(3),
                           forward(4),
                           rateLimit(5)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Action taken by bridge when it sees this SNAP PID
                in a received 802 frame.  The meanings of
                the values are:

                  portMask(1) : The static filtering for this address
                      is specified by the MultiSnapAllowedToGoTo field.

                  invalid(2) : Writing this value to the object removes
                      the corresponding entry.

                  filter(3) : Frames received with this protocol type
                     should be filtered.

                  forward(4) : Frames received with this protocol type
                     are allowed to be forwarded.

                  rateLimit(5) : Frames received with this protocol type
                      will be rate-limited by the bridge, if it supports
                      rate limiting.  For more detail, please
                      see the ebrRateLimiting group."
        ::= { ebrMultiSnapProtoEntry 4 }



    -- ebrMultiFiltSw - this optional group consists of per-port
    -- address and protocol filtering switches for multiport bridges

    ebrMultiSwTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrMultiSwEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of interface entries.  The number of entries is
               given by ifNumber, defined in MIB-II."
        ::= { ebrMultiFiltSw 1 }

    ebrMultiSwEntry OBJECT-TYPE
        SYNTAX  EbrMultiSwEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A collection of objects containing information for a
               given interface."
        INDEX  { ebrMultiSwIndex }
        ::= { ebrMultiSwTable 1 }

    EbrMultiSwEntry ::=
        SEQUENCE {
            ebrMultiSwIndex
                INTEGER,
            ebrMultiSwManualFilter
                INTEGER,
            ebrMultiSwProtoEnetOther
                INTEGER,
            ebrMultiSwProtoSapOther
                INTEGER,
            ebrMultiSwProtoSnapOther
                INTEGER
                 }

    ebrMultiSwIndex OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "Identifies the Interface to which this entry applies."
        ::= { ebrMultiSwEntry 1 }

    ebrMultiSwManualFilter OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that controls address filtering.  When true,
               the bridge purges the learned entries from its forwarding
               database, stops its learning process, and forwards only
               frames with destination and source addresses that have
               been specified via management."
        ::= { ebrMultiSwEntry 2 }

    ebrMultiSwProtoEnetOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on Ethernet protocol types
               other than those specified in the ebrMultiEnetProtoTable."
        ::= { ebrMultiSwEntry 3 }

    ebrMultiSwProtoSapOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on 802.2 DSAPs other 
               than those specified in the ebrMultiSapProtoTable."
        ::= { ebrMultiSwEntry 4 }

    ebrMultiSwProtoSnapOther OBJECT-TYPE
        SYNTAX  INTEGER {
                           forward(1),
                           filter(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Action taken by the bridge on the 5-byte SNAP PIDs other 
               than those specified in the ebrMultiSnapProtoTable."
        ::= { ebrMultiSwEntry 5 }

    --
    -- ebrNTP  - the Non-Translated Protocol table.
    --
    -- this optional group is implemented by FDDI to Ethernet bridges which
    -- support this feature.  Selected Ethernet Protocol types are
    -- subjected to a different algorithm than the standard translation
    -- algorithm used by transparent FDDI to Ethernet bridges.  It is
    -- used for protocol types that may be used in both Ethernet packets
    -- as well as IEEE 802.3 packets with a 1042-style PID.  An example
    -- of a protocol type that should be in this table is AARP.
    --

    ebrNTPTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNTPEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A table of Ethernet protocol types which will
               selectively be translated in such a way as to guarantee
               that the form in which a packet was received - Ethernet PT
               or 802.3 with 1042 format and this PT - will be retained
               across a pair of these bridges."
        ::= { ebrNTP 1 }

    ebrNTPEntry OBJECT-TYPE
        SYNTAX  EbrNTPEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of NTP protocol type entries."
        INDEX   { ebrNTPtype }
        ::= { ebrNTPTable 1 }

    EbrNTPEntry ::=
        SEQUENCE {
            ebrNTPtype
                OCTET STRING,
            ebrNTPStatus
                INTEGER
                 }

    ebrNTPtype OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (2))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A protocol type in the NTP table."
        ::= { ebrNTPEntry 1 }

    ebrNTPStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           invalid(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Writing invalid(2) to this object removes the corresponding
               entry.  When read, this object always returns a value
               of other(1)."
        ::= { ebrNTPEntry 2 }

    esysIPXSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A software switch that, when set to true, causes the
               bridge to translate IPX 'raw 802.3' packets into SNAP
               encapsulated packets on the FDDI.  Note that this works
               only in environments where all IPX stations use only
               this particular format.  It is recommended that the
               Ethernet v2 format be used on IPX stations for
               full connectivity of IPX stations across Ethernet
               as well as FDDI bridged and routed networks."
        ::= { ebrNTP 2 }

    --
    -- ebrRateLimit  - the Rate Limit group
    --
    -- this optional group is implemented by bridges which perform rate
    -- limiting of multicast frames received on bridge ports.  A typical
    -- application of this might be to limit a broadcast storm from
    -- to the confines of the LAN connected by the bridge.
    --
    -- Rate limiting may be specified by address or protocol, via the
    -- appropriate static address or protocol database, through the use
    -- of the 'rateLimit' status.
    --

    ebrRateLimitSwitch OBJECT-TYPE
        SYNTAX  INTEGER {
                           true(1),
                           false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "By default, rate limiting will be disabled.  It can be
               enabled by setting this object to 'true(1)'."
        ::= { ebrRateLimiting 1 }

    ebrRateLimit OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "This is the maximum number of rate-limited frames per second
               that the bridge will forward per second."
        ::= { ebrRateLimiting 2 }

    ebrRateLimitCounterTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrRateLimitCounterEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A table of the count of frames that were dropped by
               the bridge due to rate limiting on each port."
        ::= { ebrRateLimiting 3 }

    ebrRateLimitCounterEntry OBJECT-TYPE
        SYNTAX  EbrRateLimitCounterEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of rate limited frame counter entries."
        INDEX   { ebrRateLimitPort }
        ::= { ebrRateLimitCounterTable 1 }

    EbrRateLimitCounterEntry ::=
        SEQUENCE {
            ebrRateLimitPort
                INTEGER,
            ebrRateLimitAddressFrames
                Counter,
            ebrRateLimitProtocolFrames
                Counter
                 }

    ebrRateLimitPort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The port for which this entry contains rate limit
               counters information."
        ::= { ebrRateLimitCounterEntry 1 }

    ebrRateLimitAddressFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This is the number of frames per second that were
               filtered due to address rate limiting."
        ::= { ebrRateLimitCounterEntry 2 }

    ebrRateLimitProtocolFrames OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "This is the number of frames per second that were
               filtered due to protocol rate limiting."
        ::= { ebrRateLimitCounterEntry 3 }


    --
    -- eauth   - groups in the SNMP Authentication module
    --
    
    eauth1            OBJECT IDENTIFIER ::= { eauth 1 }


    --
    -- eauth1 is a group of objects supporting simple SNMP Authentication.
    --

    --
    -- SNMP Trap User Community
    --

    eauthTrapCommunity OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The community string used in SNMP Trap PDUs."
    ::= { eauth1 1 }

    eauthTrapUserTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EauthTrapUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of addresses to which traps will be sent and
               associated information."
    ::= { eauth1 2 }

    eauthTrapUserEntry OBJECT-TYPE
        SYNTAX  EauthTrapUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Objects containing information for a given trap address."
        INDEX  { eauthTrapUserAddr }
        ::= { eauthTrapUserTable 1 }

    EauthTrapUserEntry ::=
        SEQUENCE {
            eauthTrapUserAddr
                IpAddress,
            eauthTrapUserStatus
                INTEGER
                 }

    eauthTrapUserAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "An IP Address to which all SNMP Trap messages will be sent."
    ::= { eauthTrapUserEntry 1 }

    eauthTrapUserStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           invalid(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Writing invalid(2) to this object removes the corresponding
               entry.  When read, this object always returns a value
               of other(1)."
    ::= { eauthTrapUserEntry 2 }


    --
    -- SNMP Read-only User Community
    --

    eauthReadOnlyCommunity OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The community string used to identify an SNMP community
               with access rights of Read-only."
    ::= { eauth1 3 }

    eauthReadOnlyUserTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EauthReadOnlyUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of Read-only users and associated information."
    ::= { eauth1 4 }

    eauthReadOnlyUserEntry OBJECT-TYPE
        SYNTAX  EauthReadOnlyUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Objects containing information for a given Read-only user."
        INDEX  { eauthReadOnlyUserAddr }
        ::= { eauthReadOnlyUserTable 1 }

    EauthReadOnlyUserEntry ::=
        SEQUENCE {
            eauthReadOnlyUserAddr
                IpAddress,
            eauthReadOnlyUserMask
                OCTET STRING,
            eauthReadOnlyUserStatus
                INTEGER
                 }

    eauthReadOnlyUserAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "An IP Address, or a set of IP addresses, which has
               Read-only SNMP access to this agent.  If this object
               is used as a wildcard, bits corresponding to the
               zero bits in the corresponding euthReadOnlyUserMask
               are treated as don't-care."
    ::= { eauthReadOnlyUserEntry 1 }

    eauthReadOnlyUserMask OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A 32-bit mask which is applied to (ANDed with)
               the source IP address of an incoming SNMP message.
               If the result of the mask is equal to eauthReadOnlyUserAddr,
               the message is considered to have come from a user
               who has Read-only access.  This allows wildcarding,
               for example, for all NMS's on a given subnet.  For
               fully specified IP addresses required to be in this
               community, this mask may be set to all 1's."
    ::= { eauthReadOnlyUserEntry 2 }

    eauthReadOnlyUserStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           invalid(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Writing invalid(2) to this object removes the corresponding
               entry.  When read, this object always returns a value
               of other(1)."
    ::= { eauthReadOnlyUserEntry 3 }


    --
    -- SNMP Read-Write User Community
    --

    eauthReadWriteCommunity OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The community string used to identify an SNMP community
               with access rights of Read-Write."
    ::= { eauth1 5 }

    eauthReadWriteUserTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EauthReadWriteUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "A list of Read-Write users and associated information."
    ::= { eauth1 6 }

    eauthReadWriteUserEntry OBJECT-TYPE
        SYNTAX  EauthReadWriteUserEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "Objects containing information for a given Read-Write user."
        INDEX  { eauthReadWriteUserAddr }
        ::= { eauthReadWriteUserTable 1 }

    EauthReadWriteUserEntry ::=
        SEQUENCE {
            eauthReadWriteUserAddr
                IpAddress,
            eauthReadWriteUserMask
                OCTET STRING,
            eauthReadWriteUserStatus
                INTEGER
                 }

    eauthReadWriteUserAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "An IP Address, or a set of IP addresses, which has
               Read-Write SNMP access to this agent.  If this object
               is used as a wildcard, bits corresponding to the
               zero bits in the corresponding euthReadWriteUserMask
               are treated as don't-care."
    ::= { eauthReadWriteUserEntry 1 }

    eauthReadWriteUserMask OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (4))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A 32-bit mask which is applied to (ANDed with)
               the source IP address of an incoming SNMP message.
               If the result of the mask is equal to eauthReadWriteUserAddr,
               the message is considered to have come from a user
               who has Read-Write access.  This allows wildcarding,
               for example, for all NMS's on a given subnet.  For
               fully specified IP addresses required to be in this
               community, this mask may be set to all 1's."
    ::= { eauthReadWriteUserEntry 2 }

    eauthReadWriteUserStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                           other(1),
                           invalid(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "Writing invalid(2) to this object removes the corresponding
               entry.  When read, this object always returns a value
               of other(1)."
    ::= { eauthReadWriteUserEntry 3 }

-- The GIGAswitch MIB version gigaversion1
-- Thu Jul  9 11:11:11 EDT 1998


--  GIGASWITCH-MIB DEFINITIONS ::= BEGIN

--  IMPORTS
--         Counter, Gauge, enterprises, IpAddress
--                 FROM RFC1155-SMI
--         OBJECT-TYPE
--                 FROM RFC-1212
--         DisplayString, ifIndex
--                 FROM RFC1213-MIB;


--  DEC-MIB { iso org(3) dod(6) internet(1) private (4) enterprises(1) 36 }

--      dec             OBJECT IDENTIFIER ::= { enterprises 36 }
--      ema             OBJECT IDENTIFIER ::= { dec 2 }
        sysobjid        OBJECT IDENTIFIER ::= { ema 15 }
        bridges         OBJECT IDENTIFIER ::= { sysobjid 3 }
        gigaswitch      OBJECT IDENTIFIER ::= { bridges 3 }

        minimumGIGAswitchMIBVersionSupported OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        When new GIGAswitch MIBs are released to the public,
                        they will be given new version numbers.  The
                        implementation strategy allows multiple versions to be
                        supported simultaneously.  MIB versions greater than or
                        equal to this version are still supported.
                        "
        ::= { gigaswitch 1 }

        maximumGIGAswitchMIBVersionSupported OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        When new GIGAswitch MIBs are released to the public,
                        they will be given new version numbers.  The
                        implementation strategy allows multiple versions to be
                        supported simultaneously.  MIB versions less than or
                        equal to this version are still supported.  A
                        management station may load a MIB which is not
                        supported until the GIGAswitch software is updated.
                        "
        ::= { gigaswitch 2 }

        gigaversion1 OBJECT IDENTIFIER ::= { gigaswitch 3 }

        gigaBox OBJECT IDENTIFIER ::= { gigaversion1 1 }

        gigaBridge      OBJECT IDENTIFIER ::= { gigaversion1 2 }

        gigaUpgradeSoftware OBJECT IDENTIFIER ::= { gigaversion1 3 }

        gigaIP OBJECT IDENTIFIER ::= { gigaversion1 4 }

        gigaSets OBJECT IDENTIFIER ::= { gigaversion1 5 }

        gigaSnmpDebug OBJECT IDENTIFIER ::= { gigaversion1 6 }

        gigaXglEthernetGroup OBJECT IDENTIFIER ::= { gigaversion1 7 }

        serviceClassAssignments OBJECT IDENTIFIER ::= { gigaBridge 5 }

    filterByReferencedExpression OBJECT IDENTIFIER ::= { gigaBridge 1 }

    ebrNportMatrixNameTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportMatrixNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "This table allows filter matrices to be succinctly
                specified and named.  These matrices may later be used
                and combined in filter specifications."
        ::= { filterByReferencedExpression 1 }

    ebrNportMatrixNameEntry OBJECT-TYPE
        SYNTAX  EbrNportMatrixNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A particular named filter matrix."
        INDEX { ebrNportMatrixName }
        ::= { ebrNportMatrixNameTable 1 }

    EbrNportMatrixNameEntry ::=
        SEQUENCE {
                ebrNportMatrixName      DisplayString,
                ebrNportMatrixValue     DisplayString,
                ebrNportMatrixStatus    INTEGER,
                ebrNportMatrixFppnValue DisplayString
        }

    ebrNportMatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "This name for a filter matrix is whatever the user likes,
                as long as it is a unique filter matrix name."
        ::= { ebrNportMatrixNameEntry 1 }

    ebrNportMatrixValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A matrix is expressed using a shorthand that says what
                input ports can talk to what output ports.

                An examples of a specification is:
                        11:1; 1:3-5; 2:0,3; 4-7,9:4-7,9; 10:

                Semicolons separate expressions.  Within each expression,
                the colon has a left hand side and a right hand side.  Bridge
                ports on the left hand side can send packets to bridge ports
                on the right hand side.  Commas separate items in a list of
                bridge ports.  Hyphens are short-hand for specifying a range
                of numbers.  If there is no right hand side, the bridge ports
                on the left cannot send packets to any bridge port (unless the
                matrix is combined with some some other matrix in a filter
                specification, or unless the filter is overridden).

                Bridge port numbers are specified in decimal.

                A matrix will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                No single matrix defines whether a packet arriving on a port
                is forwarded to its destination.  Various destination address,
                source address, protocol, and default filtering specifications
                are combined to determine whether the packet is forwarded.

                If the ebrNportMatrixValue is changed, all filters using it are
                immediately updated."
        ::= { ebrNportMatrixNameEntry 2 }

    ebrNportMatrixStatus OBJECT-TYPE
        SYNTAX INTEGER {
                invalid(1),
                permanent(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "Assigning the value invalid will result in an error
                while the matrix is still reference by some filter.

                All matrices are permanent; it is their usage which may or may
                not be temporary."
        ::= { ebrNportMatrixNameEntry 3 }

    ebrNportMatrixFppnValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A matrix is expressed using a shorthand that says what
                input ports can talk to what output ports.

                An examples of a specification is:
                        1.1,2.1-14.2:1.1-14.2; 2.2:5.3,6.4; 10.3:;

                Semicolons separate expressions.  Within each expression,
                the colon has a left hand side and a right hand side.  Front
                panel ports on the left hand side can send packets to front
                panel ports on the right hand side.  Commas separate items in
                a list of front panel ports.  Hyphens are short-hand for
                specifying a range of numbers.  If there is no right hand side,
                the front panel ports on the left cannot send packets to any
                front panel port (unless the matrix is combined with some some
                other matrix in a filter specification, or unless the filter is
                overridden).

                Front panel port numbers are of the form (slot.connector),
                where slot is the slot number the module is plugged into,
                and connector is the connector number specified on the
                front of the card.

                A matrix will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                No single matrix defines whether a packet arriving on a port
                is forwarded to its destination.  Various destination address,
                source address, protocol, and default filtering specifications
                are combined to determine whether the packet is forwarded.

                If the ebrNportMatrixFppnValue is changed, all filters using 
                it are immediately updated.

                Managers may not specify both ebrNportMatrixValue and
                ebrNportMatrixFppnValue at the same time to set an entry
                in this table."
        ::= { ebrNportMatrixNameEntry 4 }
    ebrNportSapNameTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSapNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "The filters specified by SAP protocol."
        ::= { filterByReferencedExpression 2 }

    ebrNportSapNameEntry OBJECT-TYPE
        SYNTAX  EbrNportSapNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A portion of a particular filter for a particular SAP
                protocol."
        INDEX { ebrNportSapName }
        ::= { ebrNportSapNameTable 1 }

    EbrNportSapNameEntry ::=
        SEQUENCE {
                ebrNportSapName         DisplayString,
                ebrNportSapNameSap      OCTET STRING,
                ebrNportSapMatrixName   DisplayString,
                ebrNportSapNameDisp     INTEGER,
                ebrNportSapNameStatus   INTEGER
        }

    ebrNportSapName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "This name for a portion of a filter is whatever the user
                likes, as long as it is a unique ebrNportSapName.

                The combination of ebrNportSapNameSap and ebrNportSapMatrixName
                is unique within this table.  Insertions of new names for 
                pre-existing combinations will be denied.
                
                ebrNportSapName is present and is the index to give a mnemonic
                handle on the combination of SAP and matrix for purposes of
                discussion and of access through the network management station
                user interface.  SAPs, for example, are often just meaningless
                numbers unless laborious steps are taken to interpret them.
                "
        ::= { ebrNportSapNameEntry 1 }

    ebrNportSapNameSap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The one-byte SAP.

                Changes to ebrNportSapProtoTable for this SAP are denied while
                filtering of the SAP is specified by reference to a named
                matrix using this table."
        ::= { ebrNportSapNameEntry 2 }

    ebrNportSapMatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "A ebrNportMatrixName.  Multiple matrices for the same SAP
                are combined using an elementwise-OR operator."
        ::= { ebrNportSapNameEntry 3 }

    ebrNportSapNameDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                           filter(1),
                           alwaysFilter(2),
                           alwaysForward(3)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                  filter(1) : The filtering for this SAP is specified by the
                        filter matrix.

                  alwaysFilter(2) : Frames of this SAP (protocol) are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's address.
                        The filtering information is specified by the
                        filter matrix.

                  alwaysForward(3) : Frames for this SAP (protocol) are
                        sent to ports specified in the filter matrix
                        regardless of any address filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.

                Setting this object will cause a side effect on the
                ebrNportSapFilterCharacteristicsTable entry for this SAP.  It
                is here to group information for window-based forms.  Setting
                this object will also cause a side effect on other entries in 
                this table with the same SAP value.
                "
        ::= { ebrNportSapNameEntry 4 }

    ebrNportSapNameStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the associated filter
                matrix, and also provides a means to delete a filter matrix.

                Writing invalid(1) to the object removes the filter.

                Writing permanent(2) value to the object indicates the filter
                is preserved across a bridge reset.
                "
        ::= { ebrNportSapNameEntry 5 }
    ebrNportSnapNameTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSnapNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "The filters specified by Protocol ID for the SNAP SAP."
        ::= { filterByReferencedExpression 3 }

    ebrNportSnapNameEntry OBJECT-TYPE
        SYNTAX  EbrNportSnapNameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A portion of a particular filter for a particular
                Protocol ID."
        INDEX { ebrNportSnapName }
        ::= { ebrNportSnapNameTable 1 }

    EbrNportSnapNameEntry ::=
        SEQUENCE {
                ebrNportSnapName        DisplayString,
                ebrNportSnapNameSnap    OCTET STRING,
                ebrNportSnapMatrixName  DisplayString,
                ebrNportSnapNameDisp    INTEGER,
                ebrNportSnapNameStatus  INTEGER
        }

    ebrNportSnapName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "This name for a portion of a filter is whatever the user
                likes, as long as it is a unique ebrNportSnapName.

                The combination of ebrNportSnapNameSnap and
                ebrNportSnapMatrixName is unique within this table.  Insertions
                of new names for pre-existing combinations will be denied.

                ebrNportSnapName is present and is the index to give a mnemonic
                handle on the combination of protocol and matrix for purposes
                of discussion and of access through the network management
                station user interface.  Protocol IDs, for example, are often
                just meaningless numbers unless laborious steps are taken to
                interpret them.
                "
        ::= { ebrNportSnapNameEntry 1 }

    ebrNportSnapNameSnap OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (5))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The five-byte PID.

                Changes to ebrNportSnapProtoTable for this protocol are denied
                while filtering of the protocol is specified by reference to a
                named matrix using this table."
        ::= { ebrNportSnapNameEntry 2 }

    ebrNportSnapMatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "A ebrNportMatrixName.  Multiple matrices for the same PID
                are combined using an elementwise-OR operator."
        ::= { ebrNportSnapNameEntry 3 }

    ebrNportSnapNameDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                           filter(1),
                           alwaysFilter(2),
                           alwaysForward(3)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                  filter(1) : The filtering for this Protocol ID
                      is specified by the filter matrix.

                  alwaysFilter(2) : Frames of this Protocol ID are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's address.
                        The filtering information is specified by the
                        filter matrix.

                  alwaysForward(3) : Frames for this Protocol ID are
                        sent to ports specified in the filter matrix
                        regardless of any address filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.

                Setting this object will cause a side effect on the
                ebrNportSnapFilterCharacteristicsTable entry for this protocol.
                It is here to group information for window-based forms.
                Setting this object will also cause a side effect onother
                entries in this table with the same protocol value.
                "
        ::= { ebrNportSnapNameEntry 4 }
        
    ebrNportSnapNameStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the associated filter
                matrix, and also provides a means to delete a filter matrix.

                Writing invalid(1) to the object removes the filter.

                Writing permanent(2) value to the object indicates the filter
                is preserved across a bridge reset.
                "
        ::= { ebrNportSnapNameEntry 5 }
    ebrNportDANameTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportDANameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "The filters specified by destination address."
        ::= { filterByReferencedExpression 4 }

    ebrNportDANameEntry OBJECT-TYPE
        SYNTAX  EbrNportDANameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A portion of a particular filter for a particular
                destination address."
        INDEX { ebrNportDAName }
        ::= { ebrNportDANameTable 1 }

    EbrNportDANameEntry ::=
        SEQUENCE {
                ebrNportDAName          DisplayString,
                ebrNportDANameDA        OCTET STRING,
                ebrNportDAMatrixName    DisplayString,
                ebrNportDANameDisp      INTEGER,
                ebrNportDANameStatus    INTEGER
        }

    ebrNportDAName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "
                This name for a portion of a filter is whatever the user likes,
                as long as it is a unique ebrNportDAName.

                The combination of ebrNportDANameDA and ebrNportDAMatrixName
                is unique within this table.  Insertions of new names for
                pre-existing combinations will be denied.

                ebrNportDAName is present and is the index to give a mnemonic
                handle on the combination of address and matrix for purposes of
                discussion and of access through the network management station
                user interface.  Addresses, for example, are often just
                meaningless numbers unless laborious steps are taken to
                interpret them.
                "
        ::= { ebrNportDANameEntry 1 }

    ebrNportDANameDA OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "The six-byte destination address.

                Changes to ebrNportStaticDATable for this address are denied
                while filtering of the address is specified by reference to a
                named matrix using this table."
        ::= { ebrNportDANameEntry 2 }

    ebrNportDAMatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "A ebrNportMatrixName.  Multiple matrices for the same
                address are combined using an elementwise-OR operator."
        ::= { ebrNportDANameEntry 3 }

    ebrNportDANameDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                        filter(1),
                        alwaysFilter(2),
                        alwaysForward(3)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                  filter(1) : The filtering for this address is specified by
                        the filter matrix.

                  alwaysFilter(2) : Frames destined to address are filtered
                        regardless of any other alwaysForward dispositions
                        based on the frame's source address or protocol type.
                        The filtering information is specified by the filter
                        matrix.

                  alwaysForward(3) : Frames destined to address are always
                        forwarded to ebrNportPortNum if specified.
                        The filter matrix is used to specify ports to
                        which frames may be sent. In both cases, this
                        disposition overrides filters based on the frame's
                        source address or protocol type, unless either of those
                        filters has an alwaysFilter disposition.

                Setting this object will side effect the
                ebrNportStaticDAFilterCharacteristicsTable entry for this
                address.  It is here to group information for window-based
                forms.  Setting this object will also cause a side effect 
                on other entries in this table with the same address.
                "
        ::= { ebrNportDANameEntry 4 }
        
    ebrNportDANameStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        other(1),
                        invalid(2),
                        permanent(3),
                        deleteOnReset(4),
                        deleteOnTimeout(5)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                other(1) - This entry is currently in use, but the 
                        conditions under which it will remain so are different
                        from each of the following values.  Like other uses
                        of 'other' in MIBs, this value may not be assigned to
                        the object.

                invalid(2) - Writing this value to the object removes the entry

                permanent(3) - Writing this value to the object indicates that
                        the entry is preserved across a bridge reset.

                deleteOnReset(4) - Writing this value removes the permanent
                        entry characteristic.  The entry is deleted upon the
                        next bridge reset (SCP or GIGAswitch failure).

                        Writing deleteOnReset is not supported.  SNMP does not
                        currently model viewing the non-volatile and volatile
                        data structures independently, which can lead to
                        unexpectedly having no filter if a reset occurs while
                        temporarily trying a change to an existing filter.
                        Writes of this value will result in a bad value return
                        status.  It is present for consistency with the Bridge
                        MIB (RFC 1286), which describes address filters.

                deleteOnTimeout(5) - Writing this value removes the permanent
                        entry characteristic.  Since the timers used for aging
                        information within the bridge are hidden from the user,
                        the change may in fact take place immediately.

                        Writing deleteOnTimeout is not supported.  SNMP does
                        not currently model viewing the non-volatile and
                        volatile data structures independently, which can lead
                        to unexpectedly having no filter if a reset occurs
                        while temporarily trying a change to an existing
                        filter.  Writes of this value will result in a bad
                        value return status.  It is present for consistency
                        with the Bridge MIB (RFC 1286), which describes address
                        filters.
                "
        ::= { ebrNportDANameEntry 5 }
    ebrNportSANameTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSANameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "The filters specified by source address."
        ::= { filterByReferencedExpression 5 }

    ebrNportSANameEntry OBJECT-TYPE
        SYNTAX  EbrNportSANameEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A portion of a particular filter for a particular source
                address."
        INDEX { ebrNportSAName }
        ::= { ebrNportSANameTable 1 }

    EbrNportSANameEntry ::=
        SEQUENCE {
                ebrNportSAName          DisplayString,
                ebrNportSANameSA        OCTET STRING,
                ebrNportSAMatrixName    DisplayString,
                ebrNportSANameDisp      INTEGER,
                ebrNportSANameStatus    INTEGER
        }

    ebrNportSAName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "
                This name for a portion of a filter is whatever the user
                likes, as long as it is a unique ebrNportSAName.

                The combination of ebrNportSANameSA and ebrNportSAMatrixName
                is unique within this table.  Insertions of new names for
                pre-existing combinations will be denied.

                ebrNportSAName is present and is the index to give a mnemonic
                handle on the combination of address and matrix for purposes of
                discussion and of access through the network management station
                user interface.  Addresses, for example, are often just
                meaningless numbers unless laborious steps are taken to
                interpret them.
                "
        ::= { ebrNportSANameEntry 1 }

    ebrNportSANameSA OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The six-byte source address.

                Changes to ebrNportStaticSATable for this address are denied
                while filtering of the address is specified by reference to a
                named matrix using this table."
        ::= { ebrNportSANameEntry 2 }

    ebrNportSAMatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "A ebrNportMatrixName.  Multiple matrices for the same
                address are combined using an elementwise-OR operator."
        ::= { ebrNportSANameEntry 3 }

    ebrNportSANameDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                  portMask(1),
                  alwaysFilter(2),
                  alwaysForward(3),
                  lockdown(4),
                  lockdownportmask(5),
                  filter(6)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies how to interpret the ebrNportPortNum and
                the ebrNportSAMatrixName objects.


                  portMask(1) : The static filtering for this address
                      is specified by the filter matrix.

                  alwaysFilter(2) : Frames sourced from this address are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's destination address
                        or protocol type. The static filtering information is
                        specified by the filter matrix.

                  alwaysForward(3) : Frames sourced from this address are
                        sent to ports specified in the filter matrix
                        regardless of any DA or protocol filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.

                  lockdown (4) : Frames sourced from this address
                        are ONLY forwarded if received on the same port as
                        ebrNportPortNum.

                  lockdownportmask (5) : Frames sourced from this address
                        are ONLY forwarded if received on the same port as
                        ebrNportPortNum AND if the frame is destined to a
                        permitted port as specified by the filter matrix.

                  filter(6) : The static filtering for this address
                      is specified by the filter matrix.  portMask(1) is
                      the different name with the same effect.

                Setting this object will side effect the
                ebrNportStaticSAFilterCharacteristicsTable entry for this
                address.  It is here to group information for window-based
                forms.  Setting this object will also cause a side effect 
                on other entries in this table with the same address.
                "
        ::= { ebrNportSANameEntry 4 }

    ebrNportSANameStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        other(1),
                        invalid(2),
                        permanent(3),
                        deleteOnReset(4),
                        deleteOnTimeout(5)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                other(1) - This entry is currently in use, but the 
                        conditions under which it will remain so are different
                        from each of the following values.  Like other uses
                        of 'other' in MIBs, this value may not be assigned to
                        the object.

                invalid(2) - Writing this value to the object removes the entry

                permanent(3) - Writing this value to the object indicates that
                        the entry is preserved across a bridge reset.

                deleteOnReset(4) - Writing this value removes the permanent
                        entry characteristic.  The entry is deleted upon the
                        next bridge reset (SCP or GIGAswitch failure).

                        Writing deleteOnReset is not supported.  SNMP does not
                        currently model viewing the non-volatile and volatile
                        data structures independently, which can lead to
                        unexpectedly having no filter if a reset occurs while
                        temporarily trying a change to an existing filter.
                        Writes of this value will result in a bad value return
                        status.  It is present for consistency with the Bridge
                        MIB (RFC 1286), which describes address filters.

                deleteOnTimeout(5) - Writing this value removes the permanent
                        entry characteristic.  Since the timers used for aging
                        information within the bridge are hidden from the user,
                        the change may in fact take place immediately.

                        Writing deleteOnTimeout is not supported.  SNMP does
                        not currently model viewing the non-volatile and
                        volatile data structures independently, which can lead
                        to unexpectedly having no filter if a reset occurs
                        while temporarily trying a change to an existing
                        filter.  Writes of this value will result in a bad
                        value return status.  It is present for consistency
                        with the Bridge MIB (RFC 1286), which describes address
                        filters.
                "
        ::= { ebrNportSANameEntry 5 }
    ebrNportMatrixNameRowTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportMatrixNameRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                This table is another view of ebrNportMatrixNameTable. Changes
                to this table cause changes to ebrNportMatrixNameTable.

                Users or programs can choose whichever matrix specification
                language they feel more comfortable with.  This table also
                side-steps issues of the worst-case ascii representation length
                on the part of either ebrNportMatrixNameTable or the management
                station interface.
                "
        ::= { filterByReferencedExpression 8 }

    ebrNportMatrixNameRowEntry OBJECT-TYPE
        SYNTAX  EbrNportMatrixNameRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A particular row of a particular named filter matrix."
        INDEX { ebrNportmatrixName, ebrNportMatrixReceivePort }
        ::= { ebrNportMatrixNameRowTable 1 }

    EbrNportMatrixNameRowEntry ::=
        SEQUENCE {
                ebrNportmatrixName              DisplayString,
                ebrNportMatrixReceivePort       INTEGER,
                ebrNportMatrixAllowedToGoTo     OCTET STRING,
                ebrNportMatrixNameRowStatus     INTEGER
        }

    ebrNportmatrixName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "
                This name for a filter matrix is whatever the user likes,
                as long as it is a unique filter matrix name.

                Same as ebrNportMatrixName.
                "
        ::= { ebrNportMatrixNameRowEntry 1 }

    ebrNportMatrixReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bridge port number.  Zero is treated as in other tables,
                and is short-hand for all rows not previously mentioned."
        ::= { ebrNportMatrixNameRowEntry 2 }

    ebrNportMatrixAllowedToGoTo OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Just like all the other GoTos.  The set of ports to which
                frames received from a specific port are allowed to be
                forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                If the ebrNportMatrixAllowedToGoTo is changed, all filters
                using it are immediately updated."
        ::= { ebrNportMatrixNameRowEntry 3 }

     ebrNportMatrixNameRowStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "
                Assigning the value invalid will delete the row of the matrix.
                Attempting to delete the last ebrNportmatrixName entry for a
                matrix will result in an error while the matrix is still
                reference by some filter.

                All matrices are permanent; it is their usage which may or may
                not be temporary.
                "
        ::= { ebrNportMatrixNameRowEntry 4 }
    ebrNportMatrixFppnRowTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportMatrixFppnRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                This table is yet another view of ebrNportMatrixNameTable.
                Changes to this table cause changes to ebrNportMatrixNameTable.

                Users or programs can choose whichever matrix specification
                language they feel more comfortable with.  This table also
                side-steps issues of the worst-case ascii representation length
                on the part of either ebrNportMatrixNameTable or the management
                station interface.
                "
        ::= { filterByReferencedExpression 11 }

    ebrNportMatrixFppnRowEntry OBJECT-TYPE
        SYNTAX  EbrNportMatrixFppnRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "A particular row of a particular named filter matrix."
        INDEX { ebrNportmatrixname, ebrNportMatrixFppnReceivePort }
        ::= { ebrNportMatrixFppnRowTable 1 }

    EbrNportMatrixFppnRowEntry ::=
        SEQUENCE {
                ebrNportmatrixname              DisplayString,
                ebrNportMatrixFppnReceivePort   DisplayString,
                ebrNportMatrixFppnAllowedToGoTo OCTET STRING,
                ebrNportMatrixFppnRowStatus     INTEGER
        }

    ebrNportmatrixname OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "
                This name for a filter matrix is whatever the user likes,
                as long as it is a unique filter matrix name.

                Same as ebrNportMatrixName.
                "
        ::= { ebrNportMatrixFppnRowEntry 1 }

    ebrNportMatrixFppnReceivePort OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "

                Front panel port numbers are of the form (slot.connector),
                where slot is the slot number the module is plugged into,
                and connector is the connector number specified on the
                front of the card.

                To avoid the syntactic ambiguity, the slot number must take
                two characters.  For example, front panel port number 3.1 
                must be typed by 03.1.   0.0 is treated as in other tables, 
                and is short-hand for all rows not previously mentioned."
        ::= { ebrNportMatrixFppnRowEntry 2 }

    ebrNportMatrixFppnAllowedToGoTo OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Just like all the other GoTos.  The set of ports to which
                frames received from a specific port are allowed to be
                forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                If the ebrNportMatrixFppnAllowedToGoTo is changed, all filters
                using it are immediately updated."
        ::= { ebrNportMatrixFppnRowEntry 3 }

     ebrNportMatrixFppnRowStatus OBJECT-TYPE
        SYNTAX  INTEGER {
                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "
                Assigning the value invalid will delete the row of the matrix.
                Attempting to delete the last ebrNportmatrixname entry for a
                matrix will result in an error while the matrix is still
                reference by some filter.

                All matrices are permanent; it is their usage which may or may
                not be temporary.
                "
        ::= { ebrNportMatrixFppnRowEntry 4 }
    ebrNportDefaultMatrixValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A matrix is expressed using a shorthand that says what
                input ports can talk to what output ports.

                An examples of a specification is:
                        11:1; 1:3-5; 2:0,3; 4-7,9:4-7,9; 10:

                Semicolons separate expressions.  Within each expression,
                the colon has a left hand side and a right hand side.  Bridge
                ports on the left hand side can send packets to bridge ports
                on the right hand side.  Commas separate items in a list of
                bridge ports.  Hyphens are short-hand for specifying a range
                of numbers.  If there is no right hand side, the bridge ports
                on the left cannot send packets to any bridge port (unless the
                matrix is combined with some some other matrix in a filter
                specification, or unless the filter is overridden).

                Bridge port numbers are specified in decimal.

                A matrix will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                No single matrix defines whether a packet arriving on a port
                is forwarded to its destination.  Various destination address,
                source address, protocol, and default filtering specifications
                are combined to determine whether the packet is forwarded.
                Unspecified rows are set to one's, which means that the
                corresponding input ports can communicate with every 
                output port.
                "
        ::= { filterByReferencedExpression 6 }

    ebrNportDefaultMatrixFppnValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A matrix is expressed using a shorthand that says what
                input front panel ports can talk to what output front
                panel ports.

                An examples of a specification is:
                        1.1,2.1-14.2:1.1-14.2; 2.2:5.3,6.4; 10.3:;

                Semicolons separate expressions.  Within each expression,
                the colon has a left hand side and a right hand side.  Front
                panel ports on the left hand side can send packets to front
                panel ports on the right hand side.  Commas separate items in
                a list of front panel ports.  Hyphens are short-hand for
                specifying a range of numbers.  If there is no right hand side,
                the front panel ports on the left cannot send packets to any
                front panel port (unless the matrix is combined with some some
                other matrix in a filter specification, or unless the filter is
                overridden).

                Front panel port numbers are of the form (slot.connector),
                where slot is the slot number the module is plugged into,
                and connector is the connector number specified on the
                front of the card.

                A matrix will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                No single matrix defines whether a packet arriving on a port
                is forwarded to its destination.  Various destination address,
                source address, protocol, and default filtering specifications
                are combined to determine whether the packet is forwarded.
                Unspecified rows are set to one's, which means that the
                corresponding input ports can communicate with every 
                output port.
                "
        ::= { filterByReferencedExpression 9 }

    ebrNportNamedDefaultMatrix OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When a matrix name is written to this object, the default
                matrix is set to the matrix if and only if the matrix
                exists.

                Unspecified rows in the matrix are set to one's, which means 
                that the corresponding input ports can communicate with every 
                output port.
                "
        ::= { filterByReferencedExpression 12 }

    ebrNportDefaultMatrixRowTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportDefaultMatrixRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                This table is another view of ebrNportDefaultMatrixValue.
                "
        ::= { filterByReferencedExpression 13 }

    ebrNportDefaultMatrixRowEntry OBJECT-TYPE
        SYNTAX  EbrNportDefaultMatrixRowEntry 
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                A particular row of the default matrix.
                "
        INDEX { ebrNportDefaultMatrixReceivePort }
        ::= { ebrNportDefaultMatrixRowTable 1 }

    EbrNportDefaultMatrixRowEntry ::=
        SEQUENCE {
                ebrNportDefaultMatrixReceivePort   INTEGER,
                ebrNportDefaultMatrixAllowedToGoTo OCTET STRING
        }

    ebrNportDefaultMatrixReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bridge port number."
        ::= { ebrNportDefaultMatrixRowEntry 1 }

    ebrNportDefaultMatrixAllowedToGoTo OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (8))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from a specific 
                port are allowed to be forwarded by default.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.
                "
        ::= { ebrNportDefaultMatrixRowEntry 2 }

    ebrNportManualFilter OBJECT-TYPE
        SYNTAX  DisplayString   (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The list of bridge ports in manual mode is listed.


                Manual mode means that the bridge purges the learned entries
                for that port from its forwarding database, stops its learning
                process on that port, and forwards to that port only frames
                with destination and source addresses that have been specified
                via management.

                A comma-separated list of bridge ports, with hyphens used to
                abbreviate ranges, is supported.  The bridge port numbers are
                in decimal.
                "
        ::= { filterByReferencedExpression 7 }

    ebrNportFppnManualFilter OBJECT-TYPE
        SYNTAX  DisplayString   (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The list of front panel ports in manual mode is listed.


                Manual mode means that the bridge purges the learned entries
                for that port from its forwarding database, stops its learning
                process on that port, and forwards to that port only frames
                with destination and source addresses that have been specified
                via management.

                A comma-separated list of front panel ports, with hyphens used 
                to abbreviate ranges, is supported.  

                Front panel port numbers are of the form (slot.connector),
                where slot is the slot number the module is plugged into,
                and connector is the connector number specified on the
                front of the card.
                "
        ::= { filterByReferencedExpression 10 }

    ebrNportFloodMatrixValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A flood matrix is expressed using a shorthand that says
                what input ports can be flooded to what output ports.
                Unspecified rows are set to one's, which means that the
                corresponding input ports can be flooded to every 
                output port.
                "
        ::= { filterByReferencedExpression 14 }

    ebrNportFloodMatrixFppnValue OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "A flood matrix is expressed using a shorthand that says
                what input front panel ports can be flooded to what output
                front panel ports.
                Unspecified rows are set to one's, which means that the
                corresponding input ports can be flooded to every 
                output port.
                "
        ::= { filterByReferencedExpression 15 }

    ebrNportNamedFloodMatrix OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (32))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "When a matrix name is written to this object, the flood
                matrix is set to the matrix if and only if the matrix
                exists.
                Unspecified rows in the matrix are set to one's, which means 
                that the corresponding input ports can be flooded to every 
                output port.
                "
        ::= { filterByReferencedExpression 16 }

    ebrNportFloodMatrixRowTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportFloodMatrixRowEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                This table is another view of ebrNportFloodMatrixValue.
                "
        ::= { filterByReferencedExpression 17 }

    ebrNportFloodMatrixRowEntry OBJECT-TYPE
        SYNTAX  EbrNportFloodMatrixRowEntry 
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION "
                A particular row of the flood matrix.
                "
        INDEX { ebrNportFloodMatrixReceivePort }
        ::= { ebrNportFloodMatrixRowTable 1 }

    EbrNportFloodMatrixRowEntry ::=
        SEQUENCE {
                ebrNportFloodMatrixReceivePort   INTEGER,
                ebrNportFloodMatrixAllowedToGoTo OCTET STRING
        }

    ebrNportFloodMatrixReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "A bridge port number."
        ::= { ebrNportFloodMatrixRowEntry 1 }

    ebrNportFloodMatrixAllowedToGoTo OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (8))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from a specific 
                port are allowed to be flooded by default.
                "
        ::= { ebrNportFloodMatrixRowEntry 2 }

    --
    -- these are bridge objects over and above what is required by
    -- the Bridge MIB [2]
    --

    filterByBitmapValue OBJECT IDENTIFIER ::= { gigaBridge 2 }

    --  Static Database for N port bridges
 
    -- See ebrNportStaticDAFilterCharacteristicsTable for how to delete
    -- (c.f., overwrite portions of) filter matrices.

    ebrNportStaticDATable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportStaticDAEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This table contains management-specified destination address
                filtering information about unicast and multicast addresses
                for N-port bridges.  In RFC 1286 lingo, static objects are
                those objects which have been specified by network management."
        ::= { filterByBitmapValue 5 }
 
    ebrNportStaticDAEntry OBJECT-TYPE
        SYNTAX  EbrNportStaticDAEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific MAC address for which the bridge
                has some management-specified forwarding and/or filtering
                information."
        INDEX   { ebrNportDAAddress, ebrNportDAReceivePort }
        ::= { ebrNportStaticDATable 1 }
 
    EbrNportStaticDAEntry ::=
        SEQUENCE {
            ebrNportDAAddress
                OCTET STRING,
            ebrNportDAReceivePort
                INTEGER,
            ebrNportDAAllowedToGoTo
                OCTET STRING
        }
 
    ebrNportDAAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination MAC Address in a frame to
                 which this entry's filtering information applies."
        ::= { ebrNportStaticDAEntry 1 }
 
     ebrNportDAReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrNportDAAllowedToGoTo field.

                A value of zero indicates that this entry applies on all ports
                of the bridge for which there is no other applicable entry."
        ::= { ebrNportStaticDAEntry 2 }
 

     ebrNportDAAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and destined to the address specified by
                ebrNportDAAddress are allowed to be forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                Filter matrix rows can be initialized or overwritten, but not
                deleted.  Only whole matrices are deleted via the
                characteristics table.  To produce the equivalent of row
                deletion, set the GoTo according to the following table:
                        Disp                            GoTo
                        filter/portMask                 0xFFFFFFFFF0
                        alwaysFilter                    0xFFFFFFFFF0
                        alwaysForward                   0
                "
        ::= { ebrNportStaticDAEntry 3 }


    -- The filtering information is modelled, and implemented, using filter
    -- matrices.  The use (disposition) and permanence (status) of the
    -- filtering information therefore is on a per matrix, not a per row or
    -- per element basis.  The use and permanence are independent of the
    -- receiving bridge port.  Thus we model it in a table distinct from
    -- receive port/goto for emphasis.

    -- Basically, it was hard enough getting the minmap bits into the data
    -- structure used by the bridge coders.  Adding per-row status didn't fly,
    -- and per-row disposition is nonsense.

    --
    -- Were we to model these with the receive port/goto, writing the
    -- disposition or permanence of one filter matrix row would cause a
    -- side effect on the values in all the other rows.  Also, when dumping
    -- the table, a lot of redundant information would be presented.

    ebrNportStaticDAFilterCharacteristicsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportStaticDAFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains information about how static destination
                 address filters (for unicast and multicast addresses) are used
                 within N-port bridges. Static objects are those objects which
                 have been specified by network management."
        ::= { filterByBitmapValue 6 }
 
    ebrNportStaticDAFilterCharacteristicsEntry OBJECT-TYPE
        SYNTAX  EbrNportStaticDAFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific static MAC destination address
                 filter's usage within N-port bridges."
        INDEX   { ebrNportDestinationAddress }
        ::= { ebrNportStaticDAFilterCharacteristicsTable 1 }
 
    EbrNportStaticDAFilterCharacteristicsEntry ::=
        SEQUENCE {
            ebrNportDestinationAddress
                OCTET STRING,
            ebrNportDADisp
                INTEGER,
            ebrNportDAStatus
                INTEGER
        }
 
    ebrNportDestinationAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination MAC Address in a frame to which this entry's
                 information applies.  The value of this object is the same
                 as ebrNportDAAddress."
        ::= { ebrNportStaticDAFilterCharacteristicsEntry 1 }
 

    -- Implementations may require a filter matrix to already exist, or to be
    -- simultaneously specified, when writing Disp/Status values.

    ebrNportDADisp OBJECT-TYPE
        SYNTAX  INTEGER {

                        filter(1),
                        alwaysFilter(2),
                        alwaysForward(3)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies how to interpret the ebrNportPortNum and
                 ebrNportDAAllowedToGoTo objects.
 

                  filter(1) : The filtering for this address is specified by
                        the filter matrix.

                  alwaysFilter(2) : Frames destined to address are filtered
                        regardless of any other alwaysForward dispositions
                        based on the frame's source address or protocol type.
                        The filtering information is specified by the filter
                        matrix.

                  alwaysForward(3) : Frames destined to address are always
                        forwarded to ebrNportPortNum if specified.
                        The filter matrix is used to specify ports to
                        which frames may be sent. In both cases, this
                        disposition overrides filters based on the frame's
                        source address or protocol type, unless either of those
                        filters has an alwaysFilter disposition.
                "

        ::= { ebrNportStaticDAFilterCharacteristicsEntry 2 }


    ebrNportDAStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        other(1),
                        invalid(2),
                        permanent(3),
                        deleteOnReset(4),
                        deleteOnTimeout(5)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                other(1) - This entry is currently in use, but the 
                        conditions under which it will remain so are different
                        from each of the following values.  Like other uses
                        of 'other' in MIBs, this value may not be assigned to
                        the object.

                invalid(2) - Writing this value to the object removes the entry

                permanent(3) - Writing this value to the object indicates that
                        the entry is preserved across a bridge reset.

                deleteOnReset(4) - Writing this value removes the permanent
                        entry characteristic.  The entry is deleted upon the
                        next bridge reset (SCP or GIGAswitch failure).

                        Writing deleteOnReset is not supported.  SNMP does not
                        currently model viewing the non-volatile and volatile
                        data structures independently, which can lead to
                        unexpectedly having no filter if a reset occurs while
                        temporarily trying a change to an existing filter.
                        Writes of this value will result in a bad value return
                        status.  It is present for consistency with the Bridge
                        MIB (RFC 1286), which describes address filters.

                deleteOnTimeout(5) - Writing this value removes the permanent
                        entry characteristic.  Since the timers used for aging
                        information within the bridge are hidden from the user,
                        the change may in fact take place immediately.

                        Writing deleteOnTimeout is not supported.  SNMP does
                        not currently model viewing the non-volatile and
                        volatile data structures independently, which can lead
                        to unexpectedly having no filter if a reset occurs
                        while temporarily trying a change to an existing
                        filter.  Writes of this value will result in a bad
                        value return status.  It is present for consistency
                        with the Bridge MIB (RFC 1286), which describes
                        address filters.
                "
        ::= { ebrNportStaticDAFilterCharacteristicsEntry 3 }
    -- The service class information applies on a box-wide basis, and is
    -- independent of the receiving bridge port.  Thus we model it in a
    -- table distinct from ebrNportStaticDATable for emphasis.
    --
    -- Service class and filtering information can be manipulated
    -- independently.

    ebrNportDASvcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportDASvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains resource information about unicast and
                 multicast destination addresses for N-port bridges."
        ::= { serviceClassAssignments 3 }
 
    ebrNportDASvcEntry OBJECT-TYPE
        SYNTAX  EbrNportDASvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Resource information about a specific MAC destination address
                for N-port bridges."
        INDEX   { ebrNportSvcAddress }
        ::= { ebrNportDASvcTable 1 }
 
    EbrNportDASvcEntry ::=
        SEQUENCE {
            ebrNportSvcAddress
                OCTET STRING,
            ebrNportSvc
                INTEGER,
            ebrNportSvcStatus
                INTEGER
        }
 
    ebrNportSvcAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The destination MAC Address in a frame to which this entry's
                 resource information applies."
        ::= { ebrNportDASvcEntry 1 }

    ebrNportSvc OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The service class used to allocate resources and implement
                 service policy within the bridge. The service class
                 associated with a frame is a function of either the frame's
                 destination address or the frame's protocol. The default
                 value for this field is 0. This value is used to assign the
                 single path service class in the absence of a service class
                 associated with the frame's protocol.  There are 16 possible
                 service classes, 0-15. The ebrNportSvc allows 32 values to
                 be specified. The specification of a value greater than 15
                 is used to connote  that the service class (ebrNportSvc-16),
                 is to be associated with the frame and that this service
                 class has precedence over a service class associated with
                 a frame's protocol.


        Service classes 1-11 are reserved for internal or future use.
                "
        ::= { ebrNportDASvcEntry 2 }

    ebrNportSvcStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the specified service
                class usage, and also provides a means to delete an entry.

                Writing invalid(1) to the object removes the entry.

                Writing permanent(2) value to the object indicates the entry is
                preserved across a bridge reset.
                "
        ::= { ebrNportDASvcEntry 3 }
    -- The port number information applies on a box-wide basis, and is
    -- independent of the receiving bridge port.  Thus we model it in a
    -- table distinct from ebrNportStaticDATable/ebrNportStaticSATable
    -- for emphasis.

    ebrNportPortNumTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportPortNumEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains static (i.e., configured by
                 network management) information about the bridge
                 port on which unicast or multicast addresses reside
                 on N-port bridges."
        ::= { gigaBridge 3 }
 
    ebrNportPortNumEntry OBJECT-TYPE
        SYNTAX  EbrNportPortNumEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific MAC address."
        INDEX   { ebrNportPortNumAddress }
        ::= { ebrNportPortNumTable 1 }
 
    EbrNportPortNumEntry ::=
        SEQUENCE {
            ebrNportPortNumAddress
                OCTET STRING,
            ebrNportPortNum
                INTEGER,
            ebrNportPortNumStatus
                INTEGER,
            ebrNportFppnPortNum
                DisplayString
        }
 
    ebrNportPortNumAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The MAC Address to which this entry's information applies."
        ::= { ebrNportPortNumEntry 1 }

    ebrNportPortNum OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Port Number to which this address will be
                translated (to which frames destined for the address
                will be forwarded).  There are some filtering nuances
                for addresses with specified port numbers which are
                determined by the source address and destination address
                filter disposition characteristics.

                If zero, no port number is specified.

                This value is a giganet destination address instead of a
                bridge port number if it is greater than 127."
        ::= { ebrNportPortNumEntry 2 }

    ebrNportPortNumStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the specified
                information, and also provides a means to delete an entry.

                Writing invalid(1) to the object removes the entry.

                Writing permanent(2) value to the object indicates the entry is
                preserved across a bridge reset.
                "
        ::= { ebrNportPortNumEntry 3 }

    ebrNportFppnPortNum OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Front Panel Port Number to which this address will be
                translated (to which frames destined for the address
                will be forwarded).  There are some filtering nuances
                for addresses with specified front panel port numbers 
                which are determined by the source address and destination 
                address filter disposition characteristics.

                Managers may not specify both ebrNportPortNum and
                ebrNportFppnPortNum at the same time to set an entry 
                in this table."

        ::= { ebrNportPortNumEntry 4 }
    -- See ebrNportStaticSAFilterCharacteristicsTable for how to delete
    -- (c.f., overwrite portions of) filter matrices.

    ebrNportStaticSATable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportStaticSAEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains static source address filtering
                 information about unicast and multicast addresses for
                 N-port bridges. Static objects are those objects which
                 have been specified by network management."
        ::= { filterByBitmapValue 7 }
 
    ebrNportStaticSAEntry OBJECT-TYPE
        SYNTAX  EbrNportStaticSAEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about a specific MAC address for which the
                 bridge has some static forwarding and/or filtering
                 information."
        INDEX   { ebrNportSAAddress, ebrNportSAReceivePort }
        ::= { ebrNportStaticSATable 1 }
 
    EbrNportStaticSAEntry ::=
        SEQUENCE {
            ebrNportSAAddress
                OCTET STRING,
            ebrNportSAReceivePort
                INTEGER,
            ebrNportSAAllowedToGoTo
                OCTET STRING
        }
 
    ebrNportSAAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The source MAC Address in a frame to which this entry's
                 filtering information applies."
        ::= { ebrNportStaticSAEntry 1 }

     ebrNportSAReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The port from which a frame must be received to use
                the corresponding ebrNportSAAllowedToGoTo field.

                A value of zero indicates that this entry applies on all
                ports of the bridge for which there is no other applicable
                entry."
        ::= { ebrNportStaticSAEntry 2 }
 

   ebrNportSAAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and sourced from the address specified by
                ebrNportSAAddress are allowed to be forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                Filter matrix rows can be initialized or overwritten, but not
                deleted.  Only whole matrices are deleted via the
                characteristics table.  To produce the equivalent of row
                deletion, set the GoTo according to the following table:
                        Disp                            GoTo
                        filter/portMask                 0xFFFFFFFFF0
                        alwaysFilter                    0xFFFFFFFFF0
                        alwaysForward                   0
                "
        ::= { ebrNportStaticSAEntry 3 }
 

    -- The filtering information is modelled, and implemented, using filter
    -- matrices.  The use (disposition) and permanence (status) of the filtering
    -- information therefore is on a per matrix, not a per row or per element
    -- basis.  The use and permanence are independent of the receiving bridge
    -- port.  Thus we model it in a table distinct from receive port/goto
    -- for emphasis.

    -- Basically, it was hard enough getting the minmap bits into the data
    -- structure used by the bridge coders.  Adding per-row status didn't fly,
    -- and per-row disposition is nonsense.

    --
    -- Were we to model these with the receive port/goto, writing the
    -- disposition or permanence of one filter matrix row would cause a
    -- side effect on the values in all the other rows.  Also, when dumping
    -- the table, a lot of redundant information would be presented.

    ebrNportStaticSAFilterCharacteristicsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportStaticSAFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains information about how static source
                 address filters (for unicast and multicast addresses) are
                 used within N-port bridges."
        ::= { filterByBitmapValue 8 }
 
    ebrNportStaticSAFilterCharacteristicsEntry OBJECT-TYPE
        SYNTAX  EbrNportStaticSAFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Static source address filter usage for N-port bridges."
        INDEX   { ebrNportSourceAddress }
        ::= { ebrNportStaticSAFilterCharacteristicsTable 1 }
 
    EbrNportStaticSAFilterCharacteristicsEntry ::=
        SEQUENCE {
            ebrNportSourceAddress
                OCTET STRING,
            ebrNportSADisp
                INTEGER,
            ebrNportSAStatus
                INTEGER
        }
 
    ebrNportSourceAddress OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The source MAC Address in a frame to which this entry's
                 information applies.  The value of this object is the
                 same as ebrNportSAAddress."
        ::= { ebrNportStaticSAFilterCharacteristicsEntry 1 }


    -- Implementations may require a filter matrix to already exist, or to be
    -- simultaneously specified, when writing Disp/Status values.

    ebrNportSADisp OBJECT-TYPE
        SYNTAX  INTEGER {

                  portMask(1),
                  alwaysFilter(2),
                  alwaysForward(3),
                  lockdown(4),
                  lockdownportmask(5),
                  filter(6)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies how to interpret the ebrNportPortNum and
                 and the ebrNportSAAllowedToGoTo objects.
 

                  portMask(1) : The static filtering for this address
                      is specified by the filter matrix.

                  alwaysFilter(2) : Frames sourced from this address are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's destination address
                        or protocol type. The static filtering information is
                        specified by the filter matrix.

                  alwaysForward(3) : Frames sourced from this address are
                        sent to ports specified in the filter matrix
                        regardless of any DA or protocol filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.

                  lockdown (4) : Frames sourced from this address
                        are ONLY forwarded if received on the same port as
                        ebrNportPortNum.

                  lockdownportmask (5) : Frames sourced from this address
                        are ONLY forwarded if received on the same port as
                        ebrNportPortNum AND if the frame is destined to a
                        permitted port as specified by the filter matrix.

                  filter(6) : The static filtering for this address
                      is specified by the filter matrix.  portMask(1) is
                      the different name with the same effect.
                "

        ::= { ebrNportStaticSAFilterCharacteristicsEntry 2 }


    ebrNportSAStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        other(1),
                        invalid(2),
                        permanent(3),
                        deleteOnReset(4),
                        deleteOnTimeout(5)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                other(1) - This entry is currently in use, but the 
                        conditions under which it will remain so are different
                        from each of the following values.  Like other uses
                        of 'other' in MIBs, this value may not be assigned to
                        the object.

                invalid(2) - Writing this value to the object removes the entry

                permanent(3) - Writing this value to the object indicates that
                        the entry is preserved across a bridge reset.

                deleteOnReset(4) - Writing this value removes the permanent
                        entry characteristic.  The entry is deleted upon the
                        next bridge reset (SCP or GIGAswitch failure).

                        Writing deleteOnReset is not supported.  SNMP does not
                        currently model viewing the non-volatile and volatile
                        data structures independently, which can lead to
                        unexpectedly having no filter if a reset occurs while
                        temporarily trying a change to an existing filter.
                        Writes of this value will result in a bad value return
                        status.  It is present for consistency with the Bridge
                        MIB (RFC 1286), which describes address filters.

                deleteOnTimeout(5) - Writing this value removes the permanent
                        entry characteristic.  Since the timers used for aging
                        information within the bridge are hidden from the user,
                        the change may in fact take place immediately.

                        Writing deleteOnTimeout is not supported.  SNMP does
                        not currently model viewing the non-volatile and
                        volatile data structures independently, which can lead
                        to unexpectedly having no filter if a reset occurs
                        while temporarily trying a change to an existing
                        filter.  Writes of this value will result in a bad
                        value return status.  It is present for consistency
                        with the Bridge MIB (RFC 1286), which describes
                        address filters.
                "

        ::= { ebrNportStaticSAFilterCharacteristicsEntry 3 }


    --  Protocol Database for N-port bridges
 
    -- See ebrNportSapFilterCharacteristicsTable for how to delete (c.f.,
    -- overwrite portions of) filter matrices.

    ebrNportSapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for N-port bridges."
        ::= { filterByBitmapValue 1 }
 
    ebrNportSapProtoEntry OBJECT-TYPE
        SYNTAX  EbrNportSapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                802.2 SAPs in the DSAP field for N-port bridges."
        INDEX   { ebrNportSapValue, ebrNportSapReceivePort }
        ::= { ebrNportSapProtoTable 1 }

    EbrNportSapProtoEntry ::=
        SEQUENCE {
            ebrNportSapValue
                OCTET STRING,
            ebrNportSapReceivePort
                INTEGER,
            ebrNportSapAllowedToGoTo
                OCTET STRING
                 }
    ebrNportSapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The 802.2 DSAP in a frame to which this entry's
                filtering information applies."
        ::= { ebrNportSapProtoEntry 1 }
 
    ebrNportSapReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION

                "The port from which a frame must be received to use
                the corresponding ebrNportSapAllowedToGoTo. A value of
                zero indicates that this entry applies on all ports of
                the bridge for which there is no other applicable entry."

        ::= { ebrNportSapProtoEntry 2 }
 

    ebrNportSapAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and containing the DSAP in an 802
                frame specified by ebrNportSapValue are
                allowed to be forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                Filter matrix rows can be initialized or overwritten, but not
                deleted.  Only whole matrices are deleted via the
                characteristics table.  To produce the equivalent of row
                deletion, set the GoTo according to the following table:
                        Disp                            GoTo
                        filter/portMask                 0xFFFFFFFFF0
                        alwaysFilter                    0xFFFFFFFFF0
                        alwaysForward                   0
                "
        ::= { ebrNportSapProtoEntry 3 }

    -- The service class information applies on a box-wide basis, and is
    -- independent of the receiving bridge port.  Thus we model it in a
    -- table distinct from ebrNportSapProtoTable for emphasis.
    --
    -- Since the ebrNportSapSvcTable and ebrNportSapProtoTable have independent
    -- status values, the service class and filtering information can be
    -- manipulated independently.

    ebrNportSapSvcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSapSvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains resource information (e.g., queuing)
                about 802.2 SAPs in the DSAP field for N-port bridges."
        ::= { serviceClassAssignments 1 }
 
    ebrNportSapSvcEntry OBJECT-TYPE
        SYNTAX  EbrNportSapSvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Resource information about an 802.2 SAP in the DSAP field
                for N-port bridges."
        INDEX   { ebrNportSapSvcSapValue }
        ::= { ebrNportSapSvcTable 1 }

    EbrNportSapSvcEntry ::=
        SEQUENCE {
            ebrNportSapSvcSapValue
                INTEGER,
            ebrNportSapSvc
                INTEGER,
            ebrNportSapSvcStatus
                INTEGER, 
            ebrNportSapSinglePath
                DisplayString

        }

    ebrNportSapSvcSapValue OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The 802.2 DSAP in a frame to which this entry's
                resource information applies."
        ::= { ebrNportSapSvcEntry 1 }

    ebrNportSapSvc OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The service class used to allocate resources and implement
                 service policy within the bridge. The service class
                 associated with a frame is a function of either the frame's
                 destination address or the frame's protocol. The default
                 value for this field is 0. This value is used to assign the
                 single path service class  in the absence of an overriding
                 service class associated with the frame's destination addr.
                 There are 16 possible service classes, 0-15.


        Service classes 1-11 are reserved for internal or future use.
                "
        ::= { ebrNportSapSvcEntry 2 }

    ebrNportSapSvcStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the specified service
                class usage, and also provides a means to delete an entry.

                Writing invalid(1) to the object removes the entry.

                Writing permanent(2) value to the object indicates the entry is
                preserved across a bridge reset.
                "
        ::= { ebrNportSapSvcEntry 3 }

    ebrNportSapSinglePath OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                 "
                 The ebrNportSapSinglePath object is used to set the
                 single path ports for a ebrNportSapSvcSapValue.
                 The default is to not use the default (single path)
                 service class.

                 ebrNportSapSinglePath is expressed using a shorthand
                 that specifies which physical ports are to be set to the
                 default (single path) service class. An example of a specification
                 would be :
                                (1,6-9,21)

                 where commas separate physical ports and hyphens are short-hand
                 for specifying a range of numbers. This example would assign
                 physical ports 1,6,7,8,9, and 21 to use the default (single path)
                 service class, for the given ebrNportSapSvcSapValue.

                 Physical port numbers are specified in decimal.

                 A ebrNportSapSinglePath will read back in a form equivalent to
                 the form written.  It may not read back exactly as written.
                 "
        ::= { ebrNportSapSvcEntry 4 }


    -- The filtering information is modelled, and implemented, using filter
    -- matrices.  The use (disposition) and permanence (status) of the filtering
    -- information therefore is on a per matrix, not a per row or per element
    -- basis.  The use and permanence are independent of the receiving bridge
    -- port.  Thus we model it in a table distinct from receive port/goto
    -- for emphasis.

    -- Basically, it was hard enough getting the minmap bits into the data
    -- structure used by the bridge coders.  Adding per-row status didn't fly,
    -- and per-row disposition is nonsense.

    --
    -- Were we to model these with the receive port/goto, writing the
    -- disposition or permanence of one filter matrix row would cause a
    -- side effect on the values in all the other rows.  Also, when dumping
    -- the table, a lot of redundant information would be presented.

    ebrNportSapFilterCharacteristicsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSapFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains information about how 802.2 DSAP
                filters are used within N-port bridges."
        ::= { filterByBitmapValue 2 }
 
    ebrNportSapFilterCharacteristicsEntry OBJECT-TYPE
        SYNTAX  EbrNportSapFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "802.2 DSAP filter usage for N-port bridges."
        INDEX   { ebrNportSapFilterCharacteristicsSapValue }
        ::= { ebrNportSapFilterCharacteristicsTable 1 }

    EbrNportSapFilterCharacteristicsEntry ::=
        SEQUENCE {
            ebrNportSapFilterCharacteristicsSapValue
                OCTET STRING,
            ebrNportSapDisp
                INTEGER,
            ebrNportSapStatus
                INTEGER
        }

    ebrNportSapFilterCharacteristicsSapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The 802.2 DSAP in a frame to which this entry's
                information applies.  The value of this object is
                the same as ebrNportSapValue."
        ::= { ebrNportSapFilterCharacteristicsEntry 1 }

    ebrNportSapDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                           filter(1),
                           alwaysFilter(2),
                           alwaysForward(3)
                        }

        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies how to interpret the
                ebrNportSapAllowedToGoTo values for the specified SAP.


                  filter(1) : The filtering for this SAP is specified by the
                        filter matrix.

                  alwaysFilter(2) : Frames of this SAP (protocol) are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's address.
                        The filtering information is specified by the
                        filter matrix.

                  alwaysForward(3) : Frames for this SAP (protocol) are
                        sent to ports specified in the filter matrix
                        regardless of any address filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.
                "
        ::= { ebrNportSapFilterCharacteristicsEntry 2 }

    ebrNportSapStatus OBJECT-TYPE
        SYNTAX  INTEGER  {

                        invalid(1),
                        permanent(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the associated filter
                matrix, and also provides a means to delete a filter matrix.

                Writing invalid(1) to the object removes the filter.

                Writing permanent(2) value to the object indicates the filter is
                preserved across a bridge reset.
                "
        ::= { ebrNportSapFilterCharacteristicsEntry 3 }


    -- See ebrNportSnapFilterCharacteristicsTable for how to delete
    -- (c.f., overwrite portions of) filter matrices

    ebrNportSnapProtoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP Protocol IDs (PIDs) for N-port bridges."
        ::= { filterByBitmapValue 3 }

    ebrNportSnapProtoEntry OBJECT-TYPE
        SYNTAX  EbrNportSnapProtoEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains filtering information about
                5-byte SNAP Protocol IDs (PIDs) for N-port bridges."
        INDEX   { ebrNportSnapValue, ebrNportSnapReceivePort }
        ::= { ebrNportSnapProtoTable 1 }

    EbrNportSnapProtoEntry ::=
        SEQUENCE {
            ebrNportSnapValue
                OCTET STRING,
            ebrNportSnapReceivePort
                INTEGER,
            ebrNportSnapAllowedToGoTo
                OCTET STRING
                 }

      ebrNportSnapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (5))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The SNAP Protocol ID (PID) in an 802 frame to which this
                entry's filtering information applies."
        ::= { ebrNportSnapProtoEntry 1 }
 
    ebrNportSnapReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION

                "The port from which a frame must be received to use
                the corresponding ebrNportSnapAllowedToGoTo. A value of
                zero indicates that this entry applies on all ports of
                the bridge for which there is no other applicable entry."
        ::= { ebrNportSnapProtoEntry 2 }


    ebrNportSnapAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The set of ports to which frames received from
                a specific port and containing the SNAP PID in an
                802 frame specified by ebrNportSnapValue are
                allowed to be forwarded.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                Filter matrix rows can be initialized or overwritten, but not
                deleted.  Only whole matrices are deleted via the
                characteristics table.  To produce the equivalent of row
                deletion, set the GoTo according to the following table:
                        Disp                            GoTo
                        filter/portMask                 0xFFFFFFFFF0
                        alwaysFilter                    0xFFFFFFFFF0
                        alwaysForward                   0
                "
        ::= { ebrNportSnapProtoEntry 3 }

    -- The service class information applies on a box-wide basis, and is
    -- independent of the receiving bridge port.  Thus we model it in a
    -- table distinct from ebrNportSnapProtoTable for emphasis.
    --
    -- Since the ebrNportSnapSvcTable and ebrNportSnapProtoTable have
    -- independent status values, the service class and filtering information
    -- can be manipulated independently.

    ebrNportSnapSvcTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSnapSvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains resource information (e.g., queuing)
                about 5-byte SNAP Protocol IDs (PIDs) for N-port bridges."
        ::= { serviceClassAssignments 2 }
 
    ebrNportSnapSvcEntry OBJECT-TYPE
        SYNTAX  EbrNportSnapSvcEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Resource information about a 5-byte SNAP Protocol ID (PID)
                for N-port bridges."
        INDEX   { ebrNportSnapSvcSnapValue }
        ::= { ebrNportSnapSvcTable 1 }

    EbrNportSnapSvcEntry ::=
        SEQUENCE {
            ebrNportSnapSvcSnapValue
                OCTET STRING,
            ebrNportSnapSvc
                INTEGER,
            ebrNportSnapSvcStatus
                INTEGER,
            ebrNportSnapSinglePath
                DisplayString
        }

    ebrNportSnapSvcSnapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The SNAP Protocol ID (PID) in a frame to which this entry's
                resource information applies."
        ::= { ebrNportSnapSvcEntry 1 }

    ebrNportSnapSvc OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The service class used to allocate resources and implement
                 service policy within the bridge. The service class
                 associated with a frame is a function of either the frame's
                 destination address or the frame's protocol. The default
                 value for this field is 0. This value is used to assign the
                 single path service class  in the absence of an overriding
                 service class associated with the frame's destination addr.
                 There are 16 possible service classes, 0-15.


        Service classes 1-11 are reserved for internal or future use.
                "

        ::= { ebrNportSnapSvcEntry 2 }

    ebrNportSnapSvcStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the specified service
                class usage, and also provides a means to delete an entry.

                Writing invalid(1) to the object removes the entry.

                Writing permanent(2) value to the object indicates the entry is
                preserved across a bridge reset.
                "
        ::= { ebrNportSnapSvcEntry 3 }

    ebrNportSnapSinglePath OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                 "
                 The ebrNportSnapSinglePath object is used to set the 
                 single path ports for a ebrNportSnapSvcSnapValue. 
                 The default is to not use the default (single path)
                 service class.

                 ebrNportSnapSinglePath is expressed using a shorthand
                 that specifies which physical ports are to be set to the
                 default (single path) service class. An example of a specification 
                 would be :
                                (1,6-9,21)

                 where commas separate physical ports and hyphens are short-hand
                 for specifying a range of numbers. This example would assign
                 physical ports 1,6,7,8,9, and 21 to use the default (single path) 
                 service class, for the given ebrNportSnapSvcSnapValue.

                 Physical port numbers are specified in decimal.

                 A ebrNportSnapSinglePath will read back in a form equivalent to
                 the form written.  It may not read back exactly as written.
                 "
        ::= { ebrNportSnapSvcEntry 4 }


    -- The filtering information is modelled, and implemented, using filter
    -- matrices.  The use (disposition) and permanence (status) of the filtering
    -- information therefore is on a per matrix, not a per row or per element
    -- basis.  The use and permanence are independent of the receiving bridge
    -- port.  Thus we model it in a table distinct from receive port/goto
    -- for emphasis.

    -- Basically, it was hard enough getting the minmap bits into the data
    -- structure used by the bridge coders.  Adding per-row status didn't fly,
    -- and per-row disposition is nonsense.

    --
    -- Were we to model these with the receive port/goto, writing the
    -- disposition or permanence of one filter matrix row would cause a
    -- side effect on the values in all the other rows.  Also, when dumping
    -- the table, a lot of redundant information would be presented.

    ebrNportSnapFilterCharacteristicsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSnapFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A table that contains information about how SNAP Protocol ID
                (PID) filters are used within N-port bridges."
        ::= { filterByBitmapValue 4 }
 
    ebrNportSnapFilterCharacteristicsEntry OBJECT-TYPE
        SYNTAX  EbrNportSnapFilterCharacteristicsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "802.2 SNAP Protocol ID (PID) filter usage for N-port bridges."
        INDEX   { ebrNportSnapFilterCharacteristicsSnapValue }
        ::= { ebrNportSnapFilterCharacteristicsTable 1 }

    EbrNportSnapFilterCharacteristicsEntry ::=
        SEQUENCE {
            ebrNportSnapFilterCharacteristicsSnapValue
                OCTET STRING,
            ebrNportSnapDisp
                INTEGER,
            ebrNportSnapStatus
                INTEGER
        }

    ebrNportSnapFilterCharacteristicsSnapValue OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The SNAP Protocol ID (PID) in a frame to which this entry's
                information applies.  The value of this object is the same as
                ebrNportSnapValue."
        ::= { ebrNportSnapFilterCharacteristicsEntry 1 }

    ebrNportSnapDisp OBJECT-TYPE
        SYNTAX  INTEGER {

                           filter(1),
                           alwaysFilter(2),
                           alwaysForward(3)
                        }

        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies how to interpret the
                ebrNportSnapAllowedToGoTo values for the specified SNAP PID.
 

                  filter(1) : The filtering for this Protocol ID
                      is specified by the filter matrix.

                  alwaysFilter(2) : Frames of this Protocol ID are
                        filtered regardless of any other alwaysForward
                        dispositions based on the frame's address.
                        The filtering information is specified by the
                        filter matrix.

                  alwaysForward(3) : Frames for this Protocol ID are
                        sent to ports specified in the filter matrix
                        regardless of any address filter with a
                        disposition of filter. The alwaysForward disposition
                        also overrides a forwarding disposition of filter
                        in the default filter matrix object.

                        Filters with a disposition of alwaysFilter are never
                        superceded.
                "
        ::= { ebrNportSnapFilterCharacteristicsEntry 2 }


    ebrNportSnapStatus OBJECT-TYPE
        SYNTAX  INTEGER {

                        invalid(1),
                        permanent(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "

                This object specifies the permanence of the associated filter
                matrix, and also provides a means to delete a filter matrix.

                Writing invalid(1) to the object removes the filter.

                Writing permanent(2) value to the object indicates the filter is
                preserved across a bridge reset.
                "
        ::= { ebrNportSnapFilterCharacteristicsEntry 3 }

    ebrNportSwTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF EbrNportSwEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "This table describes the default filter matrix."
        ::= { filterByBitmapValue 9 }

    ebrNportSwEntry OBJECT-TYPE
        SYNTAX  EbrNportSwEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
               "The entry describes a row of the default filter matrix."
        INDEX  { ebrNportSwReceivePort }
        ::= { ebrNportSwTable 1 }

    EbrNportSwEntry ::=
        SEQUENCE {
            ebrNportSwReceivePort
                INTEGER,
            ebrNportSwAllowedToGoTo
                OCTET STRING
            }

    ebrNportSwReceivePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "The bridge port on which a frame must be received to use
                the corresponding ebrNportSwAllowedToGoTo field.

                A value of zero indicates that this entry applies on all ports
                of the bridge for which there is no other management-specified
                entry."
        ::= { ebrNportSwEntry 1 }


    ebrNportSwAllowedToGoTo OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This object specifies the default forwarding disposition
                after all DA, SA, and protocol filters have been applied.
                For those cases where no filter applies to the frame, the
                forwarding disposition for the frames received on the
                ebrNportSwReceivePort interface and sent to one or all of the
                bridge's interfaces is determined by the
                ebrNportSwAllowedToGoTo object.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.
                "

        ::= { ebrNportSwEntry 2 }

    ebrNportSwManualFilter OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (8))
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
               "A switch that controls address filtering.  Specifying a
                one in a bit position says that the port is in manual
                mode.

                Each octet of this object specifies a set of eight ports,
                with the first octet specifying ports 1 through 8,
                the second octet specifying port 9 through 16 etc.
                Within each octet, the most significant bit represents
                the lowest numbered port, and the least significant
                bit represents the highest numbered port.  If a
                bit has a value of '1', then the corresponding port
                is included in the set of ports; the port is not
                included if its bit has a value of '0'.

                Manual mode means that the bridge purges the learned entries
                for that port from its forwarding database, stops its learning
                process on that port, and forwards to that port only frames
                with destination and source addresses that have been specified
                via management."
        ::= { filterByBitmapValue 10 }

    cutThrough OBJECT IDENTIFIER ::= { gigaBridge 7 }

    cutThroughTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CutThroughEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This table controls the enabling of some hardware performance
                enhancements that avoid store-and-forward delays during packet
                forwarding, whenever possible."
        ::= { cutThrough 1 }

    cutThroughEntry OBJECT-TYPE
        SYNTAX  CutThroughEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about the enabling of some hardware performance
                enhancements that avoid store-and-forward delays for a specific
                bridge port."
        INDEX   { cutThroughBridgePort }
        ::= { cutThroughTable 1 }

    CutThroughEntry ::=
        SEQUENCE {
                cutThroughBridgePort
                        INTEGER,
                cutThroughInbound
                        INTEGER,
                cutThroughOutbound
                        INTEGER
        }

    cutThroughBridgePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The dot1dBasePort bridge port number for this table entry."
        ::= { cutThroughEntry 1 }

    cutThroughInbound OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "If true, some hardware performance enhancements are enabled
                to avoid store-and-forward delays when packets enter the
                GIGAswitch.

                If false, the whole packet is buffered on the line card at
                which the packet enters the GIGAswitch before it is sent
                to the line card at which the packet leaves the GIGAswitch.

                Cut-through is normally enabled."
        ::= { cutThroughEntry 2 }

    cutThroughOutbound OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "If true, some hardware performance enhancements are enabled
                to avoid store-and-forward delays when packets leave the
                GIGAswitch.

                If false, the whole packet is buffered on the line card at
                which the packet leaves the GIGAswitch before it is sent
                out of the GIGAswitch.

                Cut-through is normally enabled."
        ::= { cutThroughEntry 3 }

    cutThroughFppnTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF CutThroughFppnEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "This table controls the enabling of some hardware performance
                enhancements that avoid store-and-forward delays during packet
                forwarding, whenever possible."
        ::= { cutThrough 2 }

    cutThroughFppnEntry OBJECT-TYPE
        SYNTAX  CutThroughFppnEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Information about the enabling of some hardware performance
                enhancements that avoid store-and-forward delays for a specific
                front panel port."
        INDEX   { cutThroughFppnPort }
        ::= { cutThroughFppnTable 1 }

    CutThroughFppnEntry ::=
        SEQUENCE {
                cutThroughFppnPort
                        DisplayString,
                cutThroughFppnInbound
                        INTEGER,
                cutThroughFppnOutbound
                        INTEGER
        }

    cutThroughFppnPort OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The front panel port number for this table entry.

                Front panel port numbers are of the form (slot.connector),
                where slot is the slot number the module is plugged into,
                and connector is the connector number specified on the
                front of the card.

                "
        ::= { cutThroughFppnEntry 1 }

    cutThroughFppnInbound OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "If true, some hardware performance enhancements are enabled
                to avoid store-and-forward delays when packets enter the
                GIGAswitch.

                If false, the whole packet is buffered on the line card at
                which the packet enters the GIGAswitch before it is sent
                to the line card at which the packet leaves the GIGAswitch.

                Cut-through is normally enabled."
        ::= { cutThroughFppnEntry 2 }

    cutThroughFppnOutbound OBJECT-TYPE
        SYNTAX INTEGER {
                true(1),
                false(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "If true, some hardware performance enhancements are enabled
                to avoid store-and-forward delays when packets leave the
                GIGAswitch.

                If false, the whole packet is buffered on the line card at
                which the packet leaves the GIGAswitch before it is sent
                out of the GIGAswitch.

                Cut-through is normally enabled."
        ::= { cutThroughFppnEntry 3 }

-- the gigaBox group 

-- subgroups under the gigaBox group

        clockCard       OBJECT IDENTIFIER ::= { gigaBox 1 }

        psc             OBJECT IDENTIFIER ::= { gigaBox 2 }

        powerSupply     OBJECT IDENTIFIER ::= { gigaBox 3 }

        slot            OBJECT IDENTIFIER ::= { gigaBox 4 }

        fan             OBJECT IDENTIFIER ::= { gigaBox 5 }

        battery         OBJECT IDENTIFIER ::= { gigaBox 6 }

        fppn            OBJECT IDENTIFIER ::= { gigaBox 7 }

        lineCard        OBJECT IDENTIFIER ::= { gigaBox 8 }

        led             OBJECT IDENTIFIER ::= { gigaBox 9 }

-- The clockCard subgroup
-- clock card Firmware and hardware rev can be obtained from
-- slotTable. would be redundant if placed here too.

        mgmtMemoryAvail OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of unused bytes of management 
                         memory available on the clock card. The 
                         management memory is used for storing 
                         management parameters."
        ::= { clockCard 1 }

        mgmtMemoryAction OBJECT-TYPE
                SYNTAX  INTEGER {
                           other(1),
                           rewrite(2),
                           rewriting(3),
                           clearAndLock(4),
                           locked(5)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "This object, when read, returns a value of other(1)
                        unless it is in the middle of rewriting the management
                        memory. At such times, it will return rewriting(3).
                        The state will revert to other(1) when the action is
                        completed.

                        Setting this variable to rewrite(2) will cause the SCP
                        to attempt to rewrite the management Memory on the 
                        clock-card.  Attempts to set this variable to all other
                        values result in an error.

                        Rewriting the management memory gets rid of
                        duplicate entries, and thus may increase the
                        available space.  This action should be allowed
                        to complete before intentionally removing power
                        from the SCP or clock card.

                        If the value is set to clearAndLock(4), management
                        memory is completely erased.  From this point on,
                        SNMP operations that write management memory will
                        fail, except for sets to the mgmtMemoryData
                        object.  In fact, the clearAndLock action must
                        be set before management memory can be re-written
                        using the mgmtMemoryData object.  The GIGAswitch
                        must be rebooted after the clearAndLock action
                        (and after it has been re-written, if so desired)
                        in order to allow future SNMP operations to be
                        logged to management memory.

                        "
        ::= { clockCard 2  }

        mgmtMemoryTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF MgmtMemoryEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The table for managing management memory."
        ::= { clockCard 3 }

        mgmtMemoryEntry OBJECT-TYPE
                SYNTAX  MgmtMemoryEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A record of management memory." 
                INDEX   { mgmtMemoryIndex }
        ::= { mgmtMemoryTable 1 }

        MgmtMemoryEntry ::= SEQUENCE {
                mgmtMemoryIndex         INTEGER,
                mgmtMemoryData          OCTET STRING (SIZE(1..80))
        }

        mgmtMemoryIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Index of 80 byte binary records"
        ::= { mgmtMemoryEntry 1 }

        mgmtMemoryData OBJECT-TYPE 
                SYNTAX  OCTET STRING (SIZE(1..80)) 
                ACCESS  read-write 
                STATUS  mandatory 
                DESCRIPTION 
                        " 
                        SNMP object mgmtMemoryData allows the user to read
                        management memory and, with certain restrictions,
                        to write it as well.  In particular, this object
                        allows the user to read a management memory image
                        and, at a later time, restore it. Management
                        memory is accessed in uninterpreted 80-byte binary
                        records, numbered starting from  1.  As a
                        result, doing a GET of instance number N will
                        return bytes 80*(N-1) through 80*N-1 from
                        management memory.  If an attempt is made to read
                        beyond the end of written flash, an error is
                        returned; if a read of a record spans the end of
                        written flash, only the valid data is returned.

                        To restore a management memory image, management
                        memory must first be cleared and locked using the
                        clearAndLock action on the mgmtMemoryAction
                        object.  Then management memory may be written
                        sequentially, writing 80 bytes at a time until the
                        last write, at which point less than 80 bytes may
                        be written.  During this operation, and until the
                        GIGAswitch is rebooted, other SNMP sets requiring
                        writes to management memory may not be done.  It
                        is therefore recommended that the GIGAswitch be
                        booted as soon as possible after management memory
                        has been restored.

                        Any attempt to write a management memory record
                        out of sequence, for example writing record 5
                        followed by record 4 or record 7, results in an
                        error.
                        "

        ::= { mgmtMemoryEntry 2 }

-- The psc subgroup (Power System Controller)

        pscStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the Power System Controller (PSC)."
        ::= { psc 1 }


        pscFwRev OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The firmware revision of the Power System Controller
                        (PSC)."
        ::= { psc 2 }


        pscHwRev OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The hardware revision of the Power System Controller
                        (PSC)."
        ::= { psc 3 }


        keyswitchPosition OBJECT-TYPE
                SYNTAX  INTEGER {
                            fault(1),
                            secure(2),
                            local(3),
                            remote(4),
                            worldAccess(5)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Indicates the position of the keyswitch. The
                        keyswitch position determines the type of
                        access allowed to network management and to
                        out-of-band management.

                        For SNMP access, secure means no SNMP access.
                        Local means read-only SNMP access.  Other values
                        allow read-write SNMP access.  All access is
                        still  subject to the community string, IP address,
                        and privileged port restrictions.
                        "
        ::= { psc 4 }

        pscFwImageStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           okay(1),
                           downloadRequired(2)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the PSC firmware image. If
                         the value of this object is
                         downloadRequired(2), the manager should
                         download a new firmware image to the PSC.
                         This can be done by using objects in the
                         gigaUpgradeSoftware group."
        ::= { psc 5 }

        pscBackplaneStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           okay(1),
                           fault(2)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Status of the GIGAswitch backplane."
        ::= { psc 6 }

        cabinetTemperature OBJECT-TYPE
                SYNTAX  INTEGER {
                            normal(1),
                            high(2),
                            excessivelyHigh(3),
                            low(4),
                            excessivelyLow(5)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The cabinet temperature."
        ::= { psc 7 }

        temperatureWarning OBJECT-TYPE
                SYNTAX  INTEGER {
                            heedWarning(1),
                            ignoreWarning(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The value of this variable determines how
                        the SCP responds to a condition of too high
                        or too low cabinet temperature, or both both
                        fans inoperative. If the value is heedWarning(1) 
                        the system will be shut down when the temperature 
                        goes outside the designed limits or both fans are 
                        inoperative. If the value is ignoreWarning(2),
                        the system will continue to operate when either
                        of these conditions occur.


                        Setting this variable to ignoreWarning(2) allows
                        the manager to cause a system that is too hot or
                        too cold to continue to run. This variable will 
                        also allow both fans to be inoperative and still
                        allow the system to continue to run. Managers 
                        should note that doing so may be detrimental to 
                        the equipment. 

                        This object has a default value of heedWarning(1)." 
        ::= { psc 8 }


-- The powerSupply subgroup

        rightPowerStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the right power unit."
        ::= { powerSupply 1 }


        rightPowerInputSource OBJECT-TYPE
                SYNTAX  INTEGER {
                           acLine(1),
                           dc48V(2),
                           none(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The input source of the right power unit.

                        A value of ACline(1) is returned if the power supply
                        is connected to an AC line.

                        A value of DC48V(2) is returned if the power supply is
                        connected to a 48 volt DC (telecommunications) line.

                        A value of none(3) is returned if the power unit is not
                        present or not powered on.

                        See the batteryUsing object to see if the battery or
                        this power source is being used.
                        "
        ::= { powerSupply 2 }

        rightPowerOutputPower OBJECT-TYPE
                SYNTAX  INTEGER 
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Output power of right power unit, in watts."
        ::= { powerSupply 3 }

        leftPowerStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the left power unit."
        ::= { powerSupply 4 }


        leftPowerInputSource OBJECT-TYPE
                SYNTAX  INTEGER {
                           acLine(1),
                           dc48V(2),
                           none(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The input source of the left power unit.

                        A value of ACline(1) is returned if the power supply
                        is connected to an AC line.

                        A value of DC48V(2) is returned if the power supply is
                        connected to a 48 volt DC (telecommunications) line.

                        A value of none(3) is returned if the power unit is not
                        present or not powered on.

                        See the batteryUsing object to see if the battery or
                        this power source is being used.
                        "
        ::= { powerSupply 5 }

        leftPowerOutputPower OBJECT-TYPE
                SYNTAX  INTEGER 
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Output power of left power unit, in watts."
        ::= { powerSupply 6 }

-- The slot subgroup

        slotNumber OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of slots in the box."
        ::= { slot 1 }

        scpSlot OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Identifies the slot the Switch Control
                         Processor (SCP) occupies. A value of 0 will 
                         be returned if an SCP has not been chosen."
        ::= { slot 2 }


        slotTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF SlotEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "Describes the current configuration of the box."
        ::= { slot 3 }


        slotEntry OBJECT-TYPE
                SYNTAX  SlotEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The description and status of the card
                         plugged into the slot."
                INDEX   { slotIndex }
        ::= { slotTable 1 }

        SlotEntry ::= SEQUENCE {
                slotIndex               INTEGER,
                slotCardStatus          INTEGER,
                slotCardType            INTEGER,
                slotCardHwRev           DisplayString,
                slotCardFwRev           DisplayString 
        }

        slotIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The slot number. Varies from 1 to slotNumber."
        ::= { slotEntry 1 }


        slotCardStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           powerDown(2),        -- present but not poweredUp
                           powerUp(3),          -- present and poweredUp
                           powerDownThenUp(4),  -- for upgrading the FGL FW
                           fault(5),
                           revisionMismatch(6),
                           selfTestInProgress(7)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The status of the card. If the value is
                        read as notPresent(1), then the entire entry 
                        should be considered invalid.

                        Writing a value of powerDown(2) will cause
                        the SCP to power down the card. Writing a
                        value of powerUp(3) will cause the SCP to
                        power up the card.  Writing a value of
                        powerDownThenUp(4) will cause the SCP to power
                        cycle the line card.  Attempts to set any other
                        values will result in a badValue error.

                        The clock and crossbar cards cannot be powered
                        up or down through this object.  They are fundamental
                        to the GIGAswitch's operation.  Unpopulated slots
                        are notPresent(1), and can not be powered up or
                        down.
                        "
        ::= { slotEntry 2 }


        slotCardType OBJECT-TYPE
                SYNTAX  INTEGER {
                           other(1), -- none of the following
                           fgl2(2),
                           cbs36(3), 
                           switchEngine(4),
                           clockCard(5),
                           agl-2(6),
                           fgl4(7),
                           agl-2-plus(8),
                           xgl2(9),
                           xgl4(10),
                           gs2000(11),
                           gs2000-plus(12)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The type of the Card."
        ::= { slotEntry 3 }

        slotCardHwRev OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The Hardware revision number of the card."
        ::= { slotEntry 4 }

        slotCardFwRev OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The Firmware revision number of the card."
        ::= { slotEntry 5 }

-- The hostSlotTable is used to store information about modules
-- which are hosted in the GIGAswitch/FDDI.

        hostSlotTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF HostSlotEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "Describes the current IP address and community
                         string of any modules which are hosted in the
                         switch (eg GS2000)."
        ::= { slot 4 }

        hostSlotEntry OBJECT-TYPE
                SYNTAX  HostSlotEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The IP and community of the module hosted
                         in the slot corresponding to the index."
                INDEX   { hostSlotIndex }
        ::= { hostSlotTable 1 }

        HostSlotEntry ::= SEQUENCE {
                hostSlotIndex           INTEGER,
                hostIP                  IpAddress
        }

        hostSlotIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The slot number. Varies from 1 to slotNumber."
        ::= { hostSlotEntry 1 }

        hostIP OBJECT-TYPE
                SYNTAX  IpAddress
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The IP address of the hosted module."
        ::= { hostSlotEntry 2 }

-- The fan subgroup

        fanSpeed OBJECT-TYPE
                SYNTAX  INTEGER {
                           maximum(1),
                           normal(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        " The speed of the fans.
                          Set this variable to maximum(1) for maximum
                          cooling where noise does not matter. 
                          Set this variable to normal(2) to cause 
                          fan speeds to be under temperature control."
        ::= { fan 1 }


        rightFanStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the right fan tray."
        ::= { fan 2 }


        leftFanStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the left fan tray."
        ::= { fan 3 }

-- The battery subgroup

        -- There is no battery at FRS, so this object will read notPresent(1).

        batteryStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                           notPresent(1),
                           okay(2),
                           fault(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The status of the backup battery."
        ::= { battery 1 }


        -- There is no battery at FRS, so this object is read-only and
        -- will read externalPower(1).
        -- When the battery is available, and this is made read-write,
        -- the same delicacies as batteryTest would apply.
        --               Write this object to force the GIGAswitch to
        --               use power from the external power supplies,
        --               or from the backup battery.

        batteryUsing OBJECT-TYPE
                SYNTAX  INTEGER {
                           batteryPower(1),
                           externalPower(2)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The source of power being used for the box.  The
                        value batteryPower(2) indicates that the backup
                        battery unit is being used to power the GIGAswitch.

                        The external power line can be either AC or a
                        48 volt DC telecommunications power line.
                        "
        ::= { battery 2 }

        batteryCharge OBJECT-TYPE
                SYNTAX  INTEGER {
                           fullyCharged(1),
                           okay(2),
                           low(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The charge-level of the backup battery.
                        Meaningful only if the battery is present."
        ::= { battery 3 }


        -- There is no battery at FRS, so this object is read-only.

        batteryTest OBJECT-TYPE
                SYNTAX  INTEGER {
                           pass(1),
                           fail(2),
                           test(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "Only the value test(3) can be written.  Writes of
                        other values are erroneous.

                        This shows the result of the last battery test
                        performed.  Testing the battery is risky, since the
                        GIGAswitch is temporarily switched to run off the
                        battery, and if the battery-backup system is not
                        working properly, the GIGAswitch fails and restarts.

                        Meaningful only if the battery is present.
                        "
        ::= { battery 4 }

-- The fppn subgroup
        
        -- Make the table read-write if ever introduce card types with more
        -- datalinks than switch ports, to allow new cards to be added while
        -- preserving utility of management memory contents.

        fppnTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF FppnEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A list of front panel port number to MIB-II interface
                        number mappings."
        ::= { fppn 1 }


        fppnEntry OBJECT-TYPE
                SYNTAX  FppnEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "Assigns the MIB-II interface ifIndex for a physical
                        datalink (cable) connection to the box."
                INDEX   { fppnSlotNumber, fppnPortOfThatSlot }
        ::= { fppnTable 1 }

        FppnEntry ::= SEQUENCE {
                fppnSlotNumber          INTEGER,
                fppnPortOfThatSlot      INTEGER,
                fppnIfIndex             INTEGER,
                fppnBridgePortNumber    INTEGER
        }

        fppnSlotNumber OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The 1-based slot number of the module."
        ::= { fppnEntry 1 }

        fppnPortOfThatSlot OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The 1-based media connection to the module."
        ::= { fppnEntry 2 }

        fppnIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The assigned MIB-II ifIndex."
        ::= { fppnEntry 3 }

        -- Save searching through the dot1dBasePortTable to find the
        -- dot1dBasePort for a dot1dBasePortIfIndex when plug a cable
        -- into the box and want to set a filter.

        fppnBridgePortNumber OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The assigned Bridge MIB dot1dBasePort."
        ::= { fppnEntry 4 }


-- The lineCard subgroup
        

        mPortTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF MPortEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A list of mPort entries."
        ::= { lineCard  1 }


        mPortEntry OBJECT-TYPE
                SYNTAX  MPortEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "A collection of objects containing information
                         for a given mPort MAC entity"
                INDEX   { mPortSMTIndex, mPortMACIndex }
        ::= { mPortTable 1 }

        MPortEntry ::= SEQUENCE {
            mPortSMTIndex               INTEGER,
            mPortMACIndex               INTEGER,
            mPortEnable                 INTEGER
                 }


        mPortSMTIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                   "The value of the SMT index associated with this mPort MAC."
            ::= { mPortEntry 1 }

        mPortMACIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                   "The value of the MAC index associated with this mPort MAC."
            ::= { mPortEntry 2 }

        mPortEnable OBJECT-TYPE
            SYNTAX  INTEGER {
                              true(1),
                              false(2)
                            }
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                   "When true, this link will be enabled to operate
                    in concentrator mode, i.e. mport."
            ::= { mPortEntry 3 }


-- The led subgroup

        ledTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF LedTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                "A list of LED entries, one for each module."
            ::= { led 1 }

        ledTableEntry OBJECT-TYPE
            SYNTAX  LedTableEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                "Each entry describes the state of one module."
            INDEX { ledTableIndex }
            ::= { ledTable 1 }

        LedTableEntry ::= SEQUENCE {
                ledTableIndex   INTEGER,
                ledCount        INTEGER
        }

        ledTableIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "The module index into the table.       "
            ::= { ledTableEntry 1 }

        ledCount OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "The number of LEDs on this module."
            ::= { ledTableEntry 2 }
                    
        ledSlotTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF LedEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                "A list of LED entries, one for each module LED."
            ::= { led 2 }
            

        ledEntry OBJECT-TYPE
            SYNTAX  LedEntry
            ACCESS  not-accessible
            STATUS  mandatory
            DESCRIPTION
                "Each entry describes the state of one module LED."
            INDEX { ledSlotIndex, ledLedIndex }
            ::= { ledSlotTable 1 }

        LedEntry ::= SEQUENCE {
                ledSlotIndex    INTEGER,
                ledLedIndex     INTEGER,
                ledDescr        DisplayString,
                ledProgram      OCTET STRING
        }

        ledSlotIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "The slot index into the table. "
            ::= { ledEntry 1 }

        ledLedIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "The led index within the slot given by slotIndex."
            ::= { ledEntry 2 }
                    
        ledDescr OBJECT-TYPE
            SYNTAX  DisplayString (SIZE(0..80))
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "A textual description of the information which the LED is
                 meant to convey.  i.e.:
                    
                   +5 Volt Power, DC Okay
                   ATM port activity.
                   Diagnostic status."
            ::= { ledEntry 3 }
                    
        ledProgram OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE(0..48))
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                "The ledProgram string is a sequence of instructions
                 for the LED state.  The LED constantly repeats the
                 program.  Each LED state is represented by a two octet
                 sequence where the value of the first octet of the pair
                 indicates the color of the LED, and the value of the
                 second octet of the pair indicates the duration in which
                 that color will be present.
        
                 +----------+----------+  --/ /--  +----------+----------+
                 |   Color  | Duration |           |   Color  | Duration |
                 +----------+----------+  --/ /--  +----------+----------+
                    
                 The 'color' octet may have one of the following values:
        
                    0 - off
                    1 - other
                    2 - red
                    3 - yellow
                    4 - green
                    5 - blue
                    6 - red-blinking
                    7 - yellow-blinking
                    8 - blue-blinking
                    9 - green-blinking
                    
                 The value 'off' indicates that the LED is off.
                    
                 The value 'other' indicates a color not covered by any
                 others in the list.
        
                 The value of the second octet in each pair indicates the
                 duration in which that color will be present.  A value
                 of zero indicates that the LED is off.  A value of 0xff
                 indicates that the LED is always on.  Values in between
                 0 and 0xff indicate the duration in 10 ms ticks.
        
                 A zero length string may be returned if the LED is 'not
                 present'.  This indicates that the LED is currently not
                 visible.
                    
                 Activity LEDs are a special case.  Activity LEDs are
                 defined as LEDs which blink whenever data is received on
                 the line.  They are typically on solid under heavy
                 activity.  Since these LEDs can change rapidly, the
                 following rules apply:
                    
                   o  The initial state of activity LEDs is off.
                   o  If the line shows activity any time in a 10 second
                      period, then the LED is shown as on.
                   o  If the line shown inactivity any time in a 10 second
                      period, then the LED is shown as off.
        
                See the 'pcomLedProgram' object in the DECHUB900-COMMON MIB
                for examples."
        
            ::= { ledEntry 4 }
            

-- the gigaBridge group

        flooding OBJECT IDENTIFIER ::= { gigaBridge 6 }

        floodUnknownUnicastRate OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The maximum bytes-per-second bandwidth of packets
                        multicast because the destination address was not yet
                        learned by the bridge. The resolution of this value
                        is 100 bytes-per-second. The 2 LS digits are rounded
                        down to zero, i.e. 1-99 => 0."
        ::= { flooding 1 }

        floodMulticastRate OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The maximum bytes-per-second bandwidth of packets
                        multicast because the destination address is a
                        multicast address.The resolution of this value
                        is 100 bytes-per-second. The 2 LS digits are rounded
                        down to zero, i.e. 1-99 => 0."
        ::= { flooding 2 }

        floodTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF FloodEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "Detailed view of the bridge flooding process."
        ::= { flooding 3 }

        floodEntry OBJECT-TYPE
                SYNTAX  FloodEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "Flooding state for a packet class and source."
                INDEX   { floodQuotaQualifier, floodQuotaClass }
        ::= { floodTable 1 }

        FloodEntry ::= SEQUENCE {
                floodQuotaQualifier             INTEGER,
                floodQuotaClass                 INTEGER,
                floodBytesSent                  Counter,
                floodPacketsSent                Counter,
                floodGeezers                    Counter,
                floodLosers                     Counter,
                floodHogs                       Counter,
                floodSinglePathDiscards         Counter,
                floodPacketsFiltered            Counter,
                floodPacketsPurged              Counter,
                floodBytesPurged                Counter,
                floodLocalCopyPacketsDelivered  Counter,
                floodLocalCopyPacketsDiscarded  Counter
        }

        floodQuotaQualifier OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION 
                        "The quota qualifier describes an incoming or outgoing
                        port.  It is a linear index to the port starting from
                        1.  If n is the quota qualifier for the first port of
                        a two port line card, the quota qualifier for the
                        second port is n + 1.  The clock card and the crossbar
                        have zero port, so the index must be skipped over those
                        slots.  This numbering scheme may be changed as we have
                        four port line cards."

        ::= { floodEntry 1 }

        floodQuotaClass OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION 
                        "The quota class describes the type of packet.
                        Four packet types are classified as follows:
                        1 - Unknown Destination Packets,
                        2 - Multicast Packets,
                        3 - IS-IS Packets,
                        4 - Bursty Control Packets"

        ::= { floodEntry 2 }

        floodBytesSent OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of bytes in flooded packets.
                        It does not include filtered packets or packets
                        discarded due to buffer limitations. Each packet is
                        counted once, regardless of the number of outbound
                        links to which it was flooded.
                        "
        ::= { floodEntry 3 }

        floodPacketsSent OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION 
                        "This object is the count of flooded packets.
                        It does not include filtered packets or packets
                        discarded due to buffer limitations. Each packet is
                        counted once, regardless of the number of outbound
                        links to which it was flooded.
                        "

        ::= { floodEntry 4 }

        floodGeezers OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets that could not be
                        flooded because they had remained in the SCP or in the
                        inbound linecard too long.
                        "
        ::= { floodEntry 5 }

        floodLosers OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets discarded by the
                        SCP flooding software (at the interrupt level) due to
                        insufficient buffering.
                        "
        ::= { floodEntry 6 }

        floodHogs OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets for which buffer
                        quota conversion to flooding software optimistic quotas
                        failed.  This includes packets that were discarded as
                        well as packets that were successfully flooded.
                        "
        ::= { floodEntry 7 }

        floodSinglePathDiscards OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets discarded to
                        prevent packet misordering.  Certain protocol types
                        are considered single-path and may not be delivered out
                        of order.  If the Destination Address for a packet
                        having a single-path protocol type is learned while
                        the packet is buffered by the flooding software,
                        the packet must be discarded (since line cards would
                        have been directly forwarding packets using the learned
                        address while packets received earlier were buffered on
                        the SCP).
                        "
        ::= { floodEntry 8 }

        floodPacketsFiltered OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets discarded by the
                        flooding software because user-configured filtering
                        resulted in no allowed outbound transmit ports.
                        "
        ::= { floodEntry 9 }

        floodPacketsPurged OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of packets discarded due to
                        the incoming link leaving FORWARDING state while they
                        were buffered by flooding software.
                        "
        ::= { floodEntry 10 }

        floodBytesPurged OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the byte count in packets discarded due
                        to the incoming link leaving FORWARDING state while
                        they were buffered by flooding software.
                        "
        ::= { floodEntry 11 }

        floodLocalCopyPacketsDelivered OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of multicast packets addressed
                        to software modules in the SCP that have been
                        successfully delivered to those modules.
                        "
        ::= { floodEntry 12 }

        floodLocalCopyPacketsDiscarded OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object is the count of multicast packets addressed
                        to software modules in the SCP that, because of buffer
                        limitations, could not be delivered to those modules.
                        "
        ::= { floodEntry 13 }





-- gigaSnmpDebug group

        commitFails OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "Exercise abort undo code in SNMP commit processing"
        ::= { gigaSnmpDebug 1 }



-- gigaUpgradeSoftware group

        -- Upgrading software is a two-step process.  First the file is
        -- transfered, then it is copied to each destination.  This way,
        -- all the (FDDI) line cards can be updated with a single TFTP
        -- or MOP transfer.


        doTransfer  OBJECT IDENTIFIER ::= { gigaUpgradeSoftware 1 }
        useTransfer OBJECT IDENTIFIER ::= { gigaUpgradeSoftware 2 }

        tftpDestination OBJECT-TYPE
                SYNTAX  IpAddress
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "This object is the IP address of the host
                        storing the file containing the software image. 

                        The object may not be set until the last requested
                        transfer succeeds or fails. So, before setting
                        this object the user should verify that
                        transferStatus does not have the value
                        'requested' or 'inProgress'."
        ::= { doTransfer 1 }

        mopDestination OBJECT-TYPE
                SYNTAX  OCTET STRING (SIZE(6))
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "This object is the 802 48-bit address of the host
                        storing the file containing the software image.

                        The object may not be set until the last requested
                        transfer succeeds or fails. So, before setting this 
                        object, the user should verify that transferStatus
                        does not have the value 'requested' or 'inProgress'.

                        Both version 3 and version 4 of MOP are supported.

                        If a unicast address is specified, the transfer will
                        be from that host.  If the MOP multicast address
                        ab-00-00-01-00-00 is used, the transfer will be from
                        the first MOP server to respond, as usual."
        ::= { doTransfer 2 }

        transferFileName OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "This object is the name of the file containing
                        the software image.

                        The object may not be set until the last requested
                        transfer succeeds or fails. Before setting this 
                        object, the user should verify that transferStatus
                        does not have the value 'requested' or 'inProgress'.

                        Further, this object may not be set until the last
                        requested copy succeeds or fails. Before setting 
                        this object, the user should verify that copyStatus
                        does not have the value 'requested' or 'inProgress'."
        ::= { doTransfer 3 }


        -- UDP is unreliable and SNMP may therefore retransmit at the
        -- management station.  We do not distinguish retransmitted
        -- requests from errant requests to start a new transfer in the
        -- middle of an ongoing transfer.

        transferAction OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(1),
                                doMOP(2),
                                doTFTP(3)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "To initiate a transfer of a file from a
                        server to the SCP, set this object.

                        If transferFileName is non-empty, and
                        mopDestination is non-zero, setting this
                        object to doMOP(2) will cause a MOP
                        'load' to be attempted. 

                        If transferFileName is non-empty, and
                        tftpDestination is non-zero, setting this
                        object to doTFTP(3) will cause a TFTP
                        'Get' to be attempted. 

                        This object may not be set until the last
                        requested transfer succeeds or fails, and the
                        last requested copy succeeds or fails. So,
                        before setting this object the user should
                        verify that transferStatus does not have the
                        values 'requested' or 'inProgress', and that
                        copyStatus does not have the values
                        'requested' or 'inProgress'.
                        "
        ::= { doTransfer 4 }


        transferStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(1),
                                requested(2),
                                inProgress(3),
                                failed(4),
                                success(5),
                                failedDueToCheckSum(6)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "This variable can be polled to determine when the
                        transfer has completed.  Polling for completion allows
                        other SNMP requests to be processed while the transfer
                        is in progress (the SNMP is single-threaded)."
        ::= { doTransfer 5 }

        transferSize OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "Size in bytes of the transfered file.  This object
                        can be polled along with the transferStatus object to
                        monitor the progress of the transfer."
        ::= { doTransfer 6 }


        copyToSlot OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The slot number of the card which is to be
                        upgraded.

                        The object may not be set until the last requested
                        copy succeeds or fails."
        ::= { useTransfer 1 }

        copyType OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(1),
                                scp(2),
                                fgl2(3),
                                clock(4),
                                powerSystemController(5),
                                agl-2(6),
                                fgl4(7),
                                agl-2-plus(8)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The type of the image.

                        The object is set after a transfer succeeds or fails."
        ::= { useTransfer 2 }



        -- UDP is unreliabile and SNMP may therefore retransmit at the
        -- management station.  We do not distinguish retransmitted
        -- requests from errant requests to start a new copy in the
        -- middle of an ongoing copy.

        copyAction OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(1),
                                doUpgrade(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "To initiate a software upgrade of a card, set
                        this object.

                        If copyToSlot is non-zero, and
                        copyType has a value other than
                        'none', and transferStatus has the value
                        'success', a software upgrade of the card is
                        attempted. 

                        The handler double-checks that the slot requires
                        software of the expected type, and provides
                        demultiplexing when multiple images may be sent to
                        the same slot.  The power system controller is updated
                        by sending its image to the clock card slot.

                        The object may not be set until the last requested
                        transfer succeeds, and the last requested copy
                        succeeds or fails.

                        Reading this object always returns the value
                        none(1)."
        ::= { useTransfer 3 }

        copyStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                                none(1),
                                requested(2),
                                inProgress(3),
                                failed(4),
                                success(5),
                                failedDueToCardType(6),
                                failedDueToHwRev(7),
                                failedDueToFwRev(8),
                                failedDueToBadImage(9)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "This variable can be polled to determine when the
                        card upgrade has completed.  Polling for completion
                        allows other SNMP requests to be processed while the
                        copy is in progress (the SNMP is single-threaded)."
        ::= { useTransfer 4 }


        deleteTransfer OBJECT-TYPE
                SYNTAX  INTEGER {
                                exists(1),
                                notExist(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "When read, this object indicates whether the result of
                        a file transfer is still present.  The value exists
                        indicates that the transferred file is present; the
                        value notExist indicates that no file has been
                        transferred or that it has been deleted.

                        Writing the value exists is an error.  Writing the
                        value notExist deletes the transferred file.

                        The object may not be set until the last requested
                        transfer succeeds or fails.  It may not be set while
                        a copy is in progress, either."
        ::= { gigaUpgradeSoftware 3 }


        arpTimingMechanism OBJECT IDENTIFIER ::= { gigaIP 1 }

        arpTimeoutInSeconds OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The maximum amount of time an IP to LAN address
                        translation will be used if it cannot be re-verified."
        ::= { arpTimingMechanism 1 }

        arpPeriodBetweenRequests OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The time, in seconds, between ARP requests that
                        are used to verify or to discover an IP to LAN address 
                        translation."
        ::= { arpTimingMechanism 2 }

        arpRequestRetries OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "The number of times ARP requests are used to verify
                        or to discover an IP to LAN address translation."
        ::= { arpTimingMechanism 3 }

        arpControlParams OBJECT IDENTIFIER ::= { gigaIP 3 }

        arpAgent OBJECT-TYPE
                SYNTAX  INTEGER {
                                true(1),
                                false(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "
                        When true, the GIGAswitch will service broadcast
                        ARP requests from its ARP cache.

                        When false, Broadcast ARP frames are flooded.
                        "
        ::= { arpControlParams 1 }

        arpStatisticalCounters OBJECT IDENTIFIER ::= { gigaIP 4 }

        arpStatisticalTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF ArpStatisticalEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION "
                        This table stores ARP counters.
                        "
        ::= { arpStatisticalCounters 1 }

        arpStatisticalEntry OBJECT-TYPE
                SYNTAX  ArpStatisticalEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION "
                        Information about the ARP statistical table is stored.
                        "
                INDEX { arpStatisticalIfIndex }
        ::= { arpStatisticalTable 1 }

        ArpStatisticalEntry ::=
                SEQUENCE {
                        arpStatisticalIfIndex   INTEGER,
                        arpUnicastReceived      Counter,
                        arpBroadcastReceived    Counter,
                        arpRepliesTransmitted   Counter,
                        arpFramesFlooded        Counter,
                        arpFramesDiscarded      Counter 
                }

        arpStatisticalIfIndex   OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        Identifies the Interface.  The value of this object is
                        the same as the ifIndex, defined in MIB-II, for this
                        interface.
                        "
        ::= { arpStatisticalEntry 1 }

        arpUnicastReceived      OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        Unicast ARP requests received on this port.
                        "
        ::= { arpStatisticalEntry 2 }
                
        arpBroadcastReceived OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        Broadcast ARP requests received on this port.
                        "
        ::= { arpStatisticalEntry 3 }
                
        arpRepliesTransmitted OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        ARP replies transmitted on this port.
                        "
        ::= { arpStatisticalEntry 4 }
                
        arpFramesFlooded OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        ARP frames received on this port that required
                        flooding while acting as an ARP agent.
                        "
        ::= { arpStatisticalEntry 5 }
                
        arpFramesDiscarded OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        ARP frames received on this port that were discarded
                        due to protocol errors.
                        "
        ::= { arpStatisticalEntry 6 }

        snmpParameters OBJECT IDENTIFIER ::= { gigaIP 2 }

        snmpDuplicateDiscardInterval OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION "
                        If duplicated snmp messages arrive within this
                        interval, all but the first one will be discarded.

                        The unit is a hundredth of second.
                        "
        ::= { snmpParameters 1 }


        gigaStp  OBJECT IDENTIFIER ::= { gigaBridge 8 }


-- The gigaStp subgroup


        gigaStpPortTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF GigaStpPortEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION 
                        " A list of  gigaStp entries "
        ::= { gigaStp 1 }

        gigaStpPortEntry OBJECT-TYPE
                SYNTAX  GigaStpPortEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION "
                        A collection of objects containing information
                        for a given StpPort
                        "
                INDEX   { gigaStpPortIfIndex }
        ::= { gigaStpPortTable 1 }

        GigaStpPortEntry ::= SEQUENCE {
            gigaStpPortIfIndex              INTEGER,
            gigaStpPortSpanningTreeEnable   INTEGER
                 }

        gigaStpPortIfIndex OBJECT-TYPE
            SYNTAX  INTEGER
            ACCESS  read-only
            STATUS  mandatory
            DESCRIPTION
                   "The value of the interface associated with this
                    spanning tree port."
            ::= { gigaStpPortEntry 1 }

        gigaStpPortSpanningTreeEnable OBJECT-TYPE
            SYNTAX  INTEGER {
                              true(1),
                              false(2),
                              trueNoDelay(3)
                            }
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION
                   "When true, this interface will be enabled to operate
                    as part of the spanning tree. When trueNoDelay, this
                    interface will be enabled to operate as part of the 
                    spanning tree but will have a pre-forwarding delay 
                    of zero."
            ::= { gigaStpPortEntry 2 }


        gigaStpDemandLearningEnable OBJECT-TYPE
            SYNTAX  INTEGER {
                              true(1),
                              false(2)
                            }
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION "
                   If true, then when a source address is learned, the address is
                   only written to the Translation Table in the bridge port on which
                   it was learned.  If the address later occurs as a destination
                   address in a packet received on some other bridge port, the
                   packet is flooded if possible and the address is written to the
                   Translation table of the other bridge port at that time. Thus, a
                   bridge port that receives no packets for a certain address will
                   not have that address in its database unless the address had been
                   learned on that bridge port.

                   If false, then when a source address is learned, the address is
                   promptly written to the Translation Table of every bridge port in
                   the GIGASwitch.

                   This variable should be set to yes if the total number of
                   learned addresses is expected to be greater than the number
                   supported by the linecards and if there is sufficient locality of
                   traffic that the behavior described above will not result in more
                   than that number of addresses being learned on any one bridge
                   port.

                   It should be set to no if the total number of learned addresses
                   is not greater than the number supported by the linecards and if
                   it is desired to avoid flooding of packets to already-learned
                   addresses. 
                   " 
            ::= { gigaStp 2 }


        translationTableParams  OBJECT IDENTIFIER ::= { gigaBridge 9 }

        ttSize OBJECT-TYPE
                SYNTAX  INTEGER 
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION "
                        The number of entries in the tables used to store
                        learned network addresses.
                        "
        ::= { translationTableParams 1 }


        xacInDiscardCounters    OBJECT IDENTIFIER ::= { gigaBridge 10 }
        
        xacInDiscardUnknownDAUCast   OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This object shows the number of unknown DA unicast
                        packets which are transmitted from linecards to the
                        SCP for multicasting, but discarded due to the lack
                        of buffer space in the XAC chip.

                        Packets counted here are not included in other,
                        per-port, discard counters because this counter
                        is shared by all the incoming ports.
                        "
        ::= { xacInDiscardCounters 1 }

        xacInDiscardMulticast   OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This object shows the number of multicast packets
                        which are transmitted from linecards to the SCP for
                        processing, but discarded due to the lack of buffer
                        space in the XAC chip.

                        Packets counted here are not included in other,
                        per-port, discard counters because this counter
                        is shared by all the incoming ports.
                        "
        ::= { xacInDiscardCounters 2 }

        xacInDiscardIPForwarding OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This object shows the number of IP packets which
                        are transmitted from linecards to the SCP for
                        forwarding, but discarded due to the lack of buffer
                        space in the XAC chip.

                        Packets counted here are not included in other,
                        per-port, discard counters because this counter
                        is shared by all the incoming ports.
                        "
        ::= { xacInDiscardCounters 3 }


        communityString         OBJECT IDENTIFIER ::= { gigaBridge 11 }

        communityStringDelimiter OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE(1))
            ACCESS  read-write
            STATUS  mandatory
            DESCRIPTION "

                   The communityStringDelimiter object is used to delimit
                   community string suffixes. Community string suffixes give
                   the SNMP agent additional information to process certain
                   objects. If the objects do not need the suffix then the
                   suffix is ignored. If the object uses the suffix and none
                   is supplied, then a default is used. There are two  valid
                   suffixes available for the Gigaswitch/Fddi, LDx and LBDx.
                   LDx references learning domains, LD1-LD8. LBDx references
                   logical bridge domains, LBD1- LBD8. Both uppercase and
                   lowercase are valid. The default communityStringDelimiter 
                   is the ':'.

                        ex.     public:LD3,  use learning domain 4 if required
                                public:LBD4, use logical bridge domain 4 if
                                             required
                                public,      use default if required.
                   
                   The set of Valid communityStringDelimiter is the set of all
                   printable characters minus all the alphas and all the
                   digits.

                   If a LDx suffix is used where an LBDx is required, then the
                   LBD that contains the LDx will be used. If a LBDx suffix is
                   used where an LDx is required, then the lowest numbered LD
                   in that LBD is used. In both cases if there are no members
                   in the LD/LBD then the default is used. The default LD is
                   LD1 and the default LBD is LBD1.
                   "                   

            ::= { communityString 1 }

-- The switched IP filtering subgroup

    ipSwitching                 OBJECT IDENTIFIER ::= { gigaIP 5 }

    ipSwitchEnable OBJECT-TYPE 
        SYNTAX  INTEGER {
                            true(1),
                            false(2)
                        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION 
                "
                If true then switched IP filtering is enabled. If
                false switched IP filtering is disabled.
                "
        ::= { ipSwitching 1 }

    ipSwitchPortsTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF IpSwitchPortsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                "
                This table allows the user to assign an address
                range to logical bridge ports so that all traffic 
                destined to addresses within that range will go out 
                those ports.
                "
        ::= { ipSwitching 2 }

    ipSwitchPortsEntry OBJECT-TYPE
        SYNTAX  IpSwitchPortsEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                "
                An entry that stores information about a switched 
                IP filtering range.
                "
        INDEX { ipRangeStartAddr , ipRangeEndAddr }
        ::= { ipSwitchPortsTable 1 }

    IpSwitchPortsEntry ::=
        SEQUENCE {
                ipRangeStartAddr                IpAddress,
                ipRangeEndAddr                  IpAddress,
                ipIPAddr                        IpAddress,
                ipStaticPorts                   DisplayString,
                ipDynamicPorts                  DisplayString
        }

    ipRangeStartAddr  OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                "
                An index for the ipSwitchPortsTable. This is the
                start address of the range of addresses for which
                the  the ipStaticPorts and ipDynamicPorts are
                valid. 
                "
        ::= { ipSwitchPortsEntry 1 }

    ipRangeEndAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                "
                An index for the ipSwitchPortsTable. This is the
                end address of the range of addresses for which the 
                the ipStaticPorts and ipDynamicPorts are valid. 
                "
        ::= { ipSwitchPortsEntry 2 }

    ipIPAddr OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                "
                The IP address associated with the range, ipRangeStartAddr
                and ipRangeEndAddr.
                "
        ::= { ipSwitchPortsEntry 3 }

    ipStaticPorts OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION 
                "
                ipStaticPorts is the set of logical ports that
                packets will exit the Gigaswitch when the
                destination address is within the range specified
                by ipRangeStartAddr and ipRangeEndAddr.

                ipStaticPorts is expressed using a shorthand
                that specifies which logical ports are assigned
                to the address range.

                An example of a specification would be 
                (1,6-9,21),
                where commas separate logical ports and hyphens are 
                short-hand for specifying a range of numbers. This 
                example would assign logical ports 1,6,7,8,9, and 21 
                to the specified address/mask.

                Logical port numbers are specified in decimal.

                The ipStaticPorts will read back in a form 
                equivalent to the form written. It may not read
                back exactly as written.
                "
        ::= { ipSwitchPortsEntry 4 }

    ipDynamicPorts OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                "
                ipDynamicPorts is the set of logical ports, learned
                dynamically, that packets will exit the Gigaswitch
                when the destination address is within the range
                specified by ipRangeStartAddr and ipRangeEndAddr.
                "
        ::= { ipSwitchPortsEntry 5 }

    ipPrimaryPorts OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION 
                "
                ipPrimaryPorts is the set of all logical ports,
                set by management, that packets will exit the
                Gigaswitch regardless of the range to which they 
                are addressed to.

                The ipPrimaryPorts is expressed using a shorthand that 
                specifies the logical ports.

                An example of a specification would be
                (1,6-9,21)
                where commas separate logical ports and hyphens are 
                short-hand for specifying a range of numbers. This 
                example would assign logical ports 1,6,7,8,9, and 21 
                to the specified address/mask.

                Logical port numbers are specified in decimal.

                The ipPrimaryPorts will read back in a form
                equivalent  to the form written. It may not read
                back exactly as written.
                "
        ::= { ipSwitching 3 }

    ipDynamicPrimaryPorts OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                "
                ipPrimaryPorts is the set of all logical ports,
                learned dynamically, that packets will exit the
                Gigaswitch regardless of the range to which they 
                are addressed to.
                "
        ::= { ipSwitching 4 }

    ipDynamicEnabledPorts OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                ipSwitchDynamicEnabledPorts is the set of bridge
                ports over which the GIGAswitch sends and receives
                information about configured IP address ranges.
                The syntax used to specify it is the same as for
                ipPrimaryPorts.
                "
        ::= { ipSwitching 5 }


--    ipSwitchAddrQueryTable OBJECT-TYPE
--      SYNTAX  SEQUENCE OF IpSwitchAddrQueryEntry
--      ACCESS  not-accessible
--      STATUS  mandatory
--      DESCRIPTION 
--               "
--               This table allows the user to determine the port(s) that
--               a packet destined to an IP address will exit the 
--               Gigaswitch through.
--               "
--      ::= { ipSwitching 3 }
--
--    ipSwitchAddrQueryEntry OBJECT-TYPE
--      SYNTAX  IpSwitchAddrQueryEntry
--      ACCESS  not-accessible
--      STATUS  mandatory
--      DESCRIPTION 
--               "
--               An entry that stores information about a switched 
--               IP filetring range.
--               "
--      INDEX { ipSwitchAddrQueryAddr }
--      ::= { ipSwitchAddrQueryTable 1 }
--
--    IpSwitchAddrQueryEntry ::=
--      SEQUENCE {
--              ipSwitchAddrQueryAddr           IpAddress,
--              ipSwitchAddrQueryPorts          DisplayString
--      }
--
--    ipSwitchAddrQueryAddr OBJECT-TYPE
--      SYNTAX  IpAddress
--      ACCESS  read-only
--      STATUS  mandatory
--      DESCRIPTION 
--               "
--               An index for ipSwitchAddrQueryTable. This is the 
--               IP address that the user would like to determine
--               the output ports for.
--               "
--      ::= { ipSwitchAddrQueryEntry 1 }
--
--    ipSwitchAddrQueryPorts OBJECT-TYPE 
--      SYNTAX  DisplayString
--      ACCESS  read-only
--      STATUS  mandatory
--      DESCRIPTION 
--               "
--               The set of ports that a packet destined to an address,
--               given by ipSwitchAddrQueryAddr, will exit the Gigaswitch.
--               "
--      ::= { ipSwitchAddrQueryEntry 3 }




--      lineCardFailureTrap TRAP-TYPE
--              ENTERPRISE      gigaswitch
--              VARIABLES       { slotIndex }
--              DESCRIPTION
--                      "
--                        A lineCardFailureTrap trap signifies that the box
--                      recognizes a failure in one of the communications
--                      slot represented in the agent's configuration.
--                      "
--      ::= 3





        --
        -- This MIB defines the AGL specific objects required 
        -- for module operation within the Gigaswitch
        --

        agl             OBJECT IDENTIFIER ::= { gigaswitch 4 }

        -- groups in the AGL2 MIB module

        aglConfig       OBJECT IDENTIFIER ::= { agl 1 }
        aglSonet        OBJECT IDENTIFIER ::= { agl 2 }
        aglDS3E3        OBJECT IDENTIFIER ::= { agl 3 }
        aglAtm          OBJECT IDENTIFIER ::= { agl 4 }

        -- aglSNP          OBJECT IDENTIFIER ::= { agl 5 }

        --
        -- The AGL Configuration Group
        --
        -- Implementation of this group is mandatory
        --

        aglInterfaceConfTable   OBJECT-TYPE
                SYNTAX          SEQUENCE OF AglInterfaceConfEntry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This table contains the AGL specific interface 
                        configuration parameters, one entry per ATM 
                        interface port.
                        "
                ::= { aglConfig 1 }

        aglInterfaceConfEntry   OBJECT-TYPE
                SYNTAX          AglInterfaceConfEntry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This list contains ATM interface configuration
                        parameters and state variables.
                        "
                INDEX { aglInterfaceIndex }

                ::= { aglInterfaceConfTable  1 }

        AglInterfaceConfEntry   ::= SEQUENCE  {
                aglInterfaceIndex                       INTEGER,
                aglInterfacePhyType                     INTEGER,
                aglInterfaceTrafficRateGranularity      INTEGER
                }

                
        aglInterfaceIndex       OBJECT-TYPE
                SYNTAX          INTEGER
                ACCESS          read-only
                STATUS          mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL port
                        interface for which this entry contains management 
                        information.
                        "
                ::= { aglInterfaceConfEntry 1 }


        aglInterfacePhyType  OBJECT-TYPE
                SYNTAX       INTEGER  {
                                        sts3cStm1(1),
                                        ds3e3(2),
                                        unKnown(3)
                                      }
                ACCESS          read-only
                STATUS          mandatory
                DESCRIPTION
                        "
                        Indicates the type of physical interface used on the 
                        ATM port. Two physical layer types are supported:
                                        1. STS3c/STM1
                                        2. DS3/E3

                        The type is unknown if the port is not present or
                        its physical layer type is not known.
                        "
                ::= { aglInterfaceConfEntry 2}

        aglInterfaceTrafficRateGranularity      OBJECT-TYPE
                SYNTAX          INTEGER
                ACCESS          read-only
                STATUS          mandatory
                DESCRIPTION
                        "
                        Indicates the granularity in cell/s for assigning
                        peak, average and minimum guaranteed rates for 
                        traffic shaped circuits on the AGL port. This value
                        also represents the minimum rate in cells/s that can
                        be assigned to a circuit. The rates subscribed to in 
                        the aglVCConnectionTable will be set to a multiple
                        of this rate.
                        "
                ::= { aglInterfaceConfEntry 3}



        --
        -- The AGL Sonet Group
        --
        -- Implementation of this group is mandatory
        --

        aglInterfaceSonetTable  OBJECT-TYPE
                SYNTAX          SEQUENCE OF AglInterfaceSonetEntry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This table contains the AGL specific interface 
                        configuration parameters for the SONET/SDH physical
                        layer.
                        "
                 ::= { aglSonet 1 }

        aglInterfaceSonetEntry  OBJECT-TYPE
                SYNTAX          AglInterfaceSonetEntry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This list contains SONET/SDH interface configuration
                        parameters and state variables.
                        "
                INDEX { aglInterfaceSonetIndex }

                ::= { aglInterfaceSonetTable  1 }

        AglInterfaceSonetEntry  ::= SEQUENCE  {
                aglInterfaceSonetIndex       INTEGER,
                aglInterfaceSonetMode        INTEGER,
                aglInterfaceSonetTiming      INTEGER
                }


        aglInterfaceSonetIndex  OBJECT-TYPE
                SYNTAX          INTEGER
                ACCESS          read-only
                STATUS          mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL 
                        port interface for which this entry contains
                        management information and is the same as 
                        aglInterfaceIndex.
                        "
                 ::= { aglInterfaceSonetEntry 1 }

        aglInterfaceSonetMode   OBJECT-TYPE
                SYNTAX       INTEGER  {
                                        sonetSTS3c(1),
                                        sdhSTM1(2)
                                      }
                ACCESS       read-write
                STATUS       mandatory
                DESCRIPTION
                        "
                        Specifies whether the PHY operates in SONET STS-3c
                        or SDH STM-1 mode. The following code points are 
                        used:
                                1       SONET STS-3c
                                2       SDH STM-1
                        "
                ::= { aglInterfaceSonetEntry 2}

        aglInterfaceSonetTiming         OBJECT-TYPE
                SYNTAX       INTEGER  {
                                        loopTiming(1),
                                        localTiming(2)
                                      }
                ACCESS       read-write
                STATUS       mandatory
                DESCRIPTION
                        "
                        Specifies whether the PHY operates in loop-timing
                        or local-timing mode. In loop-timing, the recovered
                        clock from the receive signal is used directly to 
                        time transmit data. Hence, the PHY is synchronized 
                        to the far-end transmitter. In local timing, transmit 
                        data is timed from a local oscillator of frequency 
                        155.52 MHz (20ppm). The following code points are 
                        used:
                                1       loop-timing
                                2       local-timing
                        "
                ::= { aglInterfaceSonetEntry 3}

        --
        -- The AGL DS3/E3 Group
        --
        -- Implementation of this group is mandatory
        --

        aglInterfaceDS3E3Table  OBJECT-TYPE
                SYNTAX          SEQUENCE OF AglInterfaceDS3E3Entry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This table contains the AGL specific interface
                        configuration parameters for the DS3/E3 physical
                        layer.
                        "
                 ::= { aglDS3E3 1 }

        aglInterfaceDS3E3Entry  OBJECT-TYPE
                SYNTAX          AglInterfaceDS3E3Entry
                ACCESS          not-accessible
                STATUS          mandatory
                DESCRIPTION
                        "
                        This list contains DS3/E3 interface configuration
                        parameters and state variables.
                        "
                INDEX { aglInterfaceDS3E3Index }

                ::= { aglInterfaceDS3E3Table  1 }

        AglInterfaceDS3E3Entry  ::= SEQUENCE  {
                aglInterfaceDS3E3Index       INTEGER,
                aglInterfaceDS3E3Mode        INTEGER,
                aglInterfaceDS3E3Plcp        INTEGER
                }


        aglInterfaceDS3E3Index  OBJECT-TYPE
                SYNTAX          INTEGER
                ACCESS          read-only
                STATUS          mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL
                        port interface for which this entry contains
                        management information and is the same as
                        aglInterfaceIndex.
                        "
                 ::= { aglInterfaceDS3E3Entry 1 }

        aglInterfaceDS3E3Mode   OBJECT-TYPE
                SYNTAX       INTEGER  {
                                        low-power(1),
                                        high-power(2)
                                      }
                ACCESS       read-write
                STATUS       mandatory
                DESCRIPTION
                        "
                        Specifies whether the DS3/E3 PHY operates in low
                        power mode for short distances or high power mode
                        for longer distances. The following code points are
                        used:
                                1       low-power
                                2       high-power
                        "
                ::= { aglInterfaceDS3E3Entry 2}

        aglInterfaceDS3E3Plcp   OBJECT-TYPE
                SYNTAX       INTEGER  {
                                        enable(1),
                                        disable(2)
                                      }
                ACCESS       read-write
                STATUS       mandatory
                DESCRIPTION
                        "
                        Specifies whether ATM cells may be mapped into
                        the DS3 PLCP.  In the enabled mode, PLCP framing
                        and timing is applied to each ATM cell.
                        "
                ::= { aglInterfaceDS3E3Entry 3}

        --
        -- The AGL ATM Group
        --
        -- Implementation of this group is mandatory
        --
        -- The AglVCConnectionTable allows a network manager to setup
        -- single-port bidirectional circuits or dual-port bidirectional 
        -- circuits. A single-port circuit terminates at that port, 
        -- whereas a dual-port circuit establishes a connection through
        -- the GIGAswitch between the two ports (A and B). If a single-port
        -- connection is to be established, the user simply enters zero
        -- values for port B parameters below.
        --
        --                          GIGAswitch
        --                        --------------
        --                       |              |
        --          Rx --------->| PortA        |
        --          Tx <---------|              |
        --                       |              |
        --                       |              |
        --                       |        PortB |--------> Tx
        --                       |              |<-------- Rx
        --                       |              |
        --                        --------------
        --                              

        aglVCConnectionTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglVCConnectionTableEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "
                        This table contains AGL ATM VCC configuration 
                        and performance parameters and state variables.
                        Each entry represents a bidirectional traffic 
                        flow.
                        "
                ::= { aglAtm 1 }
        
        aglVCConnectionTableEntry    OBJECT-TYPE
                SYNTAX  AglVCConnectionTableEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "
                        A bidirectional circuit.
                        "
                INDEX { aglVCConnectionPortA, aglVCConnectionPortAVpi,
                        aglVCConnectionPortAVci, aglVCConnectionPortB,
                        aglVCConnectionPortBVpi, aglVCConnectionPortBVci} 

                ::= { aglVCConnectionTable 1}

        AglVCConnectionTableEntry ::= SEQUENCE {
                aglVCConnectionPortA                            INTEGER,
                aglVCConnectionPortAVpi                         INTEGER,
                aglVCConnectionPortAVci                         INTEGER,
                aglVCConnectionPortB                            INTEGER,
                aglVCConnectionPortBVpi                         INTEGER,
                aglVCConnectionPortBVci                         INTEGER,
                aglVCConnectionTableEntryStatus                 INTEGER,
                aglVCConnectionTrafficType                      INTEGER,
                aglVCConnectionAALType                          INTEGER,
                aglVCConnectionOperStatus                       INTEGER,
                aglVCConnectionAdminStatus                      INTEGER,
                aglVCConnectionTrafficShaperPeakRate            INTEGER,
                aglVCConnectionTrafficShaperAvgRate             INTEGER,
                aglVCConnectionTrafficShaperMinGuaranteedRate   INTEGER,
                aglVCConnectionTrafficShaperPriority            INTEGER
                }

        aglVCConnectionPortA    OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL
                        ATM port A of the VCC segment for FDDI-bridged
                        and ATM-to-ATM circuit types.
                        "
                 ::= { aglVCConnectionTableEntry 1 }

        aglVCConnectionPortAVpi       OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The VPI value at port A for the bidirectional 
                        circuit. The maximum VPI value cannot exceed 
                        the number supported by the atmInterfaceMaxVpiBits 
                        at AGL ATM port A. This value is used for both 
                        transmit and receive VPIs 
                        "
                 ::= { aglVCConnectionTableEntry 2 }

        aglVCConnectionPortAVci       OBJECT-TYPE
                SYNTAX  INTEGER  (32..65535)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The VCI value at the port A for the
                        bidirectional circuit. The VCI values from 0 
                        to 31 are reserved.  The maximum VCI value
                        cannot exceed the number supported by the 
                        atmInterfaceMaxVciBits specified for the AGL 
                        ATM port A. This value is used for both 
                        transmit and receive VCIs 
                        "
                 ::= {  aglVCConnectionTableEntry 3 }


        aglVCConnectionPortB    OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL
                        ATM port B of the VCC segment for ATM-to-ATM
                        circuit types. For FDDI-bridged circuit types 
                        this value should be zero. 
                        "
                 ::= { aglVCConnectionTableEntry 4 }

        aglVCConnectionPortBVpi       OBJECT-TYPE
                SYNTAX  INTEGER  (0..255)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The VPI value at port B for the bidirectional 
                        ATM-to-ATM circuit.  The maximum VPI value 
                        cannot exceed the number supported by the 
                        atmInterfaceMaxVpiBits at AGL ATM port B.
                        This value is used for both transmit and receive 
                        VPIs. For other circuit types this value should be 
                        zero.
                        "
                 ::= { aglVCConnectionTableEntry 5 }

        aglVCConnectionPortBVci       OBJECT-TYPE
                SYNTAX  INTEGER  (32..65535)
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        The VCI value at the port B for the
                        bidirectional ATM-to-ATM circuit. The VCI values 
                        from 0 to 31 are reserved.  The maximum VCI value
                        cannot exceed the number supported by the 
                        atmInterfaceMaxVciBits specified for the AGL 
                        ATM port B. This value is used for both transmit 
                        and receive VCIs. For other circuit types this value 
                        should be zero.
                        "
                 ::= {  aglVCConnectionTableEntry 6 }

        aglVCConnectionTableEntryStatus OBJECT-TYPE
                SYNTAX  INTEGER {
                                   create(1),
                                   delete(2)
                                }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The status column used for creating, 
                        and deleting bidirectional circuit 
                        entries in the agl virtual channel 
                        connection table.
                        "
                 ::= { aglVCConnectionTableEntry 7 }

        aglVCConnectionTrafficType      OBJECT-TYPE
                SYNTAX   INTEGER  {
                                    fddi-bridged(1),
                                    atm-to-atm(2)
                                  }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the circuit
                        type and characteristics of a particular circuit.
                        There are two types of connections supported:
                                1. FDDI-bridged
                                2. ATM-to-ATM
                        An FDDI-bridged circuit carries all bridged FDDI
                        traffic on AGL ATM port A. No information is required
                        to be entered for Port B. Only one bridged FDDI 
                        circuit per AGL ATM port is supported. The packet 
                        format on this circuit is VC based multiplexed 
                        bridged FDDI as per RFC 1483.
                        
                        An ATM-to-ATM circuit carries arbitrary packet types
                        between circuits specified on Port A and Port B of
                        the GIGAswitch. Multiple ATM-to-ATM circuits are 
                        supported per AGL ATM port.
                        "
                 ::= { aglVCConnectionTableEntry 8 }

        aglVCConnectionAALType  OBJECT-TYPE
                SYNTAX   INTEGER  {
                                    aal34(1),
                                    aal5(2) 
                                  }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AAL type 
                        that should be used on a particular circuit.
                        "
                 ::= { aglVCConnectionTableEntry 9 }


        aglVCConnectionOperStatus       OBJECT-TYPE
                SYNTAX   INTEGER  { 
                                    up(1),
                                    down(2),
                                    unknown(3) 
                                  }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object indicates the operational status
                        of the VCC, i.e., whether the managed VCC
                        segment is up or down. In the down state,
                        no cells can get across this VCC segment.
                        The status is unknown if the OAM is disabled.
                        "
                ::= { aglVCConnectionTableEntry 10 }

        aglVCConnectionAdminStatus    OBJECT-TYPE
                SYNTAX   INTEGER  { 
                                    enable(1),
                                    disable(2) 
                                  }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object indicates the desired status
                        of the VCC, i.e., whether the managed VCC
                        segment is enabled or disabled. In the disabled
                        state, no cells can be passed across this VCC
                        segment.
                        "
                 ::= { aglVCConnectionTableEntry 11 }

        aglVCConnectionTrafficShaperPeakRate    OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object specifies the peak rate in
                        cells/s that should be used on a particular circuit.
                        The peak rate will be set to a multiple of the 
                        aglInterfaceTrafficRateGranularity close to the
                        user specified input.
                        "
                ::= { aglVCConnectionTableEntry 12}

        aglVCConnectionTrafficShaperAvgRate     OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object specifies the average 
                        (sustained) rate in cells/s that should be used 
                        on a particular circuit.  The average rate must be 
                        less than or equal to the peak rate and it will be 
                        set to a multiple of the aglInterfaceTrafficRate-
                        Granularity close to the user specified input.
                        " 
                ::= { aglVCConnectionTableEntry 13}

        aglVCConnectionTrafficShaperMinGuaranteedRate   OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object specifies the minimum 
                        guaranteed rate in cells/s that should be used 
                        on a particular circuit.  For VBR traffic AGL 
                        allows the possibility of overbooking link bandwidth 
                        (up to 1200%) to achive statistical multiplexing. 
                        This parameter specifies the minimum peak bandwidth 
                        that you want to guarantee to the circuit. The 
                        minimum guaranteed rate must be less than or equal 
                        to the peak rate and it will be set to a multiple 
                        of the aglInterfaceTrafficRateGranularity close
                        to the user specified input.
                        "
                ::= { aglVCConnectionTableEntry 14}

        aglVCConnectionTrafficShaperPriority    OBJECT-TYPE
                SYNTAX  INTEGER (1..12)
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        The value of this object specifies the priority which 
                        should be given to this circuit in assigning 
                        opportunistic bandwidth that arises from AGL's 
                        bandwidth overbooking policy.
                        "
                ::= { aglVCConnectionTableEntry 15}

        --
        -- The AGL specific ATM Group
        -- Implementation of this group is mandatory
        --

        aglInterfaceATMTable    OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglInterfaceATMTableEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "
                        This table contains AGL ATM interface specific
                        settable parameters.
                        "
                ::= { aglAtm 2 }

        aglInterfaceATMTableEntry       OBJECT-TYPE
                SYNTAX  AglInterfaceATMTableEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "
                        The list of settable parameters.
                        "
                INDEX { aglInterfaceATMIndex }

                ::= { aglInterfaceATMTable 1}

        AglInterfaceATMTableEntry       ::= SEQUENCE  {
                aglInterfaceATMIndex                    INTEGER,
                aglInterfaceATMScrambeStatus            INTEGER,
                aglInterfaceATMOAMStatus                INTEGER
                }

        aglInterfaceATMIndex       OBJECT-TYPE
                SYNTAX          INTEGER
                ACCESS          read-write
                STATUS          mandatory
                DESCRIPTION
                        "
                        The value of this object identifies the AGL port
                        interface for which this entry contains management
                        information and is the same as aglInterfaceIndex.
                        "
                ::= { aglInterfaceATMTableEntry 1 }

        aglInterfaceATMScrambeStatus    OBJECT-TYPE
                SYNTAX   INTEGER  {
                                    enable(1),
                                    disable(2)
                                  }
                ACCESS          read-write
                STATUS          mandatory
                DESCRIPTION
                        "
                        This object indicates the desired status
                        of the cell scramble module.  In the enabled
                        state, outgoing cells are scrambed and input
                        cells are descrambled.
                        "
                ::= { aglInterfaceATMTableEntry 2 }

        aglInterfaceATMOAMStatus        OBJECT-TYPE
                SYNTAX   INTEGER  {
                                    enable(1),
                                    disable(2)
                                  }
                ACCESS          read-write
                STATUS          mandatory
                DESCRIPTION
                        "
                        This object indicates the desired status
                        of the OAM module in the default circuit.  
                        In the enabled state, normal OAM cells 
                        are exchanged between the peers.
                        "
                ::= { aglInterfaceATMTableEntry 3 }



        --
        -- aglSNP branch snapshots the objects that are expected to be evolved and currently
        -- located under the experimental subtree.  Some objects were taken out from the
        -- experimental ATM and SONET MIBs and prefixed with agl.  The objects under this
        -- branch may be deprecated once the standard committee finalize the objects.
        --

        -- aglatmMIB OBJECT IDENTIFIER ::= { aglSNP 1 }

        aglatmMIB OBJECT IDENTIFIER ::= { gigaswitch 5 }

        aglatmMIBObjects OBJECT IDENTIFIER ::= { aglatmMIB  1 }

        aglatmInterfaceTrafficEnforcementTypes OBJECT IDENTIFIER ::= { aglatmMIBObjects  1 }

        aglatmInterfaceNoTrafficEnforcement OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the no ATM traffic enforcement type."
        ::= { aglatmInterfaceTrafficEnforcementTypes  1 }

        aglatmInterfaceTrafficEnforcementType1 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 1.
                        For type 1 traffic enforcement, parameter 1
                        specifies CLP=0+1 peak traffic.  Parameters 2, 3, 4
                        and 5 are not used. The peak rate is measured
                        in cells per second."
        ::= { aglatmInterfaceTrafficEnforcementTypes  2 }

        aglatmInterfaceTrafficEnforcementType2 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 2.
                        For type 2 traffic enforcement, parameter 1
                        specifies CLP=0 peak traffic and parameter
                        2 specifies CLP=0+1 peak traffic.  Parameters 3, 4,
                        and 5 are not used. The peak rate is measured
                        in cells per second."
        ::= { aglatmInterfaceTrafficEnforcementTypes  3 }

        aglatmInterfaceTrafficEnforcementType3 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 3.
                        For type 3 traffic enforcement, parameter 1
                        specifies CLP=0+1 peak traffic, parameter
                        2 specifies CLP=0 sustained rate, and parameter 3
                        specifies CLP=0 maximum burst size.  Parameters 4
                        and 5 are not used. The peak rate is measured
                        in cells per second. The sustained rate is measured
                        in cells per second and burst size is measured in cells."
        ::= { aglatmInterfaceTrafficEnforcementTypes  4 }

        aglatmInterfaceTrafficEnforcementType4 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 4.
                        For type 4 traffic enforcement, parameter 1
                        specifies CLP=0 peak traffic, parameter
                        2 specifies CLP=0+1 peak traffic, and parameter 3
                        specifies tagging (e.g., a value 1 may be
                        used to indicate tagging).  Parameters 4
                        and 5 are not used. The peak rate is measured
                        in cells per second."
        ::= { aglatmInterfaceTrafficEnforcementTypes  5 }

        aglatmInterfaceTrafficEnforcementType5 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 5.
                        For type 5 traffic enforcement, parameter 1
                        specifies CLP=0+1 peak traffic, parameter
                        2 specifies CLP=0 sustained rate, parameter 3
                        specifies CLP=0 maximum burst size, and parameter
                        4 specifies tagging (e.g., a value 1 may be
                        used to indicate tagging).  Parameter
                        5 is not used."
        ::= { aglatmInterfaceTrafficEnforcementTypes  6 }

        aglatmInterfaceTrafficEnforcementType6 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 6.
                        For type 6 traffic enforcement, parameter 1
                        specifies CLP=0+1 peak traffic, parameter
                        2 specifies CLP=0+1 sustained rate, and parameter 3
                        specifies CLP=0+1 maximum burst size.
                        Parameters 4 and 5 are not used."
        ::= { aglatmInterfaceTrafficEnforcementTypes  7 }

        aglatmInterfaceTrafficEnforcementType7 OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This identifies the ATM traffic enforcement type is 7.
                        For type 7 traffic enforcement, parameter 1
                        specifies CLP=0+1 peak traffic and parameter
                        2 specifies best effort traffic
                        (e.g., a value 1 may be used to indicate
                        best effort traffic).  Parameters 3, 4 and 5 are not used."
        ::= { aglatmInterfaceTrafficEnforcementTypes  8 }

        aglatmInterfaceConfTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglAtmInterfaceConfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table contains ATM local interface configuration
                        parameters and state variables, one
                        entry per ATM interface port."
        ::= { aglatmMIBObjects  2 }

        aglatmInterfaceConfEntry OBJECT-TYPE
                SYNTAX  AglAtmInterfaceConfEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This list contains ATM interface configuration
                        parameters and state variables."
                INDEX   { aglatmInterfaceIndex }
        ::= { aglatmInterfaceConfTable  1 }

        AglAtmInterfaceConfEntry ::=
                SEQUENCE {
                        aglatmInterfaceIndex
                                INTEGER,

                        aglatmInterfaceMaxVpcs
                                INTEGER,

                        aglatmInterfaceMaxVccs
                                INTEGER,

                        aglatmInterfaceConfVpcs
                                INTEGER,

                        aglatmInterfaceConfVccs
                                INTEGER,

                        aglatmInterfaceMaxActiveVpiBits
                                INTEGER,

                        aglatmInterfaceMaxActiveVciBits
                                INTEGER,

                        aglatmInterfaceIlmiVpiVci
                                INTEGER,

                        aglatmInterfaceSpecific
                                OBJECT IDENTIFIER
                }

        aglatmInterfaceIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The value of this object identifies the ATM port
                        interface for which this entry contains
                        management information."
        ::= { aglatmInterfaceConfEntry  1 }

        aglatmInterfaceMaxVpcs OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The maximum number of VPCs supported at
                        this ATM interface."
        ::= { aglatmInterfaceConfEntry  2 }

        aglatmInterfaceMaxVccs OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The maximum number of VCCs supported at
                         the ATM interface."
        ::= { aglatmInterfaceConfEntry  3 }

        aglatmInterfaceConfVpcs OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of VPCs configured for use
                         at this ATM interface."
        ::= { aglatmInterfaceConfEntry  4 }

        aglatmInterfaceConfVccs OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of VCCs configured for use
                        at the ATM interface."
        ::= { aglatmInterfaceConfEntry  5 }

        aglatmInterfaceMaxActiveVpiBits OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The  maximum number of active VPI bits
                        configured for use at the ATM interface."
        ::= { aglatmInterfaceConfEntry  6 }

        aglatmInterfaceMaxActiveVciBits OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The maximum number of active VCI bits
                        configured for use at this ATM interface."
        ::= { aglatmInterfaceConfEntry  7 }

        aglatmInterfaceIlmiVpiVci OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The decimal value of the three octet VPI/VCI
                        field that identifies the VCC supporting
                        the ILMI at the ATM interface.
                        If the value of this object is greater
                        than 16777215 then the ILMI is not supported
                        at the ATM interface.
                        The default VPI/VCI values for ILMI
                        are VPI=0 and VCI=16."
        ::= { aglatmInterfaceConfEntry  8 }

        aglatmInterfaceSpecific OBJECT-TYPE
                SYNTAX  OBJECT IDENTIFIER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This object points to the additional information
                        specific to ATM interfaces.  For example, if
                        Enterprise specific objects have been defined
                        in addition to this MIB module, then the
                        value of this object refers to that MIB
                        defining these objects.  If the additional
                        information is not present, then the value
                        should be {0 0}."
        ::= { aglatmInterfaceConfEntry  9 }

        aglatmInterfaceDs3PlcpTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglAtmInterfaceDs3PlcpEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table contains ATM interface DS3 PLCP
                        parameters and state variables, one entry per
                        ATM interface port."
        ::= { aglatmMIBObjects  3 }

        aglatmInterfaceDs3PlcpEntry OBJECT-TYPE
                SYNTAX  AglAtmInterfaceDs3PlcpEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This list contains DS3 PLCP parameters and
                        state variables at the ATM interface."
                INDEX   { aglatmInterfaceDs3PlcpIndex }
        ::= { aglatmInterfaceDs3PlcpTable  1 }

        AglAtmInterfaceDs3PlcpEntry ::=
                SEQUENCE {
                        aglatmInterfaceDs3PlcpIndex
                                INTEGER,

                        aglatmInterfaceDs3PlcpSEFSs
                                Counter,

                        aglatmInterfaceDs3PlcpAlarmState
                                INTEGER,

                        aglatmInterfaceDs3PlcpUASs
                                Counter
                }

        aglatmInterfaceDs3PlcpIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The value of this object identifies the ATM
                        interface port for which this entry
                        contains management information and is the
                        same as the atmInterfaceIndex."
        ::= { aglatmInterfaceDs3PlcpEntry  1 }

        aglatmInterfaceDs3PlcpSEFSs OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "A DS3 Severely Errored Framing Second (SEFS)
                        is a count of one-second intervals
                        containing one or more SEF event."
        ::= { aglatmInterfaceDs3PlcpEntry  2 }

        aglatmInterfaceDs3PlcpAlarmState OBJECT-TYPE
                SYNTAX  INTEGER {
                                noAlarm(1),
                                receivedFarEndAlarm(2),
                                incomingLOF(3)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable indicates if there is an
                        alarm present for the DS3 PLCP.  The value
                        receivedFarEndAlarm means that the DS3 PLCP
                        has received an incoming Yellow
                        Signal, the value incomingLOF means that
                        the DS3 PLCP has declared a loss of frame (LOF)
                        failure condition, and the value noAlarm
                        means that there are no alarms present."
        ::= { aglatmInterfaceDs3PlcpEntry  3 }

        aglatmInterfaceDs3PlcpUASs OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Unavailable Seconds encountered by the PLCP."
        ::= { aglatmInterfaceDs3PlcpEntry  4 }

        aglatmInterfaceSonetTCTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglAtmInterfaceSonetTCEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This table contains ATM interface SONET TC
                        Sublayer parameters and state variables,
                        one entry per ATM interface port."
        ::= { aglatmMIBObjects  4 }

        aglatmInterfaceSonetTCEntry OBJECT-TYPE
                SYNTAX  AglAtmInterfaceSonetTCEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "This list contains SONET TC Sublayer parameters
                        and state variables at the ATM interface."
                INDEX   { aglatmInterfaceSonetTCIndex }
        ::= { aglatmInterfaceSonetTCTable  1 }

        AglAtmInterfaceSonetTCEntry ::=
                SEQUENCE {
                        aglatmInterfaceSonetTCIndex
                                INTEGER,

                        aglatmInterfaceSonetTCOCDEvents
                                Counter,

                        aglatmInterfaceSonetTCAlarmState
                                INTEGER
        }

        aglatmInterfaceSonetTCIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The value of this object identifies the ATM
                        interface port for which this entry
                        contains management information and is
                        the same as the atmInterfaceIndex."
        ::= { aglatmInterfaceSonetTCEntry  1 }

        aglatmInterfaceSonetTCOCDEvents OBJECT-TYPE
                SYNTAX  Counter
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of times the Out of Cell
                        Delineation (OCD) events occur.  If seven
                        consecutive ATM cells have Header Error
                        Control (HEC) violations, an OCD event occurs.
                        A high number of OCD events may indicate a problem
                        with the SONET TC Sublayer."
        ::= { aglatmInterfaceSonetTCEntry  2 }

        aglatmInterfaceSonetTCAlarmState OBJECT-TYPE
                SYNTAX  INTEGER {
                                noAlarm(1),
                                lcdFailure(2)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable indicates if there is an
                        alarm present for the SONET TC Sublayer.  The value
                        lcdFailure indicates that a Loss of
                        Cell Delineation (LCD) failure state has been
                        declared for the SONET TC Sublayer."
        ::= { aglatmInterfaceSonetTCEntry  3 }



        -- aglsonetMIB OBJECT IDENTIFIER ::= { aglSNP 2 }

        aglsonetMIB OBJECT IDENTIFIER ::= { gigaswitch 6 }

        aglsonetObjects OBJECT IDENTIFIER ::= { aglsonetMIB  1 }

        aglsonetObjectsPath OBJECT IDENTIFIER ::= { aglsonetMIB  2 }

        aglsonetMedium OBJECT IDENTIFIER ::= { aglsonetObjects  1 }

        aglsonetSection OBJECT IDENTIFIER ::= { aglsonetObjects  2 }

        aglsonetLine OBJECT IDENTIFIER ::= { aglsonetObjects  3 }

        aglsonetPath OBJECT IDENTIFIER ::= { aglsonetObjectsPath  1 }


        aglsonetMediumTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglSonetMediumEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The SONET/SDH Medium table."
        ::= { aglsonetMedium  1 }

        aglsonetMediumEntry OBJECT-TYPE
                SYNTAX  AglSonetMediumEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An entry in the SONET/SDH Medium table."
                INDEX   { aglsonetMediumIfIndex }
        ::= { aglsonetMediumTable  1 }

        AglSonetMediumEntry ::=
                SEQUENCE {
                        aglsonetMediumIfIndex
                                INTEGER,

                        aglsonetMediumType
                                INTEGER,

                        aglsonetMediumTimeElapsed
                                INTEGER (-2147483648..2147483647),

                        aglsonetMediumValidIntervals
                                INTEGER (-2147483648..2147483647),

                        aglsonetMediumLineCoding
                                INTEGER,

                        aglsonetMediumLineType
                                INTEGER,

                        aglsonetMediumCircuitIdentifier
                                DisplayString
                }

        aglsonetMediumIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An index value that uniquely identifies a SONET/SDH
                        Medium/Section/Line Interface."
        ::= { aglsonetMediumEntry  1 }

        aglsonetMediumType OBJECT-TYPE
                SYNTAX  INTEGER {
                                sonet(1),
                                sdh(2)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable identifies whether a SONET
                        or a SDH signal is used across this interface."
        ::= { aglsonetMediumEntry  2 }

        aglsonetMediumTimeElapsed OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of seconds, including partial
                        seconds, that have elapsed since the beginning of
                        the current error-measurement period."
        ::= { aglsonetMediumEntry  3 }

        aglsonetMediumValidIntervals OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The number of previous intervals for which valid
                        data has been stored.  A SONET device must support
                        at least n intervals.
                        The minimum value of n is 4.
                        The default of n is 32.
                        The maximum value of n is 96.
                        The value of this object will be n unless
                        the device was brought online within the last
                        (nx15) minutes, in which case the value will be the
                        number of complete 15 minute intervals the device has
                        been online."
        ::= { aglsonetMediumEntry  4 }

        aglsonetMediumLineCoding OBJECT-TYPE
                SYNTAX  INTEGER {
                                sonetMediumOther(1),
                                sonetMediumB3ZS(2),
                                sonetMediumCMI(3),
                                sonetMediumNRZ(4),
                                sonetMediumRZ(5)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable describes the line coding for
                        this interface. The B3ZS and CMI are used for
                        electrical SONET/SDH signals (STS-1 and STS-3).
                        The Non-Return to Zero (NRZ) and the Return
                        to Zero are used for optical SONET/SDH signals."
        ::= { aglsonetMediumEntry  5 }

        aglsonetMediumLineType OBJECT-TYPE
                SYNTAX  INTEGER {
                                sonetOther(1),
                                sonetShortSingleMode(2),
                                sonetLongSingleMode(3),
                                sonetMultiMode(4),
                                sonetCoax(5),
                                sonetUTP(6)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable describes the line type for
                        this interface. The line types are
                        Short and Long Range
                        Single Mode fiber or Multi-Mode fiber interfaces,
                        and coax and UTP for electrical interfaces.  The
                        value sonetOther should be used when the Line Type is
                        not one of the listed values."
        ::= { aglsonetMediumEntry  6 }

        aglsonetMediumCircuitIdentifier OBJECT-TYPE
                SYNTAX  DisplayString
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable contains the transmission
                        vendor's circuit identifier, for the
                        purpose of facilitating troubleshooting."
        ::= { aglsonetMediumEntry  7 }

        aglsonetSectionCurrentTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglSonetSectionCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The SONET/SDH Section Current table."
        ::= { aglsonetSection  1 }

        aglsonetSectionCurrentEntry OBJECT-TYPE
                SYNTAX  AglSonetSectionCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An entry in the SONET/SDH Section Current table."
                INDEX   { aglsonetSectionCurrentIfIndex }
        ::= { aglsonetSectionCurrentTable  1 }

        AglSonetSectionCurrentEntry ::=
                SEQUENCE {
                        aglsonetSectionCurrentIfIndex
                                INTEGER,

                        aglsonetSectionCurrentStatus
                                INTEGER (-2147483648..2147483647),

                        aglsonetSectionCurrentESs
                                Gauge,

                        aglsonetSectionCurrentSESs
                                Gauge,

                        aglsonetSectionCurrentSEFSs
                                Gauge,

                        aglsonetSectionCurrentCVs
                                Gauge
        }

        aglsonetSectionCurrentIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The index value which uniquely identifies the
                        SONET/SDH Medium/Section/Line Interface."
        ::= { aglsonetSectionCurrentEntry  1 }

        aglsonetSectionCurrentStatus OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable indicates the
                        status of the interface.
                        The sonetSectionStatus
                        is a bit map represented
                        as a sum, therefore,
                        it can represent multiple defects
                        simultaneously.
                        The sonetSectionNoDefect should be
                        set if and only if
                        no other flag is set.

                        The various bit positions are:
                        1   sonetSectionNoDefect
                        2   sonetSectionLOS
                        4   sonetSectionLOF"
        ::= { aglsonetSectionCurrentEntry  2 }

        aglsonetSectionCurrentESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Errored
                        Seconds encountered by a SONET/SDH
                        Section in the current 15 minute interval."
        ::= { aglsonetSectionCurrentEntry  3 }

        aglsonetSectionCurrentSESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Severely Errored Seconds
                        encountered by a SONET/SDH Section in the current 15
                        minute interval."
        ::= { aglsonetSectionCurrentEntry  4 }

        aglsonetSectionCurrentSEFSs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Severely Errored Framing Seconds
                        encountered by a SONET/SDH Section in the current
                        15 minute interval."
        ::= { aglsonetSectionCurrentEntry  5 }

        aglsonetSectionCurrentCVs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Coding
                        Violations encountered by a
                        SONET/SDH Section in the current 15 minute interval."
        ::= { aglsonetSectionCurrentEntry  6 }

        aglsonetLineCurrentTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglSonetLineCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The SONET/SDH Line Current table."
        ::= { aglsonetLine  1 }

        aglsonetLineCurrentEntry OBJECT-TYPE
                SYNTAX  AglSonetLineCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An entry in the SONET/SDH Line Current table."
                INDEX   { aglsonetLineCurrentIfIndex }
        ::= { aglsonetLineCurrentTable  1 }

        AglSonetLineCurrentEntry ::=
                SEQUENCE {
                        aglsonetLineCurrentIfIndex
                                INTEGER,

                        aglsonetLineCurrentStatus
                                INTEGER (-2147483648..2147483647),

                        aglsonetLineCurrentESs
                                Gauge,

                        aglsonetLineCurrentSESs
                                Gauge,

                        aglsonetLineCurrentCVs
                                Gauge,

                        aglsonetLineCurrentUASs
                                Gauge
                }

        aglsonetLineCurrentIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The index value which uniquely identifies the
                        SONET/SDH Medium/Line Interface."
        ::= { aglsonetLineCurrentEntry  1 }

        aglsonetLineCurrentStatus OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable indicates the
                        status of the interface.
                        The sonetLineStatus
                        is a bit map represented
                        as a sum, therefore,
                        it can represent multiple defects
                        simultaneously.
                        The sonetLineNoDefect should be
                        set if and only if
                        no other flag is set.

                        The various bit positions are:
                        1   sonetLineNoDefect
                        2   sonetLineAIS
                        4   sonetLineRDI"
        ::= { aglsonetLineCurrentEntry  2 }

        aglsonetLineCurrentESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Errored
                        Seconds encountered by a SONET/SDH
                        Line in the current 15 minute interval."
        ::= { aglsonetLineCurrentEntry  3 }

        aglsonetLineCurrentSESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Severely Errored Seconds
                        encountered by a SONET/SDH Line in the current 15
                        minute
                        interval."
        ::= { aglsonetLineCurrentEntry  4 }

        aglsonetLineCurrentCVs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Coding
                        Violations encountered by a
                        SONET/SDH Line in the current 15 minute interval."
        ::= { aglsonetLineCurrentEntry  5 }

        aglsonetLineCurrentUASs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Unavailable Seconds
                        encountered by a SONET/SDH Line in the current 15
                        minute
                        interval."
        ::= { aglsonetLineCurrentEntry  6 }

        aglsonetPathCurrentTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF AglSonetPathCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "The SONET/SDH Path Current table."
        ::= { aglsonetPath  1 }

        aglsonetPathCurrentEntry OBJECT-TYPE
                SYNTAX  AglSonetPathCurrentEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An entry in the SONET/SDH Path Current table."
                INDEX   { aglsonetPathCurrentIfIndex }
        ::= { aglsonetPathCurrentTable  1 }

        AglSonetPathCurrentEntry ::=
                SEQUENCE {
                        aglsonetPathCurrentIfIndex
                                INTEGER,

                        aglsonetPathCurrentWidth
                                INTEGER,

                        aglsonetPathCurrentStatus
                                INTEGER (-2147483648..2147483647),

                        aglsonetPathCurrentESs
                                Gauge,

                        aglsonetPathCurrentSESs
                                Gauge,

                        aglsonetPathCurrentCVs
                                Gauge,

                        aglsonetPathCurrentUASs
                                Gauge
                }

        aglsonetPathCurrentIfIndex OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION
                        "An index value that uniquely identifies a SONET/SDH
                        Path Interface."
        ::= { aglsonetPathCurrentEntry  1 }

        aglsonetPathCurrentWidth OBJECT-TYPE
                SYNTAX  INTEGER {
                                sts1(1),
                                sts3cSTM1(2),
                                sts12cSTM4(3),
                                sts24c(4),
                                sts48cSTM16(5)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "A value that indicates the type of the SONET/SDH
                        Path.  For SONET, the assigned types are
                        the STS-Nc SPEs, where N = 1, 3, 12, 24, and 48.
                        STS-1 is equal to 51.84 Mbps.  For SDH, the assigned
                        types are the STM-Nc VCs, where N = 1, 4, and 16."
        ::= { aglsonetPathCurrentEntry  2 }

        aglsonetPathCurrentStatus OBJECT-TYPE
                SYNTAX  INTEGER
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "This variable indicates the
                        status of the interface.
                        The sonetPathStatus
                        is a bit map represented
                        as a sum, therefore,
                        it can represent multiple defects
                        simultaneously.
                        The sonetPathNoDefect should be
                        set if and only if
                        no other flag is set.

                        The various bit positions are:
                        1   sonetPathNoDefect
                        2   sonetPathSTSLOP
                        4   sonetPathSTSAIS
                        8   sonetPathSTSRDI
                        16   sonetPathUnequipped
                        32   sonetPathSignalLabelMismatch"
        ::= { aglsonetPathCurrentEntry  3 }

        aglsonetPathCurrentESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Errored
                        Seconds encountered by a SONET/SDH
                        Path in the current 15 minute interval."
        ::= { aglsonetPathCurrentEntry  4 }

        aglsonetPathCurrentSESs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Severely Errored Seconds
                        encountered by a SONET/SDH Path in the current 15
                        minute interval."
        ::= { aglsonetPathCurrentEntry  5 }

        aglsonetPathCurrentCVs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of Coding
                        Violations encountered by a
                        SONET/SDH Path in the current 15 minute interval."
        ::= { aglsonetPathCurrentEntry  6 }

        aglsonetPathCurrentUASs OBJECT-TYPE
                SYNTAX  Gauge
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "The counter associated with the number of
                        Unavailable Seconds
                        encountered by a Path in the current
                        15 minute, interval."
        ::= { aglsonetPathCurrentEntry  7 }












    portGroupMembershipTable    OBJECT-TYPE
        SYNTAX  SEQUENCE OF PortGroupMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "The table for storing the port group membership."
        ::= { gigaSets 1 }

    portGroupMembershipEntry    OBJECT-TYPE
        SYNTAX  PortGroupMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An entry stores information about a single port
                group."
        INDEX { portGroupBridgePort }
        ::= { portGroupMembershipTable 1 }

    PortGroupMembershipEntry ::=
        SEQUENCE {
                portGroupBridgePort             INTEGER,
                portGroupMembership             DisplayString,
                portGroupMembershipWorkBuf      DisplayString,
                portGroupPortType               INTEGER,
                portGroupPortTypeWorkBuf        INTEGER,
                portGroupPortOperStatus         INTEGER
        }

    portGroupBridgePort         OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The port group port number.  It is unique within this table
                and must be between 37 and 64.  Without 
                management settings, the port group has no members in it.
                "
        ::= { portGroupMembershipEntry 1 }

    portGroupMembership         OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object displays the current state of the port group
                membership.  Managers specify a new port group membership
                using portGroupMembershipWorkBuf.  The new membership
                becomes effective and remains unchanged after a system crash
                when portGroupAction is set to doUpdate and the updating 
                process succeeds.
                "
        ::= { portGroupMembershipEntry 2 }


    portGroupMembershipWorkBuf          OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                Managers can update a new port group membership as many 
                times as they want using this object.  Setting this object 
                to a new value does not change the current membership and
                the value will be resetted after a system crash.  The new
                value is copied to portGroupMembership when portGroupAction 
                is set to doUpdate and the updating process successfully 
                changes the port member.

                A port group is expressed using a shorthand that says what
                bridge ports are members of the group.

                An examples of a specification is:
                        (1,3,5)
                        (32-36)
                        (6,12-24,36)
                        ()

                A list of bridge ports between 1 and 36 are used
                to represent the members of the port group.  A bridge port 
                becoming a member of a port group ceases to operate as a 
                normal bridge port, therefore filters on the port have no 
                effect.  If a port group is specified as an empty set, the 
                members in the group will operate as normal bridge ports and 
                take their original brige port numbers.  Their original filters
                will also become effective.

                Commas separate items in a list of bridge ports.  Hyphens are 
                short-hand for specifying a range of numbers.  Bridge port 
                numbers are specified in decimal.

                A port group will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                If the manager specifies a member that is overlapped with a
                member of a preexisting port group in the same object, 
                setting portGroupAction to doUpdate will fail.
                "
        ::= { portGroupMembershipEntry 3 }

    portGroupPortType   OBJECT-TYPE
        SYNTAX  INTEGER {
                huntGroup(1),
                reliabilityGroup(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object displays the current state of the port group
                port type.  Managers specify a new port group port type
                using portGroupPortTypeWorkBuf.  The new port type becomes 
                effective and remains unchanged after a system crash
                when portGroupAction is set to doUpdate and the updating
                process succeeds.
                "
        ::= { portGroupMembershipEntry 4 }

    portGroupPortTypeWorkBuf    OBJECT-TYPE
        SYNTAX  INTEGER {
                huntGroup(1),
                reliabilityGroup(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                Managers can update a new port group port type as many
                times as they want using this object.  Setting this object
                to a new value does not change the current port type and
                the value will be resetted after a system crash.  The new
                value is copied to portGroupPortType when portGroupAction
                is set to doUpdate and the updating process successfully
                changes the port type.

                Two port group types are supported: 1) the hunt group and
                2) the reliability group.  

                All members in the hunt group port work like a single bridge 
                port as far as the bridge functions are concerned and yet 
                provides higher bandwidth due to multiple parallel FDDI links.  

                A state of a port in a reliability group is either 
                operational or backup.  Only a single port in the group
                may be operational, while the other ports in the group
                are backup.  When the operational port fails, one backup 
                mode port will be selected, and quickly become operational.
                "
        ::= { portGroupMembershipEntry 5 }

    portGroupPortOperStatus     OBJECT-TYPE
        SYNTAX  INTEGER {
                uninitializedPort(1),
                preBridging(2),
                bridging(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object indicates the operational status of the port group.
                The status represents the aggregated effect of each member's
                status.

                uninitializedPort(1) state indicates one of the followings:
                1) the port group has no member in it,
                2) no port in the port group is powered on,
                3) no port in the port group has successfully 
                   completed startup diagnostics.

                State preBridging(2) means that some ports in the port group
                have been initialized with the bridge functions, but no port
                is not yet functioning as part of a bridge port.  This is 
                always the case if the datalink is not up.  A hunt group 
                member remains in this state if the remote end of the link
                is not properly configured as part of the hunt group.  An 
                inactive member of a reliability group is also in this state
                if it is up and initialized.

                State bridging(3) means that at least one port in the port
                group is functioning as part of a bridge port.  The port
                group must be in this state to carry user data.
                "
        ::= { portGroupMembershipEntry 6 }


    portGroupFppnMembershipTable        OBJECT-TYPE
        SYNTAX  SEQUENCE OF PortGroupFppnMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "The table for storing the port group membership
                specified by FPPN numbers."
        ::= { gigaSets 2 }

    portGroupFppnMembershipEntry        OBJECT-TYPE
        SYNTAX  PortGroupFppnMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An entry stores information about a single port
                group."
        INDEX { portGroupFppnPort }
        ::= { portGroupFppnMembershipTable 1 }

    PortGroupFppnMembershipEntry ::=
        SEQUENCE {
                portGroupFppnPort               DisplayString,
                portGroupFppnMembership         DisplayString,
                portGroupFppnMembershipWorkBuf  DisplayString,
                portGroupFppnPortType           INTEGER,
                portGroupFppnPortTypeWorkBuf    INTEGER,
                portGroupFppnPortOperStatus     INTEGER
        }

    portGroupFppnPort           OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The port group port number.  It is unique within this table
                and must be between 99.37 and 99.64.  Without management 
                settings, the port group has no members in it.
                "
        ::= { portGroupFppnMembershipEntry 1 }

    portGroupFppnMembership             OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object displays the current state of the port group
                membership.  Managers specify a new port group membership
                using portGroupFppnMembershipWorkBuf.  The new membership
                becomes effective and remains unchanged after a system crash
                when portGroupAction is set to doUpdate and the updating 
                process succeeds.
                "
        ::= { portGroupFppnMembershipEntry 2 }


    portGroupFppnMembershipWorkBuf              OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                Managers can update a new port group membership as many 
                times as they want using this object.  Setting this object 
                to a new value does not change the current membership and
                the value will be resetted after a system crash.  The new
                value is copied to portGroupFppnMembership when portGroupAction
                is set to doUpdate and the updating process successfully 
                changes the port member.

                A port group is expressed using a shorthand that says what
                FPPN ports are members of the group.

                An examples of a specification is:
                        (1.1,3.2,5.1)
                        (13.1-14.2)
                        (4.1,11.1-13.2,14.2)
                        ()

                A list of FPPN ports between 1.1 and 14.2 are used to 
                represent the members of the port group.  A port becoming
                a member of a port group ceases to operate as a normal 
                bridge port, therefore filters on the port have no effect.
                If a port group is specified as an empty set, the members in 
                the group will operate as normal bridge ports and take their 
                original FPPN port numbers.  Their original filters will 
                also become effective.

                Commas separate items in a list of FPPN ports.  Hyphens are 
                short-hand for specifying a range of numbers.  FPPN port
                numbers are of the form (slot.port) where slot is the slot
                number and port is the port number in the slot.

                A port group will read back in a form equivalent to the form
                written.  It may not read back exactly as written.

                If the manager specifies a member that is overlapped with a
                member of a preexisting port group in the same object,
                setting portGroupAction to doUpdate will fail.
                "
        ::= { portGroupFppnMembershipEntry 3 }

    portGroupFppnPortType       OBJECT-TYPE
        SYNTAX  INTEGER {
                huntGroup(1),
                reliabilityGroup(2)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object displays the current state of the port group
                port type.  Managers specify a new port group port type
                using portGroupPortTypeWorkBuf.  The new port type becomes 
                effective and remains unchanged after a system crash
                when portGroupAction is set to doUpdate and the updating
                process succeeds.
                "
        ::= { portGroupFppnMembershipEntry 4 }

    portGroupFppnPortTypeWorkBuf        OBJECT-TYPE
        SYNTAX  INTEGER {
                huntGroup(1),
                reliabilityGroup(2)
        }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                Managers can update a new port group port type as many
                times as they want using this object.  Setting this object
                to a new value does not change the current port type and
                the value will be resetted after a system crash.  The new
                value is copied to portGroupPortType when portGroupAction
                is set to doUpdate and the updating process successfully
                changes the port type.

                Two port group types are supported: 1) the hunt group and
                2) the reliability group.  

                All members in the hunt group port work like a single bridge 
                port as far as the bridge functions are concerned and yet 
                provides higher bandwidth due to multiple parallel FDDI links.  

                A state of a port in a reliability group is either 
                operational or backup.  Only a single port in the group
                may be operational, while the other ports in the group
                are backup.  When the operational port fails, one backup 
                mode port will be selected, and quickly become operational.
                "
        ::= { portGroupFppnMembershipEntry 5 }

    portGroupFppnPortOperStatus     OBJECT-TYPE
        SYNTAX  INTEGER {
                uninitializedPort(1),
                preBridging(2),
                bridging(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object indicates the operational status of the port group.
                The status represents the aggregated effect of each member's
                status.

                uninitializedPort(1) state indicates one of the followings:
                1) the port group has no member in it,
                2) no port in the port group is powered on,
                3) no port in the port group has successfully
                   completed startup diagnostics.

                State preBridging(2) means that some ports in the port group
                have been initialized with the bridge functions, but no port
                is not yet functioning as part of a bridge port.  This is
                always the case if the datalink is not up.  A hunt group
                member remains in this state if the remote end of the link
                is not properly configured as part of the hunt group.  An
                inactive member of a reliability group is also in this state
                if it is up and initialized.

                State bridging(3) means that at least one port in the port
                group is functioning as part of a bridge port.  The port
                group must be in this state to carry user data.
                "
        ::= { portGroupFppnMembershipEntry 6 }


    portGroupStatusTable        OBJECT-TYPE
        SYNTAX  SEQUENCE OF PortGroupStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "The table for storing the port status."
        ::= { gigaSets 3 }

    portGroupStatusEntry        OBJECT-TYPE
        SYNTAX  PortGroupStatusEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "An entry stores the port status."
        INDEX { portGroupStatusBridgePort }
        ::= { portGroupStatusTable 1 }

    PortGroupStatusEntry ::=
        SEQUENCE {
                portGroupStatusBridgePort       INTEGER,
                portGroupStatusPortNumber       INTEGER,
                portGroupStatusPortType         INTEGER,
                portGroupStatusOperStatus       INTEGER
        }

    portGroupStatusBridgePort   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The bridge port number runs from 1 to _LASTPHYSPORT_.
                "
        ::= { portGroupStatusEntry 1 }

    portGroupStatusPortNumber   OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "If the indexed port is a member of a port group, the port
                group number is returned.  Otherwise, the index itself is
                returned.
                "
        ::= { portGroupStatusEntry 2 }

    portGroupStatusPortType     OBJECT-TYPE
        SYNTAX  INTEGER {
                singleton(1),
                huntGroupMember(2),
                reliabilityGroupMember(3)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object represents the port type.
                "
        ::= { portGroupStatusEntry 3 }

    portGroupStatusOperStatus   OBJECT-TYPE
        SYNTAX  INTEGER {
                uninitializedPort(1),
                portInitializing(2),
                preBridging(3),
                bridging(4)
        }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object indicates the operational status of the indexed
                port.

                uninitializedPort(1) state indicates one of the followings:
                1) the port is nonexistent,
                2) the port is in a slot that is not powered on,
                3) the port has not successfully completed startup diagnostics.

                Ports in portInitializing(2) state are in the process of being
                initialized.  It is a temporary state.

                State preBridging(3) means that the port has been initialized
                with the bridge functions, but is not functioning as part of a 
                bridge port.  This is always the case if the datalink is not
                up.  A hunt group member remains in this state if the remote
                end of the link is not properly configured as part of the hunt
                group.  An inactive member of a reliability group is also in 
                this state if it is up and initialized.

                State bridging(4) means that the port is functioning as
                part of a bridge port.  Ports must be in this state to
                carry user data.
                "
        ::= { portGroupStatusEntry 4 }





    learningDomainMembershipTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF LearningDomainMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 This table allows learning domains to be created, modified,
                 and deleted. There can be from 1 to 8 learning domains.

                 A learning domain is a collection of port groups (or bridge
                 ports) which share a learning database.  Every  bridge port
                 is a member of precisely one learning domain.  A MAC address
                 that is seen on one port of the learning domain will  be
                 taught to the other ports in the learning domain, but not to 
                 ports in other learning domains, unless a target learning
                 domain has been set up. 

                 Among other things, this allows for the possbility that a
                 single MAC address  may be learned on several different
                 ports - as long as they are in separate  learning domains.

                 There are a maximum of 8 learning domains, including the 
                 default learning domain. The default learning domain is the 
                 set of all bridge ports that do not belong to a management 
                 defined learning domain.
                 "

        ::= { gigaSets 4 }

    learningDomainMembershipEntry OBJECT-TYPE
        SYNTAX  LearningDomainMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 A group of objects, indexed by learningDomainNumber,
                 that specify learning domain attributes.
                 "
        INDEX { learningDomainNumber }
        ::= { learningDomainMembershipTable 1 }

    LearningDomainMembershipEntry ::=
        SEQUENCE {
                learningDomainNumber            INTEGER,
                learningDomainMembership        DisplayString,
                learningDomainMembershipWorkBuf DisplayString
        }

    learningDomainNumber  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                 "
                 The index for a learning domain is an integer with
                 range, 1-8, where 1 is the default learning domain.
                 "

        ::= { learningDomainMembershipEntry 1 }

    learningDomainMembership OBJECT-TYPE 
        SYNTAX  DisplayString 
        ACCESS  read-only 
        STATUS  mandatory 
        DESCRIPTION 
                 "                
                 This object displays the current state of the learning 
                 domain membership.  Managers specify a new learning domain
                 membership using learningDomainMembershipWorkBuf.  The new
                 membership becomes effective and remains unchanged, across
                 system reboots, when portGroupAction is set to doUpdate
                 and the updating process succeeds.
                 "

        ::= { learningDomainMembershipEntry 2 }

    learningDomainMembershipWorkBuf OBJECT-TYPE  
        SYNTAX  DisplayString 
        ACCESS  read-write  
        STATUS  mandatory 
        DESCRIPTION  
                 " 
                 The learningDomainMembershipWorkBuf object is used to
                 create,modify, and delete learning domains.

                 Managers can update a learning domain membership as many
                 times as they want using this object.  Setting this object
                 to a new value does not change the current membership nor
                 the values stored in non-volatile memory until the object
                 portGroupAction is written with doUpdate. At that time the 
                 new values will be written to learningDomainMembership and 
                 non-volatile memory and the learning domain changes will
                 take effect.

                 The addition/removal of bridge ports to/from a learning
                 domain is an atomic operation. Because a bridge port can
                 only belong to one learning domain, the last assignment of a
                 bridge port to a learning domain will determine the learning
                 domain in which the bridge port resides.

                 There  is a default learning domain, designated by
                 learningDomainNumber 1, which all bridge ports belong to
                 until management changes the assignments of bridge ports
                 to learning domains. If a bridge port is removed from a
                 learning domain, it is placed back into the default
                 learning domain. The default learning domain can not be
                 modified directly. It changes when new learning domains
                 are created or modified.

                 Every learning domain is a member of precisely one logical
                 bridge.

                 The learningDomainMembership is expressed using a shorthand
                 that specifies which bridge ports belong in the learning
                 domain. An example of a specification would be :

                                         (1,6-9,21)

                 where commas separate bridge ports and hyphens are short-hand
                 for specifying a range of numbers. This example would assign
                 bridge ports 1,6,7,8,9, and 21 to the specified learning domain.

                 Bridge port numbers are specified in decimal.

                 A learning domain will read back in a form equivalent to the
                 form written.  It may not read back exactly as written.
                 "
        ::= { learningDomainMembershipEntry 3 }

    learningQuotaTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF LearningQuotaEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 "
                 Each logical bridge domain (LBD) has a learning quota. This table 
                 allows the setting of theses quotas.
                 "
        ::= { gigaSets 11 }

    learningQuotaEntry OBJECT-TYPE
        SYNTAX  LearningQuotaEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                 "
                 A group of objects, indexed by learningQuotaNumber,
                 that specify learning quotas.
                 "
        INDEX { learningQuotaNumber }
        ::= { learningQuotaTable 1 }

    LearningQuotaEntry ::=
        SEQUENCE {
                learningQuotaNumber       INTEGER,
                learningQuota             INTEGER
        }

    learningQuotaNumber  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                 "
                 The index for a learning quota is a learning domain with
                 range, 1 - 8.
                 "
        ::= { learningQuotaEntry 1 }

    learningQuota   OBJECT-TYPE 
        SYNTAX  INTEGER 
        ACCESS  read-write 
        STATUS  mandatory 
        DESCRIPTION 
                 " 
                 Each learning domain has a learning quota.  The ports in the
                 domain are guaranteed the ability to use approximately this
                 number of address entries in the Translation Table, so that
                 an excessive number of learned addresses in one domain cannot
                 interfere significantly with learning in another domain. The
                 GIGAswitch keeps track of the count of addresses learned in
                 each domain and deletes addresses from the domains that have
                 most exceeded their learning quotas to make room for
                 addresses learned in other domains.  If these quotas are
                 configured so that they add up to less than the size of the
                 SCP Translation Table, there are almost always SCP
                 Translation Table entries available to accommodate new
                 learned addresses.  Further, these addresses will not be
                 deleted to make room for others unless the domain's quota is
                 reached or is close to being reached.  

                 If the SCP Translation Table is not full, the quotas are
                 allowed to be exceeded. Under such circumstances, the count
                 of learned addresses in a logical bridge may grow until it is
                 close to the number of unused entries in the Translation
                 Table plus the applicable learning quota.  The learning
                 quotas are not exact, and addresses may start to be deleted
                 when this limit is within a small number of addresses
                 (initially 100) of being reached.

                 It should be remembered that there are factors other than the
                 learning quotas that may restrict the number of addresses
                 that can be learned, so that a high learning quota does not
                 guarantee that number of addresses may be learned. In
                 particular:

                 1) If the capacity of the linecard Translation Tables is
                 exceeded, no more addresses may be learned on that linecard.

                 2) If the sum of the configured learning quotas is greater
                 than the SCP Translation Table size, then no more addresses
                 may be learned once the SCP Translation Table is full, even
                 though no quota may have been exceeded.

                 When either of these situations occur, an attempt is made to
                 solve the problem by deleting addresses in the same manner as
                 when dealing with the learning quota limits.

                 The default value for each learning quota is 32768, the same
                 as the capacity of the SCP Translation Table.  This large
                 value means that the quotas have no effect.  To see the full
                 benefit of learning quotas, they should be set so that the
                 sum of the quotas over all active domains is less than 32500.
                 "
        ::= { learningQuotaEntry 2 }



    portTargetDomainListMembershipTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF PortTargetDomainListMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 This table allows port target domains lists to be
                 created, modified, and deleted.

                 The port target domain list is the set of all mgmt
                 defined learning domains to which a bridge port, as
                 specified by the index, will learn addresses from. A
                 MAC address  that is seen in one of the learning
                 domains in the port target domain list will be learned
                 by the indexed bridge port.

                 Every port target domain is a member of precisely one
                 logical bridge.
                 "

        ::= { gigaSets 5 }

    portTargetDomainListMembershipEntry OBJECT-TYPE
        SYNTAX  PortTargetDomainListMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 A group of objects, indexed by portTargetDomainListIndex, 
                 that specify port target domain attributes.
                 "
        INDEX { portTargetDomainListIndex }

        ::= { portTargetDomainListMembershipTable 1 }

    PortTargetDomainListMembershipEntry ::=
        SEQUENCE {
                portTargetDomainListIndex                    INTEGER,
                portTargetDomainListMembership               DisplayString,
                portTargetDomainListMembershipWorkBuf        DisplayString
        }

    portTargetDomainListIndex  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                 "
                 A bridge port number from 1 - 64 .
                 "

        ::= { portTargetDomainListMembershipEntry 1 }

    portTargetDomainListMembership OBJECT-TYPE 
        SYNTAX  DisplayString 
        ACCESS  read-only
        STATUS  mandatory 
        DESCRIPTION 
                 "
                 The portTargetDomainListMembership specifies a set of
                 mgmt specified learning domains.

                 This object displays the current state of the port
                 target domain list membership. Managers specify a new
                 port target domain membership, or modify an existing
                 one using portTargetDomainListMembershipWorkBuf. The
                 new membership becomes effective and remains unchanged,
                 across system reboots, when portGroupAction is set to
                 doUpdate and the updating process succeeds.
                 "
        ::= { portTargetDomainListMembershipEntry 2 }

    portTargetDomainListMembershipWorkBuf OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory 
        DESCRIPTION 
                 "
                 The portTargetDomainListMembership object is used to
                 create, modify, and delete port target domain lists.

                 Managers can update a port target domain membership
                 list as many times as they want using this object. 
                 Setting this object to a new value does not change the
                 current membership nor the values stored in mgmt memory
                 until the object portGroupAction is written with
                 doUpdate. At that time the new values will be written
                 to portTargetDomainListMembership and mgmt memory and
                 the target domain changes will take effect.

                 The portTargetDomainListMembership specifies the target
                 domains that a learning domain belongs to. This set of
                 learning domains is called the port target domain list. 

                 The portTargetDomainListMembership is expressed using a
                 shorthand that specifies which learning domains belong
                 in the port target domain list. An example of a
                 specification would be :

                            (2-4,6,8)

                 where commas separate learning domains and hyphens are
                 short-hand for specifying a range of numbers.. This
                 example would  map the learning domain to the port
                 target domain list consisting of learning_domains 2, 3,
                 4, 6, and 8. Valid values for learning domains are 1-8.

                 A port target domain list will read back in a form
                 equivalent to the form written.  It may not read back
                 exactly as written.
                 "
        ::= { portTargetDomainListMembershipEntry 3 }




    lBDomainMembershipTable     OBJECT-TYPE
        SYNTAX  SEQUENCE OF LBDomainMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "
                The table for storing the logical bridge domain 
                membership.
                "
        ::= { gigaSets 6 }

    lBDomainMembershipEntry     OBJECT-TYPE
        SYNTAX  LBDomainMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "
                An entry stores information about a logical bridge
                domain.
                "
        INDEX { lBDomainNumber }
        ::= { lBDomainMembershipTable 1 }

    LBDomainMembershipEntry     ::=
        SEQUENCE {
                lBDomainNumber          INTEGER,
                lBDomainMembership              DisplayString,
                lBDomainMembershipWorkBuf       DisplayString
        }

    lBDomainNumber              OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                The logical bridge domain number.  It is unique within
                this table and must be between 1 and 8.
                "
        ::= { lBDomainMembershipEntry 1 }

    lBDomainMembership  OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "
                This object displays the learning domain numbers which are 
                members of the indexed logical bridge domain in the current
                box configuration.
                "
        ::= { lBDomainMembershipEntry 2 }

    lBDomainMembershipWorkBuf   OBJECT-TYPE
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "
                Managers can specify logical bridge domains as many times as
                needed without effecting the current box configuration using 
                this object.  Setting this object to a new value is stored 
                in a local buffer and the changes are not recorded in the 
                nonvolatile memory.
                
                The new value is copied into lBDomainMembership and 
                becomes effective when portGroupAction is set to doUpdate 
                and the updating process successfully upgrades the logical
                bridge domains.

                A logical bridge domain is expressed using a shorthand that
                says what learning domains are members of it.

                An examples of a specification is:
                        (1,3,5)
                        (2-4)

                Commas separate items in a list of learning domains.  Hyphens
                are short-hand for specifying a range of numbers. Learning
                domain numbers are specified in decimal.

                A logical bridge domain will read back in a form equivalent to
                the form written.  It may not read back exactly as written.

                Without a management set, the default logical bridge domain
                (i.e., domain number 1) contains all learning domains.  The
                other logical bridge domains are empty sets.  A logical
                bridge domain is created by specifying what learning domains
                are members of it.  Specified learning domains are deleted
                from the old logical bridge domain and added to the new
                logical bridge domain.  Deletion and addition of the learning
                domains are atomic across the SNMP messages.  Learning domains
                left out in the specification will automatically join the
                default logical bridge domain.

                Reconfiguring logical bridge domains is an expensive operation.
                Therefore the manager should not change the configuration
                very often.
                "
        ::= { lBDomainMembershipEntry 3 }



        portGroupAction OBJECT-TYPE
                SYNTAX  INTEGER {
                           none(1),
                           doUpdate(2)
                        }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        To initiate a configuration upgrade of a box, set
                        this object.

                        The tables updated with this set operation are:
                                portGroupMembershipTable,
                                learningDomainMembershipTable,
                                portTargetDomainListMembershipTable,
                                lBDomainMembershipTable

                        The handler checks the consistency of the manager's
                        configuraton of the box specified in the tables'
                        working buffer.  If no configuraton error is detected,
                        the box starts the reconfiguration process and the
                        working buffers are copied into their corresponding
                        variables.  The changes will survive after a system
                        crash.

                        Reading this object always returns the value none(1).
                        "
                ::= { gigaSets 7 }

        portGroupActionStatus   OBJECT-TYPE
                SYNTAX  INTEGER {
                           success(1),
                           failedDueToOthers(2),
                           failedDueToPGSpec(3),
                           failedDueToLDSpec(4),
                           failedDueToTLDSpec(5),
                           failedDueToLBDSpec(6)
                        }
                ACCESS  read-only
                STATUS  mandatory
                DESCRIPTION
                        "
                        This object shows the result of the most recent
                        setting of portGroupAction to doUpdate(2).
                        "
                ::= { gigaSets 8 }



    trafficGroupMembershipTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF TrafficGroupMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 This table allows the user to add and delete physical ports
                 to traffic groups. There can be from 1 to 16 traffic groups.

                 A traffic group is a collection of physical ports that is 
                 used to allow single path traffic coming in on  physical
                 ports to be transmitted out a single management assigned
                 member port of a hunt group. This is used to restrict single
                 path traffic from being multipathed in a hunt group.

                 Every physical port must belong to one of 16 traffic groups.
                 Traffic group 1 is the default traffic group. All ports
                 that do not belong to traffic groups 2-16 belong to the
                 default traffic  group.
                 "

        ::= { gigaSets 9 }

    trafficGroupMembershipEntry OBJECT-TYPE
        SYNTAX  TrafficGroupMembershipEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 An entry that stores information about a traffic group.
                 "
        INDEX { trafficGroupNumber }
        ::= { trafficGroupMembershipTable 1 }

    TrafficGroupMembershipEntry ::=
        SEQUENCE {
                trafficGroupNumber              INTEGER,
                trafficGroupMembership          DisplayString
        }

    trafficGroupNumber  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                 "
                 The index for the  traffic group membership is a traffic 
                 group number. Traffic group numbers are in the range 1-16.
                 Traffic group 1 is the default traffic group.
                 "
        ::= { trafficGroupMembershipEntry 1 }

    trafficGroupMembership OBJECT-TYPE 
        SYNTAX  DisplayString
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION 
                 "
                 The trafficGroupMembership object allows the user to add 
                 and delete physical ports from traffic groups.

                 Because a physical port can only belong to one traffic
                 group,  the last assignment of a physical port to a traffic
                 group will  determine the traffic group in which the
                 physical port is a member.

                 There is a default traffic group which physical ports
                 belong to until management changes the assignments of
                 physical ports to traffic groups. If a physical port is
                 removed from a traffic group, it is placed back into
                 the default traffic group. The default traffic group
                 can not be modified directly. It changes when new
                 traffic groups are added or removed from other traffic
                 groups. The default traffic group is traffic group 1.
                      
                 The trafficGroupMembership is expressed using a shorthand
                 that specifies which physical ports belong in the traffic
                 group. An example of a specification would be :

                                         (1,6-9,21)

                 where commas separate physical ports and hyphens are short-
                 hand for specifying a range of numbers. This example would
                 assign physical ports 1,6,7,8,9, and 21 to the specified
                 traffic group.

                 Physical port numbers are specified in decimal.

                 A traffic group will read back in a form equivalent to the
                 form written.  It may not read back exactly as written.
                 "
        ::= { trafficGroupMembershipEntry 2 }

    trafficGroupAttributeTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF TrafficGroupAttributeEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 This table allows traffic group attributes to be set.
                 "

        ::= { gigaSets 10 }

    trafficGroupAttributeEntry OBJECT-TYPE
        SYNTAX  TrafficGroupAttributeEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION 
                 "
                 An entry that stores traffic group attributes.
                 "
        INDEX { trafficGroupNum, trafficGroupHgNumber }
        ::= { trafficGroupAttributeTable 1 }

    TrafficGroupAttributeEntry ::=
        SEQUENCE {
                trafficGroupNum                 INTEGER,
                trafficGroupHgNumber            INTEGER,
                trafficGroupHgMember            INTEGER,
                trafficGroupCategory            INTEGER
        }

    trafficGroupNum  OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION 
                 "
                 One of two indexes into the trafficGroupAttributeTable.
                 It is within the range 1-16. 
                 "
        ::= { trafficGroupAttributeEntry 1 }

    trafficGroupHgNumber  OBJECT-TYPE 
        SYNTAX  INTEGER 
        ACCESS  read-only 
        STATUS  mandatory 
        DESCRIPTION  
                 "
                 Second of two indexes into the trafficGroupAttributeTable. 
                 This is the hunt group that all ports in the traffic group 
                 are assigned to and is in the range 37-64.
                 " 
        ::= { trafficGroupAttributeEntry 2 }

    trafficGroupHgMember OBJECT-TYPE 
        SYNTAX  INTEGER
        ACCESS  read-write 
        STATUS  mandatory 
        DESCRIPTION 
                 "                
                 The trafficGroupHgMember is a number in the range 1-16
                 that maps to a member of the hunt group specified by
                 trafficGroupHgNumber. trafficGroupHgMember 1 maps to the 
                 lowest numbered member of the hunt group,
                 trafficGroupHgMember 2 maps to the second lowest
                 numbered member of the hunt group, etc. If the
                 trafficGroupHgMember is greater then the number of 
                 members in the hunt group, then it wraps.
                 For example :
                        Given that traffic groups 1,2,3,4,5 all have physical
                        ports.
                        hunt group 37 = {3,6,8}
                        For hunt group 37 :
                            traffic group 1 set to member number 1
                            traffic group 2 set to member number 2
                            traffic group 3 set to member number 3
                            traffic group 4 set to member number 4
                            traffic group 5 set to member number 5
                        then
                            trafficGroupHgMember 1 maps to port 3
                            trafficGroupHgMember 2 maps to port 6
                            trafficGroupHgMember 3 maps to port 8
                            trafficGroupHgMember 4 maps to port 3
                            trafficGroupHgMember 5 maps to port 6
                 "
        ::= { trafficGroupAttributeEntry 3 }

    trafficGroupCategory OBJECT-TYPE 
        SYNTAX  INTEGER {
                    fixed (1),
                    reconfig (2)
                }
        ACCESS  read-write 
        STATUS  mandatory 
        DESCRIPTION 
                 "                
                 The trafficGroupCatagory is defined as follows :
 
                 fixed
                 -----
                 fixed means that traffic is to stay on the same port until
                 the port fails. For this value, the member number is
                 ignored completely. The first physical port that comes up
                 in the hunt group will be assigned the traffic. If the port 
                 fails the lowest numbered remaining member of the hunt group 
                 will be assigned the traffic. If the traffic category is fixed,
                 sequential delivery of packets is almost guaranteed. 

                 reconfig
                 --------
                 reconfig means that the traffic group may be moved from one
                 hunt group member to another whenever any port joins or
                 leaves the hunt group.  If possible, the traffic group must
                 use the hunt group member whose trafficGroupHgMember is
                 configured. If the traffic category is reconfig, sequential 
                 delivery of packets is guaranteed, except when members enter
                 or leave the hunt group.
                 "

        ::= { trafficGroupAttributeEntry 4 }




--
--      Objects for configuring the ports on one of the Fast Ethernet line
--      cards available for the GIGAswitch/FDDI.
--

        xglTable OBJECT-TYPE
                SYNTAX  SEQUENCE OF XglEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION "This table contains miscellaneous objects for
                        configuring Fast Ethernet interfaces."
        ::= { gigaXglEthernetGroup 1 }

        xglEntry OBJECT-TYPE
                SYNTAX  XglEntry
                ACCESS  not-accessible
                STATUS  mandatory
                DESCRIPTION "Data for a particular Fast Ethernet interface.
                        This table may be optionally implemented in such a
                        way as to allow pre-configuration of hardware which
                        has not yet been installed."
                INDEX { ifIndex }
        ::= { xglTable 1 }

        XglEntry ::=
            SEQUENCE {
                xglCompliantMtu          INTEGER,
                xglDisableIcmpErrors     INTEGER,
                xglTxErrorsToIcmpFifo    INTEGER,
                xglRxErrorsToIcmpFifo    INTEGER,
                xglEnableAppletalkArpII  INTEGER,
                xglEnableRawIPX          INTEGER
        }

        xglCompliantMtu OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When  true, packets with a data unit of size <=
                        1500 bytes are sent and received.

                        When false, packets with a data unit of size <=
                        1535 bytes are sent and received.
                        "
        ::= { xglEntry 1 }

        xglDisableIcmpErrors OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When true(1), ICMP redirect message processing is
                        disabled for the specified port.
                        "
        ::= { xglEntry 2 }

        xglTxErrorsToIcmpFifo OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When true(1), transmit errors are sent to the ICMP
                        FIFO.
                        "
        ::= { xglEntry 3 }

        xglRxErrorsToIcmpFifo OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When true(1), receive errors are sent to the ICMP
                        FIFO.
                        "
        ::= { xglEntry 4 }

        xglEnableAppletalkArpII OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When true(1), enables Appletalk ARP II support.
                        "
        ::= { xglEntry 5 }

        xglEnableRawIPX OBJECT-TYPE
                SYNTAX  INTEGER { true(1), false(2) }
                ACCESS  read-write
                STATUS  mandatory
                DESCRIPTION
                        "
                        When true(1), enables raw IPX support.
                        "
        ::= { xglEntry 6 }

    END
