[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference netcad::hub_mgnt

Title:DEChub/HUBwatch/PROBEwatch CONFERENCE
Notice:Firmware -2, Doc -3, Power -4, HW kits -5, firm load -6&7
Moderator:NETCAD::COLELLADT
Created:Wed Nov 13 1991
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:4455
Total number of notes:16761

68.0. "SNMP MIB specs" by JOCKEY::GREENR (Curiosity Killed The Cat) Tue Oct 27 1992 11:41

    A customer has asked me is our DECagent90 SNMP MIB spec(s) available on
    the internet, if so where ?
    
    			ta,
    
    				Ross
T.RTitleUserPersonal
Name
DateLines
68.1dh90_public.myNOHOST::LEVINBryan, LENaC Engineering, MLO3-3/U39Mon Nov 02 1992 19:582207
------------------------------------------------------------------------------
--  DECagent 90 and DEChub 90 Vendor MIB Document for SNMP V1 implementation
--
--      Last updated    "Thu Oct 15 17:42:55 EDT 1992"      BLL
--
------------------------------------------------------------------------------
--
--
--  The following is the structure for a MIB for the DEChub 90
--  and DECagent 90.
--
--  The DEChub 90 is a Ethernet hub with repeater, bridge and
--  terminal server modules.  SNMP Management of the hub is
--  provided by the DECagent 90, a management module which
--  resides in the hub (or optionally on the same LAN as the
--  hub).  The DECagent 90 also provides proxy SNMP management
--  for multiple hubs and for stand alone modules which are not
--  installed in a hub. 
--  
--  The DECagent 90 (the "agent") uses multiple community
--  strings to proxy for hubs and/or modules.  Each hub and
--  standalone module uses a distinct pair of {read-only,
--  read-write} community strings. All SNMP requests are sent to
--  the agent, and the agent uses the PDUs community string to
--  determine the destination and the access level for the
--  request.  Standalone modules are treated as a hub with one
--  slot. The community table in the da90 group is used to
--  manage the community strings and access to communities.
--
--  Each community contains one hub. The dh90 (DEChub 90) group
--  describes the hub and the contents of the hub. The
--  dh90SlotTable contains a row for each slot in the hub and
--  provides information on the module installed in that slot
--  (type, id, version, MAC address, etc).
--
--  Repeater and bridge management is accomplished via the
--  standard bridge mib and via DEC extensions in the
--  drpt90PortTable (repeater port table), db90system group
--  (system-like variables for the bridge), dbIfTable
--  (interface-like variables for the bridge) and the db90bridge
--  group (characteristics, statistics, counters, spanning tree,
--  interface and protocol filter information and control).
--
--  Terminal server management is primarily provided through the
--  standard char-like and rs232-like mibs. There is also
--  additional server information and management controls
--  provided in the ds90LModuleTable, ds90LPortTable and the
--  ds90LSessionTable.
--


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


DECHUB90-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        enterprises, IpAddress, Counter, Gauge, TimeTicks   FROM RFC1155-SMI

        PhysAddress, DisplayString                          FROM RFC1213-MIB

        OBJECT-TYPE                                         FROM RFC-1212;


-- Textual Conventions

    ProxyString ::= OCTET STRING (SIZE (0..32))
    --  This is essentially a DisplayString, but with 
    --  a 32-character length limit.




--
-- OID definitions that belong to the Data Space
--      These are used as registration points for leaf mib objects

dec                     OBJECT IDENTIFIER ::=  { enterprises 36 }

ema                     OBJECT IDENTIFIER ::=  { dec 2 }

decMIBextension         OBJECT IDENTIFIER ::=  { ema 18 }

dechub90                OBJECT IDENTIFIER ::=  { decMIBextension 10 }

dh90                    OBJECT IDENTIFIER ::=  { dechub90 1 }
da90                    OBJECT IDENTIFIER ::=  { dechub90 2 }
ds90L                   OBJECT IDENTIFIER ::=  { dechub90 3 }
drpt90                  OBJECT IDENTIFIER ::=  { dechub90 4 }
db90ext                 OBJECT IDENTIFIER ::=  { dechub90 5 }
--mopCounters             OBJECT IDENTIFIER ::=  { dechub90 6 }     -tbd

db90system              OBJECT IDENTIFIER ::=  { db90ext 1 }
db90interfaces          OBJECT IDENTIFIER ::=  { db90ext 2 }
db90bridge              OBJECT IDENTIFIER ::=  { db90ext 3 }

dbSysChar               OBJECT IDENTIFIER ::=  { db90system 1 }
dbSysStatus             OBJECT IDENTIFIER ::=  { db90system 2 }

db90Char                OBJECT IDENTIFIER ::=  { db90bridge 1 }
db90Stat                OBJECT IDENTIFIER ::=  { db90bridge 2 }
db90Coun                OBJECT IDENTIFIER ::=  { db90bridge 3 }
db90Span                OBJECT IDENTIFIER ::=  { db90bridge 4 }
db90PortInterfaces      OBJECT IDENTIFIER ::=  { db90bridge 5 }
db90ProtoFilt           OBJECT IDENTIFIER ::=  { db90bridge 6 }




--
-- OID definitions that belong to the Product Space
--  These are returned from queries to sysObjectID, based on hub configuration
--

emaSystem               OBJECT IDENTIFIER ::=  { ema 15 }

bridges                 OBJECT IDENTIFIER ::=  { emaSystem 3 }
terminalServers         OBJECT IDENTIFIER ::=  { emaSystem 6 }
hub                     OBJECT IDENTIFIER ::=  { emaSystem 8 }
repeaters               OBJECT IDENTIFIER ::=  { emaSystem 9 }
proxyAgent              OBJECT IDENTIFIER ::=  { emaSystem 10 }
brouters                OBJECT IDENTIFIER ::=  { emaSystem 11 }

decbridge-90            OBJECT IDENTIFIER ::=  { bridges 5 }

decserver90Lv1          OBJECT IDENTIFIER ::=  { terminalServers 1 }
decserver90Lv2          OBJECT IDENTIFIER ::=  { terminalServers 2 }
decserver90ltv1         OBJECT IDENTIFIER ::=  { terminalServers 3 }

dechub90Backplane       OBJECT IDENTIFIER ::=  { hub 1 }

decrepeater90C          OBJECT IDENTIFIER ::=  { repeaters 1 }
decrepeater90T          OBJECT IDENTIFIER ::=  { repeaters 2 }

decagent90              OBJECT IDENTIFIER ::=  { proxyAgent 1 }

decwanbrouter90T1       OBJECT IDENTIFIER ::=  { brouters 1 }
decwanbrouter90T2       OBJECT IDENTIFIER ::=  { brouters 2 }






--
-- dh90 Group
--
--      The dh90 variables contain information used to manage each
--      DEChub 90.  A DEChub 90 can contain multiple devices such as
--      bridges, terminal servers and repeaters.  The DECagent 90
--      is a module which provides proxy SNMP management for each of
--      these devices.  A single DECagent can manage multiple
--      hubs, in which case each hub is a separate community identified
--      by unique community strings.  The dh90 group then provides
--      management information not only for each hub, but also for
--      the communities used to identify each hub.
--
--      The DECagent90 can also manage individual bridge and terminal
--      server modules which are not resident in a hub.  In this case,
--      each bridge or server is its own community with its own
--      community strings and is a community of type standAloneCommunity.
--
--      Note also that 2 DEChub 90s can be connected and managed as a
--      single 16 slot hub.  The dh90Type value for both is dechub90,
--      and either 8 or 16 is set as the value for dh90NumberSlots.  
--      When a community is created, dh90NumberSlots has a value of 1.

dh90Type OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                invalid(2),
                standAloneCommunity(3),
                dechub90(4)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Identifies the type of Hub defined and
        identifies standalone configurations managed
        by DECagent 90 modules.  Setting this 
        variable to invalid deletes the community
        associated with the community string and 
        releases the RAM and flash memory resources
        used by the community."
        ::= { dh90 1 }

dh90Backplane OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                ethernet(2)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Media on backplane of hub."
        ::= { dh90 2 }

dh90LastChange OBJECT-TYPE
    SYNTAX  TimeTicks
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The value of the sysUpTime at the time this
        hub added or removed a module."
    ::= { dh90 3 }

dh90NumberSlots OBJECT-TYPE
    SYNTAX  INTEGER (1..16)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Number of slots in backplane.  Setting this 
        variable to values of 1, 8 or 16 defines the
        size of a hub in a particular community."
    ::= { dh90 4 }

dh90SlotTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Dh90SlotEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of modules installed in the DEChub 90.
        To create a new row (module) in the slot table,
        set a EMPTY dh90SlotModuleType to the appropriate
        value.  If adding a bridge or server, next set
        the dh90SlotPhysicalAddress for the row.  Sets of
        the other variables in the row must be done in 
        separate PDUs AFTER the MAC address of the device
        has been set correctly.

        When sweeping the slot table with getNext, rows
        of the table which are empty will be skipped.  The
        only values returned are for slots which are
        occupied.
            
        To delete a module, set the dh90SlotModuleType 
        (instanced by slot number) to empty(2).  The 
        row corresponding to the slot number will be
        deleted from the table."
    ::= { dh90 5 }

dh90SlotEntry OBJECT-TYPE
    SYNTAX  Dh90SlotEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Contains objects defining characteristics of
        modules in the DEChub 90"
    INDEX   { dh90SlotIndex }
    ::= { dh90SlotTable 1 }

Dh90SlotEntry ::=
    SEQUENCE {
        dh90SlotIndex
            INTEGER,
        dh90SlotModuleType
            INTEGER,
        dh90SlotModuleName
            DisplayString,
        dh90SlotModuleVersion
            DisplayString,
        dh90SlotCounterTime
            Gauge,
        dh90SlotIfBase
            INTEGER,
        dh90SlotIfNumber
            INTEGER,
        dh90SlotPhysicalAddress
            PhysAddress,
        dh90SlotNumberOfPorts
            INTEGER,
        dh90SlotPassword
            DisplayString,
        dh90SlotNewPassword
            DisplayString,
        dh90SlotPolling
            INTEGER,
        dh90SlotPrimarySpecific
            OBJECT IDENTIFIER,
        dh90SlotSecondarySpecific
            OBJECT IDENTIFIER
        }
        
dh90SlotIndex OBJECT-TYPE
    SYNTAX  INTEGER (1..16)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The slot number containing the module "
    ::= { dh90SlotEntry 1 }

dh90SlotModuleType OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                empty(2),
                decserver90L(3),
                decbridge90(4),
                decrepeater90C(5),
                decrepeater90T(6),
                decagent90(7),
                decserver90Lplus(8),
                decserver90LT(9),
                decwanbrouter90T1(10),
                decwanbrouter90T2(11),
                decrepeater90FL(12),
                decrepeater90FA(13),
                decbridge90FL(14)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The type of the module in a slot.  If the slot
        is known to be empty, a value of empty is used.
        If the slot is occupied by a module of unknown
        type, a value of unknown is used."
    ::= { dh90SlotEntry 2 }

dh90SlotModuleName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A textual description of the module"
    ::= { dh90SlotEntry 3 }

dh90SlotModuleVersion OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..32))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A textual description of the version level of the
         hardware and firmware of the module"
    ::= { dh90SlotEntry 4 }

dh90SlotCounterTime OBJECT-TYPE
    SYNTAX  Gauge
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Time since the counters of this module were zeroed"
    ::= { dh90SlotEntry 5 }

dh90SlotIfBase OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "An index into the ifTable for the first interface 
        on this module. Add one to this value to reference 
        the ifTable entry which corresponds to the second 
        interface, etc. If no interface(s) is/are supported 
        on the module, a value of zero is returned."
    ::= { dh90SlotEntry 6 }

dh90SlotIfNumber OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Number of interfaces on this module."
    ::= { dh90SlotEntry 7 }

dh90SlotPhysicalAddress OBJECT-TYPE
    SYNTAX  PhysAddress
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A read-write variable for the physical address
        to allow devices to be added to the hub remotely.
        Writing this variable as part of a remote add
        device routine will cause the new physical address
        to be accessable in the corresponding ifPhysAddress
        variable in ifTable."
    ::= { dh90SlotEntry 8 }

dh90SlotNumberOfPorts OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of ports on this module. Returns 8 for 
        DECserver90L and DECrepeater90T, 6 for DECrepeater90C."
    ::= { dh90SlotEntry 9 }

dh90SlotPassword OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Password used to enable privileged operations
        on the DECserver90L and access to the bridge.

        Reads to this variable will return a null string."
    ::= { dh90SlotEntry 10 }

dh90SlotNewPassword OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Setting this variable causes the agent to set 
        a new password on the terminal server using the 
        TSNewPassword value as the new password and 
        TSPassword as the old password.  Power on the 
        terminal server must be cycled within a minute 
        for the change to take effect.

        Reads to this variable will return a null string."
    ::= { dh90SlotEntry 11 }

dh90SlotPolling OBJECT-TYPE
    SYNTAX  INTEGER {
                off(1),
                on(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The current polling status of the module.  If 
        the DECagent 90 is polling this device, a get
        of this variable will return 'on', otherwise
        'off' is returned.  Setting this variable to
        'off' causes the agent to stop polling the
        device in this slot.  Setting this variable to
        'on' causes the agent to start polling the
        device in the specified slot.  If a device
        does not repond to a poll, an moduleDown
        enterprise specific trap is generated."
    ::= { dh90SlotEntry 12 }

dh90SlotPrimarySpecific OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A reference to the Bridge MIB the Character-like MIB 
        or the { drpt90 } repeater portion of this MIB
        definition. If the module realizes some other 
        function, the object identifier

            nullSpecific OBJECT IDENTIFIER ::= { 0 0 }

        is returned."
    ::= { dh90SlotEntry 13 }

dh90SlotSecondarySpecific OBJECT-TYPE
    SYNTAX  OBJECT IDENTIFIER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A reference to the RS232-like MIB definition, 
        if dh90ModulePrimarySpecific identifies the 
        Character-like MIB. Otherwise, the object identifier

            nullSpecific OBJECT IDENTIFIER ::= { 0 0 }

        is returned."
    ::= { dh90SlotEntry 14 }

dh90TrapAddressTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Dh90TrapEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A table of IP Addresses to which this device will send
       traps."
    ::= { dh90 6 }
   
dh90TrapEntry OBJECT-TYPE
    SYNTAX  Dh90TrapEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "Each entry contains an IP Address to which all SNMP Traps
       will be sent by this community."
    INDEX   { dh90TrapAddress }
    ::= { dh90TrapAddressTable 1 }
    
Dh90TrapEntry ::=
    SEQUENCE {
        dh90TrapAddress
            IpAddress
        }
               
dh90TrapAddress 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.  Setting an instance to a value of
       zero will delete the row in the table."
    ::= { dh90TrapEntry 1 }


--
-- da90 Group
--
--      The da90 group variables are used to manage the DECagent 90
--      module.  The group exists once in the community which contains
--      the proxy agent.
--
--      The community table is the basis of the proxy mechanism in the
--      DECagent 90. A community is added to the agent by adding a row
--      to the community table.  Rows can be added from the console, or
--      via sets to agent.  To create a row, a set pdu must contain 
--      a set of active(3) to da90CommunityType and sets of strings
--      to da90CommunityROString and da90CommunityRWString.  A null
--      value is allowed for one of the community strings, all non-null
--      values must be unique among all the communities proxied by the
--      agent.  The hub corresponding to the community is created by
--      a set to the dh90Type variable using the read-write community
--      string defined above.  A get-next sweep of the table will return
--      those entries which are active.
--
--      To delete a community, first set the ModuleID for each slot in
--      the community to empty, then set da90CommunityType to invalid(2).

da90FlashErasures OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of times the flash memory on this 
         DECagent 90 has been erased.  This number is the 
         total of erasures for all segments of flash."
    ::= { da90 1 }

da90Maintenance OBJECT-TYPE
    SYNTAX  INTEGER {
                ready(1),
                setsDisabled(2),
                reset(3),
                resetToFactory(4)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A control variable to perform reset functions on
        a DECagent 90.  In response to a get-request or
        a get-next-request, the agent returns ready(1)
        if SNMP sets are enabled, or setsDisabled(2) if
        they are disabled.  Setting the value to reset(3)
        causes the entire module to be reset.  Setting
        the value to resetToFactory(4) causes the entire
        device to be reset to the original factory settings."
    ::= { da90 2 }

da90CommunityNumber OBJECT-TYPE
    SYNTAX  INTEGER (1..64)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Number of entries in the da90CommunityTable."
    ::= { da90 3 }

da90CommunityTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Da90CommunityEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A table of community strings for client hubs."
    ::= { da90 4 }

da90CommunityEntry  OBJECT-TYPE
    SYNTAX  Da90CommunityEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Contains community type and strings, including the
        a read-only profile, the read-write profile and a
        trap string."
    INDEX   { da90CommunityIndex }
    ::= { da90CommunityTable 1 }

Da90CommunityEntry ::=
    SEQUENCE {
        da90CommunityIndex
            INTEGER,
        da90CommunityType
            INTEGER,
        da90CommunityROString
            ProxyString,
        da90CommunityRWString
            ProxyString,
        da90CommunityTrapString
            ProxyString
    }

da90CommunityIndex OBJECT-TYPE
    SYNTAX  INTEGER (1..50)
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        " Index into hub community string pair table,
        identifies the community being accessed "
    ::= { da90CommunityEntry 1 }

da90CommunityType OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                invalid(2),
                active(3)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Identifies whether the current community
        information in the DENMA is active for this
        row in the community table.  Setting to
        invalid frees the NVRAM used to store the
        community information (destroys the slot
        table and port tables for this community)."
    ::= { da90CommunityEntry 2 }

da90CommunityROString OBJECT-TYPE
    SYNTAX  ProxyString
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Community string, with a read-only profile, used 
        to access a client Hub. All community 
        strings in the read-only set must be unique. 
        Setting such a community string to a pre-existing 
        value returns a status of BadValue.  Reading this
        variable with any community string other than the
        agent's  community string will return a zero 
        length string."
    ::= { da90CommunityEntry 3 }

da90CommunityRWString OBJECT-TYPE
    SYNTAX  ProxyString
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Community string, with a read-write profile, used 
        to access a client Hub. All community 
        strings in the read-only set must be unique. 
        Setting such a community string to a pre-existing 
        value returns a status of BadValue.  Reading this
        variable with any community string other than the
        agent's read-write community string will return
        a zero length string."
    ::= { da90CommunityEntry 4 }

da90CommunityTrapString OBJECT-TYPE
    SYNTAX  ProxyString
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Community string sent with traps generated
        due to events caused by this community.
        The trap community strings do not have to 
        be unique.  This variable is read using
        the agent's community string."
    ::= { da90CommunityEntry 5 }


--
-- ds90L Group
--
--      Each row of the ds90LModuleTable contains information on
--      an individual DECserver 90L module.  There is one row in
--      the table for each DECserver 90L in the hub/community.

ds90LNumberModules OBJECT-TYPE
    SYNTAX  INTEGER (0..16)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Number of DECserver 90L Modules represented in the
        ds90LModuleTable."
    ::= { ds90L 1 }

ds90LModuleTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Ds90LModuleEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A table of DECserver 90L modules installed in 
        the group. The number of entries is given in 
        ds90LModuleNumber."
    ::= { ds90L 2 }

ds90LModuleEntry OBJECT-TYPE
    SYNTAX  Ds90LModuleEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "Contains objects defining characteristics of
        DECserver 90L modules in the group "
    INDEX   {ds90LSlotIndex }
    ::= { ds90LModuleTable 1 }

Ds90LModuleEntry ::=
    SEQUENCE {
        ds90LSlotIndex
            INTEGER (1..16),
        ds90LDot3StatsDeferredTransmissions
            Counter,
        ds90LDot3StatsSingleCollisionFrames
            Counter,
        ds90LDot3StatsMultipleCollisionFrames
            Counter,
        ds90LEnetDataOverruns
            Counter,
        ds90LLatCircMsgsIns
            Counter,
        ds90LLatCircMsgsOuts
            Counter,
        ds90LLatSessSolicitAccepts
            Counter,
        ds90LLatSessSolicitRejects
            Counter,
        ds90LLatCircDuplsMsgs
            Counter,
        ds90LLatCircMsgRetransmits
            Counter,
        ds90LLatSessIllegalSlots
            Counter,
        ds90LIllegalMulticastRcvs
            Counter,
        ds90LLatCircKeepAlive
            INTEGER,
        ds90LLatCircRetransmitLimit
            INTEGER,
        ds90LLatCircInvalidMsgs
            Counter,
        ds90LAuthorizeMode
            INTEGER,
        ds90LMaintenance
            INTEGER,
        ds90LPrompt
            DisplayString
    }

ds90LSlotIndex OBJECT-TYPE
    SYNTAX INTEGER (1..16)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The slot index value which addresses
        the dh90SlotTable for this module."
    ::= { ds90LModuleEntry 1 }

ds90LDot3StatsDeferredTransmissions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of frames for which the first
        transmission attempt on a particular interface
        is delayed because the medium is busy.

        The count represented by an instance of this
        object does not include frames involved in
        collisions."
    ::= { ds90LModuleEntry 2 }

ds90LDot3StatsSingleCollisionFrames OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of successfully transmitted frames on
        a particular interface for which transmission is
        inhibited by exactly one collision.

        (If DS90L is implementing the MIB-II if group,
        the following also applies:

        A frame that is counted by an instance of this
        object is also counted by the corresponding
        instance of either the ifOutUcastPkts or
        ifOutNUcastPkts object and is not counted by the
        corresponding instance of the
        ds90LDot3StatsMultipleCollisionFrames object.)"
    ::= { ds90LModuleEntry 3 }

ds90LDot3StatsMultipleCollisionFrames OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of successfully transmitted frames on
        a particular interface for which transmission is
        inhibited by more than one collision.

        (If DS90L is implementing the MIB-II if group,
        the following also applies:

        A frame that is counted by an instance of this
        object is also counted by the corresponding
        instance of either the ifOutUcastPkts or
        ifOutNUcastPkts object and is not counted by the
        corresponding instance of the
        ds90LDot3StatsSingleCollisionFrames object.)"
    ::= { ds90LModuleEntry 4 }

ds90LEnetDataOverruns OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of frames arriving at 
        the DS90L lost due to data overrun since it 
        last reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 5 }

ds90LLatCircMsgsIns OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of LAT circuit messages 
        received by this DS90L since it last reinitialized
        or zeroed counters."
    ::= { ds90LModuleEntry 6 }

ds90LLatCircMsgsOuts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of LAT circuit messages 
        transmitted by this DS90L since it last 
        reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 7 }

ds90LLatSessSolicitAccepts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of LAT Solicits accepted 
        by this DS90L since it last reinitialized or 
        zeroed counters."
    ::= { ds90LModuleEntry 8 }

ds90LLatSessSolicitRejects OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of LAT Solicits rejected 
        by this DS90L since it last reinitialized or 
        zeroed counters."
    ::= { ds90LModuleEntry 9 }

ds90LLatCircDuplsMsgs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of duplicate LAT messages 
        the DS90L LAT implementation has discarded since 
        it last reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 10 }

ds90LLatCircMsgRetransmits OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the total number of LAT circuit 
        messages this DS90L has retransmitted since it
        last reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 11 }

ds90LLatSessIllegalSlots OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "A count of the number of illegal LAT slots 
        the DS90L has received on all LAT sessions since 
        it last reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 12 }

ds90LIllegalMulticastRcvs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This counts the number of illegal multicast LAT 
        messages received on this DECserver 90L since it last
        reinitialized or zeroed counters."
    ::= { ds90LModuleEntry 13 }

ds90LLatCircKeepAlive OBJECT-TYPE
    SYNTAX INTEGER (10..255)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This defines the number of seconds the LAT circuits
        provider waits between transmitting LAT circuit layer
        keep-alive messages.  Writing to this object is
        equivalent to issuing the CHANGE SERVER KEEPALIVE TIMER
        command via the user interface."
    ::= { ds90LModuleEntry 14 }

ds90LLatCircRetransmitLimit OBJECT-TYPE
    SYNTAX INTEGER (4..120)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object defines the maximum number of LAT circuit
        message retransmissions the server will attempt before
        declaring the circuit failed.  Writing to this object is
        equivalent to issuing the CHANGE SERVER RETRANSMIT LIMIT
        command via the user interface."
    ::= { ds90LModuleEntry 15 }

ds90LLatCircInvalidMsgs OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This counts the number of invalid LAT messages received
        on its entry's LAT circuit since the DECserver90L last
        reinitialized  or zeroed counters."
    ::= { ds90LModuleEntry 16 }

ds90LAuthorizeMode OBJECT-TYPE
    SYNTAX  INTEGER {
                disable(1),
                enable(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Setting this value to enable causes the SET A,password
        command to be sent to the DECserver 90.  The module
        will enter authorized mode IF the power is cycled on
        the module within one minute.  The password used will
        be the current value of dh90ModulePassword.  Setting
        this variable to disable results in authorized mode
        being cleared"
    ::= { ds90LModuleEntry 17 }

ds90LMaintenance OBJECT-TYPE
    SYNTAX  INTEGER {
                ready(1),
                zeroCounters(2),
                reset(3),
                resetToFactory(4)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A control variable to reset the counters on a 
        DECserver 90L.  In response to a get-request or
        a get-next-request, the agent always returns
        'ready'.  Setting the value to 'zeroCounters'
        causes the if, LAT and dh90SlotCounterTime
        counters to be cleared.  Setting the value
        to 'reset' causes the entire module to be reset,
        any users and circuits will be disconnected.
        Setting the value to 'resetToFactory'
        causes the entire device to be reset to the
        original factory settings. Passwords, port 
        names and printer speeds will be cleared."
    ::= { ds90LModuleEntry 18 }

ds90LPrompt OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "A DECserver 90L+ (PLUS) variable.
        Contains the prompt displayed when a session
        is local to the PLUS version of the terminal 
        server.  The default value is '->'.  This 
        variable is not present if the server is a
        DECserver 90L."
    ::= { ds90LModuleEntry 19 }


--
--  ds90LPortTable
--
--      Port specific variables for the DECserver 90L and 
--      DECserver 90L+.  Most of the management of the ports is
--      accomplished via the CHAR-LIKE and RS232 like mibs.

ds90LPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Ds90LPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Table of port specific variables on this DECserver90L." 
    ::= { ds90L 3 }

ds90LPortEntry OBJECT-TYPE
    SYNTAX Ds90LPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A single LAT session instance this DS90L currently provides."
    INDEX { ds90LPortIndex }
    ::= { ds90LPortTable 1 }

Ds90LPortEntry ::= 
    SEQUENCE {
        ds90LPortIndex
            INTEGER (101..1608),
        ds90LPortRemoteModification
            INTEGER,
        ds90LPortType
            INTEGER,
        ds90LPortBreak
            INTEGER,
        ds90LPortTest
            INTEGER,
        ds90LPortAutoConfigure
            INTEGER,
        ds90LPortOnDemandLoading
            INTEGER
    }

ds90LPortIndex OBJECT-TYPE
    SYNTAX INTEGER (101..1608)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of charPortIndex for this port."
    ::= { ds90LPortEntry 1 }

ds90LPortRemoteModification OBJECT-TYPE
    SYNTAX INTEGER {
               disable(1),
               enable(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Enables and disables remote modification of
        of the port by the host system."
    ::= { ds90LPortEntry 2 }

ds90LPortType OBJECT-TYPE
    SYNTAX INTEGER {
               terminal(1),
               printer(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Selects the type of device connected to the port."
    ::= { ds90LPortEntry 3 }

ds90LPortBreak OBJECT-TYPE
    SYNTAX INTEGER {
               local(1),
               remote(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Determines if the port responds to local or remote break."
    ::= { ds90LPortEntry 4 }

ds90LPortTest OBJECT-TYPE
    SYNTAX INTEGER {
               disable(1),
               enable(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Setting this variable to enable places the port
        into loopback mode.  Loopback mode can be used to
        verify that a port is receiving and sending 
        characters."
    ::= { ds90LPortEntry 5 }

ds90LPortAutoConfigure OBJECT-TYPE
    SYNTAX INTEGER {
               enable(1),
               disable(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A DECserver 90L+ (PLUS) variable.
        Enables or disables the Autoconfiguration of
        the port, the ability of the port to autobaud.
        Disabling autoconfiguration also causes the 
        speed and characteristics of the port to be 
        stored in non-volatile memory on the server.
        The variable is not present if the server is
        a DECserver 90L."
    ::= { ds90LPortEntry 6 }

ds90LPortOnDemandLoading OBJECT-TYPE
    SYNTAX INTEGER {
               disable(1),
               enable(2)
           }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A DECserver 90L+ (PLUS) variable.
        Enables or disables on demand loading of fonts.
        The variable is not present if the server is
        a DECserver 90L."
    ::= { ds90LPortEntry 7 }


--
--  ds90LSessionTable
--
--      Session specific variables for the DECserver 90L and 
--      DECserver 90L+.  Most of the management of the ports is
--      accomplished via the CHAR-LIKE and RS232 like mibs.

ds90LSessionTable OBJECT-TYPE
    SYNTAX SEQUENCE OF Ds90LSessionEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The list of all LAT sessions active on this DECserver90L." 
    ::= { ds90L 4 }

ds90LSessionEntry OBJECT-TYPE
    SYNTAX Ds90LSessionEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A single LAT session instance this DS90L currently
        provides."
    INDEX { ds90LSessionPort, ds90LSessionIndex }
    ::= { ds90LSessionTable 1 }

Ds90LSessionEntry ::= 
    SEQUENCE {
        ds90LSessionPort
            INTEGER (101..1608),
        ds90LSessionIndex
            INTEGER (1..4),
        ds90LSessionRemoteNode
            DisplayString,
        ds90LSessionService
            DisplayString,
        ds90LSessionRemotePortId
            DisplayString
    }

ds90LSessionPort OBJECT-TYPE
    SYNTAX INTEGER (101..1608)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of charPortIndex for the port to which
        this session belongs."
    ::= { ds90LSessionEntry 1 }

ds90LSessionIndex OBJECT-TYPE
    SYNTAX INTEGER (1..4)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The session index in the context of the port, a
        non-zero positive integer.  Will be 1 for the
        DECserver90L, 4 for DECserver 90L+."
    ::= { ds90LSessionEntry 2 }

ds90LSessionRemoteNode OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..6))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The name of the remote node providing the service
        for this session."
    ::= { ds90LSessionEntry 3 }

ds90LSessionService OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..6))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The service to which this session is connected."
    ::= { ds90LSessionEntry 4 }

ds90LSessionRemotePortId OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..6))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The name of the port at the remote node providing
        the connection, for example, LAT121."
    ::= { ds90LSessionEntry 5 }


--
-- drpt90 Group
--
--      These are the repeater port objects for the 
--      DECrepeater 90T and 90C
--


-- drpt90PortTable   - repeater port information
--
--      These are interface objects implemented in the
--      DECrepeater 90T and 90C

drpt90PortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Drpt90PortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of port entries.  The index for a repeater port is given by 

                (slot number*100) + port number

        The number of ports is given by dh90SlotNumberOfPorts."
    ::= { drpt90 1 }

drpt90PortEntry OBJECT-TYPE
    SYNTAX  Drpt90PortEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A collection of objects containing information for a given interface."
    INDEX  { drpt90PortIndex }
    ::= { drpt90PortTable 1 }

Drpt90PortEntry ::=
    SEQUENCE {
        drpt90PortIndex
            INTEGER (101..1608),
        drpt90PortName
            DisplayString,
        drpt90PortAdminStatus
            INTEGER,
        drpt90PortState
            INTEGER,
        drpt90PortType
            INTEGER,
        drpt90PortPartitions
            Counter,
        drpt90PortAutoPartitionReason
            INTEGER,
        drpt90PortJamBits
            INTEGER
    }

drpt90PortIndex OBJECT-TYPE
    SYNTAX  INTEGER (101..1608)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Identifies the module and port.  The value of this object is given by:

                (slot number*100) + port number"
    ::= { drpt90PortEntry 1 }

drpt90PortName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The text description of the port given by management"
    ::= { drpt90PortEntry 2 }

drpt90PortAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The desired state of the port."
    ::= { drpt90PortEntry 3 }

drpt90PortState OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                autoPartitioned(2),
                managementPartitioned(3),
                active(4)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The state of the port.  Unknown(1) is returned 
        when the port state cannot be determined.  
        AutoPartitioned(2) indicates that the repeater 
        has disabled the port automatically, 
        ManagementPartitioned(3) indicates that the port 
        has been disabled remotely, and active(4) 
        indicates that the port is operational."
    ::= { drpt90PortEntry 4 }

drpt90PortType OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                twistedPair(2),
                thinWire(3),
                fiberOptic(4),
                aui(5)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The Physical Medium type of the port."
    ::= { drpt90PortEntry 5 }

drpt90PortPartitions OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of times this port has partitioned. 
        This value is only significant if drpt90PortStatus 
        is not unknown(1)."
    ::= { drpt90PortEntry 6 }

drpt90PortAutoPartitionReason OBJECT-TYPE
    SYNTAX  INTEGER {
                notPartitioned(0),
                managementPartitioned(1),
                excessiveLength(2),
                excessiveLengthAndMgmtPart(3),
                excessiveCollisions(4),
                excessiveCollisionsAndMgmtPart(5),
                jabber(6),
                jabberAndMgmtPart(7),
                nocarrierLoopback(8),
                nocarrierLoopbackAndMgmtPart(9),
                transmitCarrierDropout(10),
                transmitCarrierDropoutAndMgmtPart(11)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Errors currently detected on the port."
    ::= { drpt90PortEntry 7 }

drpt90PortJamBits OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                jb96(2),
                jb128(3)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The number of jam bits being used on the port segment."
    ::= { drpt90PortEntry 8 }

drpt90PortAddrTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Drpt90PortAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of MAC addresses paired with the
        repeater port on which they have been seen."
    ::= { drpt90 2 }

drpt90PortAddrEntry OBJECT-TYPE
    SYNTAX  Drpt90PortAddrEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A MAC addresses and the repeater port on which it resides."
    INDEX  { drpt90PortPhyAddr }
    ::= { drpt90PortAddrTable 1 }

Drpt90PortAddrEntry ::=
    SEQUENCE {
        drpt90PortPhyAddr
            PhysAddress,
        drpt90PortAddrIndex
            INTEGER
    }

drpt90PortPhyAddr OBJECT-TYPE
    SYNTAX  PhysAddress
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A MAC address seen on this port"
    ::= { drpt90PortAddrEntry 1 }

drpt90PortAddrIndex OBJECT-TYPE
    SYNTAX  INTEGER (101..1608)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "Identifies the module and port.  The value  
        of this object the same as drpt90PortIndex  
        and is given by:

                (slot number*100) + port number"
    ::= { drpt90PortAddrEntry 2 }



--
-- dbSysChar - 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 control device operation.

dbSysRomVersion OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The version number of the software stored in ROM."
    ::= { dbSysChar 1 }
    
dbSysInitSwitch OBJECT-TYPE
    SYNTAX  INTEGER {
                other(1),
                reset(2),
                resetToFactory(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).  When
       set to a value of 'reset', the bridge will
       empty the forwarding data base and start
       relearning.  When set to 'resetToFactory',
       the bridge will empty the forwarding data
       base, reset spanning tree and clear all
       protocol filters and password."
    ::= { dbSysChar 2 }

    

-- dbSysStatus - the system Status group
--
--      This group consists of operational status of the device.

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

dbSysNvramFailed 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.  Values
       set to variables maintained on the bridge 
       will not be preserved over a power cycle of
       the bridge."
    ::= { dbSysStatus 2 }


--
-- dbIfTable   - groups in the extended interface module
--
--      These are interface objects implemented in the DECbridge 90
--      over and above what is available via MIB-II.
--

dbIfTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF DbIfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A list of interface entries.  The number of 
       entries is given by ifNumber."
    ::= { db90interfaces 1 }

dbIfEntry OBJECT-TYPE
    SYNTAX  DbIfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A collection of objects containing information 
       for a given interface."
    INDEX  { dbIfIndex }
    ::= { dbIfTable 1 }

DbIfEntry ::=
    SEQUENCE {
        dbIfIndex
            INTEGER,
        dbIfReceiveBadFrames
            Counter,
        dbIfTransmitErrorFrames
            Counter
         }

dbIfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Identifies the Interface.  The value of this 
       the same object is as the ifIndex for this interface."
    ::= { dbIfEntry 1 }

dbIfReceiveBadFrames OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Number of frames received with a bad frame check 
       sequence or the device received a frame loss
       indication from the hardware on the interface."
    ::= { dbIfEntry 2 }

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



--
-- db90Char  -  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.

db90LB100SpanningTreeVer 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."
    ::= { db90Char 1 }

db90802SpanningTreeVer 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." 
    ::= { db90Char 2 }

db90MaxForwardingDBEntries 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."
    ::= { db90Char 3 }
    
db90MaxNVForwardingDBEntries OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The maximum number of permanent address entries 
       that the bridge can store in its NVRAM."
    ::= { db90Char 4 }

db90MaxProtocolDBEntries 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."
    ::= { db90Char 5 }

db90MaxNVProtocolDBEntries 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."
    ::= { db90Char 6 }

    

-- db90Stat  -  The Bridge Status group
--
--      This group consists of operational status of the bridge.
    
db90CurrProtocolDBEntries 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."
    ::= { db90Stat 1 }

db90CurrNVProtocolDBEntries 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."
    ::= { db90Stat 2 }

db90MgmtHeardPort OBJECT-TYPE
    SYNTAX  INTEGER {
                backbone(1),
                workgroup(2)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The port on which this command was received."
    ::= { db90Stat 3 }

db90LB100BeingPolled OBJECT-TYPE
    SYNTAX  PhysAddress
    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."
    ::= { db90Stat 4 }

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

db90HubManagement OBJECT-TYPE
    SYNTAX  INTEGER {
                enable(1),
                disable(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
       "Indicates whether the bridge is managing the
       hub (i.e., is capable of managing repeaters
       inserted in the hub)."
    ::= { db90Stat 6 }

db90CurrFdbEntries OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The number of entries currently active in the
       DECbridge 90 forwarding data base, or one more
       than the value of db90MaxForwardingDBEntries if
       the bridge has exceeded the size of the 
       forwarding data base hardware." 
    ::= { db90Stat 7 }



-- db90Coun  -  the Bridge Counters group
--
--      This group consists of counters that measure operational
--      events and errors.
    
db90SpanningTreeModeChanges 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." 
    ::= { db90Coun 1 }





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

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

db90TopologyChangeFlag 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."
    ::= { db90Span 2 }

db90TellParentFlag 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."
    ::= { db90Span 3 }

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

db90BadHelloLimit OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    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."
    ::= { db90Span 5 }

db90BadHelloResetTimer 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."
    ::= { db90Span 6 }

db90NoFrameInterval OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    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."
    ::= { db90Span 7 }

db90LB100PollTime OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    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."
    ::= { db90Span 8 }

db90LB100ResponseTimeout OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    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."
    ::= { db90Span 9 }

db90LB100SpanningTreeCompat OBJECT-TYPE
    SYNTAX  INTEGER {
                autoSelect(1),
                ieee802(2)
            }
    ACCESS  read-only
    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."
    ::= { db90Span 10 }



-- db90IfTable -the extended bridge port table
--
--      This group consists of generic port objects for the bridge

db90IfTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Db90IfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A list of interface entries.  The number of 
       entries is given by ifNumber"
    ::= { db90PortInterfaces 1 }

db90IfEntry OBJECT-TYPE
    SYNTAX  Db90IfEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A collection of objects containing information 
       for a given interface."
    INDEX  { db90IfIndex }
    ::= { db90IfTable 1 }

Db90IfEntry ::=
    SEQUENCE {
        db90IfIndex
            INTEGER,
        db90IfReceiveDeviceFrames
            Counter,
        db90IfExceededBadHelloLimits
            Counter
    }
        
db90IfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Identifies the Interface.  The value of this 
       object is the same as the ifIndex for this interface."
    ::= { db90IfEntry 1 }
    
db90IfReceiveDeviceFrames 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."
    ::= { db90IfEntry 2 }
    
db90IfExceededBadHelloLimits 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."
    ::= { db90IfEntry 3 }

    
-- db90IfEtherTable -   the extended bridge Ethernet port table
--
--      This optional group consists of Ethernet port 
--      objects for the bridge.

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

db90IfEtherEntry OBJECT-TYPE
    SYNTAX  Db90IfEtherEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A collection of objects containing information 
       for a given interface."
    INDEX  { db90IfIndex }
    ::= { db90IfEtherTable 1 }

Db90IfEtherEntry ::=
    SEQUENCE {
        db90IfEthIndex
            INTEGER,
        db90IfEthFramingErrors
            Counter,
        db90IfEthCarrierLosses
            Counter,
        db90IfEthExceededCollisionLimits
            Counter
    }

db90IfEthIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Identifies the Interface.  The value of this object 
       is the same as the ifIndex for this interface."
    ::= { db90IfEtherEntry 1 }
    
db90IfEthFramingErrors 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."
    ::= { db90IfEtherEntry 2 }
    
db90IfEthCarrierLosses 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."
    ::= { db90IfEtherEntry 3 }
    
db90IfEthExceededCollisionLimits 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."
    ::= { db90IfEtherEntry 4 }
    

-- db90IfSpanTable -the extended bridge Spanning Tree port table
--
--      This group consists of port Spanning Tree objects 
--      for the bridge.

db90IfSpanTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Db90IfSpanEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A list of interface entries for a port."
    ::= { db90PortInterfaces 3 }

db90IfSpanEntry OBJECT-TYPE
    SYNTAX  Db90IfSpanEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
       "A collection of objects containing information 
       for a given interface."
    INDEX  { db90IfIndex }
    ::= { db90IfSpanTable 1 }

Db90IfSpanEntry ::=
    SEQUENCE {
        db90IfSpIndex
            INTEGER,
        db90IfSpDesigRootAge
            INTEGER,
        db90IfSpForwardDelayTimer
            INTEGER,
        db90IfSpBadHelloCounts
            Counter,
        db90IfSpTopologyChangeAckFlag
            INTEGER
    }

db90IfSpIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Identifies the Interface.  The value of this 
       object is the same as the ifIndex for this interface."
    ::= { db90IfSpanEntry 1 }
    
db90IfSpDesigRootAge 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."
    ::= { db90IfSpanEntry 2 }
    
db90IfSpForwardDelayTimer OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The time remaining, in hundreths of seconds, before 
       the bridge will leave the Learning State of 
       Preforwarding, and enter the Forwarding State."
    ::= { db90IfSpanEntry 3 }
    
db90IfSpBadHelloCounts OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "The number of Hello intervals during which at 
       least one Bad Hello was received."
    ::= { db90IfSpanEntry 4 }
    
db90IfSpTopologyChangeAckFlag 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."
    ::= { db90IfSpanEntry 5 }




--
--  Protocol Database for DECbridge 90
--
 
db90ProtoFilterOther OBJECT-TYPE
    SYNTAX  INTEGER {
                forward(1),
                filter(2),
                default(3)
            }
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
       "Action taken by the bridge on Ethernet protocol 
       types or the 5-byte SNAP SAPs other than those 
       specified in the db90ProtoTable.
       forward(1) indicates that a 'filter all' entry exists
       in the db90ProtoTable. This value also implies that no
       'forward all' entry may be added to the db90ProtoTable.
       filter(2) indicates that a 'forward all' entry exists
       in the db90ProtoTable. This value also implies that no
       'filter all' entry may be added to the db90ProtoTable.
       default(3) indicates that an entry of either 'forward
       all' or 'filter all' (i.e. not just Multicast frames)
       may be added to the db90ProtoTable. This value also
       implies that all other protocol entries not listed in
       the db90ProtoTable will be forwarded."
    ::= { db90ProtoFilt 1 }

db90ProtoFilterTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF Db90ProtoFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A table that contains filtering information about
        Ethernet protocol types and 5 byte SNAP SAPs 
        for the DECbridge 90."
    ::= { db90ProtoFilt 2 }
 
db90ProtoFilterEntry OBJECT-TYPE
    SYNTAX  Db90ProtoFilterEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A table that contains filtering characteristics
        for Ethernet protocol types and 5 byte SNAP SAPs 
        for the DECbridge 90."
    INDEX   { db90ProtoFilterProtocol }
    ::= { db90ProtoFilterTable 1 }

Db90ProtoFilterEntry ::=
    SEQUENCE {
        db90ProtoFilterProtocol
            OCTET STRING (SIZE (2..5)),
        db90ProtoFilterType
            INTEGER,
        db90ProtoFilterStatus
            INTEGER,
        db90ProtoFilterMulticastFlag
            INTEGER,
        db90ProtoFilterPortMask
            INTEGER
    }

db90ProtoFilterProtocol OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE (2..5))
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The protocol type or SNAP SAP in a frame to which this 
        entry's filtering information applies. The length is 2
        for Ethernet protocol types and 5 for SNAP SAP."
    ::= { db90ProtoFilterEntry 1 }
 
db90ProtoFilterType OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown(1),
                invalid(2),
                ethernet(3),
                snap-sap(4),
                deleteAllProtocols(5)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "The type of this entry.  unknown(1) specifies
        that this protocol filter is unused.  invalid(2)
        deletes the filter.  ethernet(3) or snap-sap(4)
        defines the size of db90ProtoFilterProtocol.
        Setting this variable to a value of
        deleteAllProtocols(5) will cause all protocols,
        both volatile and non-volatile, to be deleted."
    ::= { db90ProtoFilterEntry 2 }
 
db90ProtoFilterStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                forward(1),
                filter(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Action taken by bridge when it sees this 
        ethernet protocol type or SNAP SAP in a received frame.
        Note that this value must be identical to 
        db90ProtoFilterOther unless db90ProtoFilterMulticastFlag
        is multicastOnly(2) or there are no other entries
        with db90ProtoFilterMulticastFlag=allFrames(1)."
    ::= { db90ProtoFilterEntry 3 }
 
db90ProtoFilterMulticastFlag OBJECT-TYPE
    SYNTAX  INTEGER {
                allFrames(1),
                multicastOnly(2)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Identifies whether or not filtering is based
        on the multicast bit in the MAC destination address.
        If allFrames(1), then filtering is performed as
        per db90ProtoFilterStatus.  For multicastOnly(2), 
        multicast frames for this protocol are always
        filtered and unicast frames are always forwarded;
        this is true regardless of the value of
        db90ProtoFilterOther."
    ::= { db90ProtoFilterEntry 4 }
 
db90ProtoFilterPortMask OBJECT-TYPE
    SYNTAX  INTEGER {
                backbone(1),
                workGroup(2),
                allPorts(3)
            }
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
        "Must be allPorts(3) unless db90ProtoFilterMulticastFlag
        is multicastOnly, in which case any specification is valid."
    ::= { db90ProtoFilterEntry 5 }
 

END
    
68.2RIPPLE::KOPEC_STWest Coast YazMon Jul 19 1993 15:027
    so, I assume that what is published in .1 can be extratcted and sent to
    a customer or another vendor wanting to manage the DH90 from their NMS
    platform?
    
    I had the latter contact me today withthis same request.
    
    					Thx, Stan
68.3Old ageSLINK::HOODI'd rather be surfingMon Jul 19 1993 16:072
re .2:
That's a VERY OLD mib.  For the latest rev, check with Roger (KALI::) Gaudet.
68.4Latest DECHUB90 MIBQUIVER::GAUDETTue Jul 20 1993 12:175
    Please use the DH90 MIB in the release area on
    QUIVER::PROJ$722:[ONEHUB.RELEASE.DENMA.V1_1]DH90_MIB.TXT.  This is the
    latest version which is supported by V1.1 of the DECagent 90.
    
    ...Roger...
68.5Why is the hubTopolgyChange Trap not included??49393::FUEGLISTERRoland Fueglister, 760-2498Fri Aug 27 1993 06:329
After reading through the DH90 Mib mentioned in .4 I recognized that the
Trap-PDU definition is only comment. 

According to the DECagent 90 V1.1 SPD, it supports one enterprise-specific TRAP
(hubTopologyChange).
Why is this enterprise-specific trap NOT defined in the MIB???


				Roland
68.6Excuse the brain...ROGER::GAUDETBecause the Earth is 2/3 waterMon Aug 30 1993 13:458
.5>> Why is this enterprise-specific trap NOT defined in the MIB???

Because I brain-farted and forgot to uncomment the released version.  There's a
new copy of the MIB at QUIVER::PROJ$722:[ONEHUB.RELEASE.DENMA.V1_1]DH90_MIB.TXT.

Thanks for pointing that out.

...Roger...
68.7New MIB not working49393::SCHNEIDERRTue Aug 31 1993 03:5838
>There's a
>new copy of the MIB at QUIVER::PROJ$722:[ONEHUB.RELEASE.DENMA.V1_1]DH90_MIB.TXT.
>


If you translate the new MIBfile, you get an error!!!!!!



Roland

---------------------------------------------------------------------------
This is the errormessage:

Line 2970 : Syntax error

An error occurred while running the MIB Translator.
Check file DH90_MIB.LIS,

-------------------------------------------------------------------------------
This is a part from DH90_MIB.LIS:

2969          generic-trap              -- generic trap type
<FF>

                    DECmcc MIB Translation Utility T1.1.0-A            Page 
55Input: $1$dia4:[mcc]dh90_mib.txt;  Output: dh90_mib.ms, dh90_mib_enum.ms

2970             INTEGER {
Syntax error at line 2970.

2971                coldStart(0),             -- Agent has just powered up
2972                warmStart(1),             -- Agent has reset but not power-
2973                authenticationFailure(4), -- SNMP PDU contained an unknown
2974                                          -- community string
2976             }
2977
2978          specific-trap             -- DEChub 90-specific