summaryrefslogtreecommitdiff
path: root/MIBS/3com/A3COM0352-STACK-CONFIG
blob: 513d0c72fec5de69195842ea72abf7b31f24f83a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
--
-- Name:	3Com SuperStack II Stack Configuration MIB
-- 
-- Description: 
--  
-- This is an updated version of 3Com RFC 0017.  Additional
-- functionality added since 3Com RFC 0017 is as follows:
-- (1) A notepad facility which allows the device to store a 512
-- character DisplayString.
-- (2) A column for the unit's product number.
-- (3) A Unit Departure Trap.
-- 
--
-- This MIB is used to publicise the units in the stack. The information
-- is represented by two tables.  Both tables are indexed by a simple
-- location index. The convention is that the lower numbered units are
-- at the bottom of the stack. This index will generally NOT be sparse,
-- but management applications CANNOT rely on this. Different
-- technologies can be used to detect stack position and those
-- technologies may or may not detect units that are not powered. Matrix
-- technologies may allocate a fixed unit number to the cables that
-- connect them to the units in the stack. Depending upon the wiring,
-- the index for matrix inter-connected stacks may be sparse. The agents
-- reporting this information are allowed to implement this index in a
-- sparse fashion.
-- 
-- Note that the position in the stack, and hence the position in these
-- tables can change as various units in the stack are switched on and
-- off. Because a unit is indexed in this table as row 2, it should NOT
-- be assumed that unit will continue to remain at location 2. If an
-- application wishes to uniquely tag information for a particular unit
-- in the stack, that unit should be identified by its MAC address.
-- 
-- Note also that not all values will be available for all units. In
-- this case those objects that are not supported may return
-- NO-SUCH-NAME or a default value. Management applications must be
-- aware of this and take appropriate actions.  It should be noted that
-- units which support the earlier RFC (0017) will not support the
-- stackUnitNotepad object since it has been added by this MIB.
-- 
--
-- History  Date        Reason for Change
--
-- 1.00     Jan 1999    Created from 3Com RFC 0017.
--                      The stackUnitNotepad object has been added.
--                      The stackAddressTable is read-only.
-- 1.01     May 1999	Added missing import of TimeTicks.
--                      Made stackUnitNotepad an OCTET STRING since 
--                      DisplayStrings are not allowed to be greater
--                      than 255 octets in length.
-- 1.02     Dec 1999    Added stackUnitProductNumber column to the
--                      stackConfigTable object
-- 1.03     March 2000  Added Unit Departure Trap.
-- 1.04     April 2001  Added latest stackUnitCapability enumerations.
-- 2.01     May 2002    Added stackUnitAutoReboot and
--                      stackBankSwapTable.
-- 2.02	Oct 2002	Added unitAwaitReset to stackUnitState.
-- 2.03     Jan 2003    Added latest stackUnitCapability enumerations:
--                      PoE (0x31) and OSPF (0x32)
-- 2.04     Mar 2003    Fixed format error
-- 2.05     Apr 03,2003 Added stackUnitCapability enumerations:
--                      Trusted IP(0x33),Secure Shell(0x34),
--                      Configurable management VLAN(0x35)
-- 2.06	Apr 16,2003 Added stackUnitCapability enumeration:
--                      Manual L4 cache configuration
-- 2.07     May 23,2003 Added stpIgnoreCapability
-- 2.08   March  1,2004 Added for Hoover
--                      MAC-address Based Network Access (56)  This indicates that the device supports MAC-address Based Network Access.
--                      Simple Network Time Protocol Client (57)  This indicates that the device supports the Simple Network Time Protocol Client.
--                      System Logger (58)  This indicates that the device supports System Log.
--                      IGMP V3 (59) - This indicates that the device supports IGMP V3.
-- *********************************************************************
-- Copyright (c) 3Com Corporation. All Rights Reserved.
-- *********************************************************************

A3COM0352-STACK-CONFIG DEFINITIONS ::= BEGIN


   IMPORTS
      superStackIIconfig FROM A3COM0004-GENERIC
      PhysAddress, DisplayString FROM RFC1213-MIB
      OBJECT-TYPE FROM RFC-1212
      TRAP-TYPE FROM RFC-1215
      TimeTicks FROM SNMPv2-SMI
      ;


-- *********************************************************************
-- This is the main configuration table.  It is indexed on the unit
-- location within the stack.  Not all objects in this table will be 
-- applicable to every device type and the table rows may be sparse.
-- *********************************************************************
stackConfiguration OBJECT IDENTIFIER ::= {superStackIIconfig 1}
stackConfigTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF StackConfigEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "The main table of configuration data."
      ::= {stackConfiguration 1}

stackConfigEntry OBJECT-TYPE
      SYNTAX      StackConfigEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "The configuration entry for a unit in the stack."
      INDEX       {stackUnitLocation}
      ::= {stackConfigTable 1}

StackConfigEntry ::= SEQUENCE {
            stackUnitLocation               INTEGER,
            stackUnitAddress                PhysAddress,
            stackUnitLastReset              TimeTicks,
            stackUnitType                   INTEGER,
            stackUnitDesc                   DisplayString,
            stackUnitName                   DisplayString (SIZE(0..30)),
            stackUnitState                  INTEGER,
            stackUnitManagementType         INTEGER,
            stackUnitCapabilities           OCTET STRING ,
            stackUnitPromVersion            DisplayString,
            stackUnitHWVersion              DisplayString,
            stackUnitSWVersion              DisplayString,
            stackUnitSerialNumber           DisplayString,
            stackUnitAttention              INTEGER,
            stackUnitMgmtInterface          INTEGER,
            stackUnitSummary                OCTET STRING ,
            stackUnitSlipMgmtInterface      INTEGER,
            stackUnitNotepad                OCTET STRING (SIZE(0..512)),
            stackUnitProductNumber          DisplayString
            }

stackUnitLocation OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "Used to identify individual units in the stack. Note
        that this value will usually be contiguous, but that gaps may be
        present due, for example, to unpowered units."
      ::= {stackConfigEntry 1}

stackUnitAddress OBJECT-TYPE
      SYNTAX      PhysAddress
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "Every conformant unit in the SuperStack II system
        will have a unique physical (MAC) address by which it can be
        recognised. Note that the location index on this table can
        change if a unit is inserted into the stack and so the location
        can not be used to uniquely identify a location. Instead an
        application should refer to units by their physical address -
        see stackUnitAddress below."
      ::= {stackConfigEntry 2}

stackUnitLastReset OBJECT-TYPE
      SYNTAX      TimeTicks 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the time in hundredths of a second, since
        this unit last reset (ie the unit's concept of sysUpTime). Note
        that if a unit is not operational then this object will report
        zero (0)."
      ::= {stackConfigEntry 3}

stackUnitType OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is an integer type identifier for this unit. The
        values of this integer are administered by allocating a MIB
        object identifier for each type of unit from a common branch.
        The value of this object is then the last level in that
        identifier. The values are defined in 3Com RFC 0025. Note that
        the values are unlikely to be contiguous.

        Note that if a type value is not available for this unit then
        this object will return zero. There are several reasons why this
        value may not be available through this view of the MIB. One
        reason may be that the device is not currently active (dead) or
        that the information is only available through the units own
        agent (see stackUnitManagementType)."
      ::= {stackConfigEntry 4}

stackUnitDesc OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is a text string which describes this unit. If a
        unit cannot provide a name then the value of this object will be
        an empty string."
      ::= {stackConfigEntry 5}

stackUnitName OBJECT-TYPE
      SYNTAX      DisplayString (SIZE(0..30))
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "This is a simple text string which can be used by an 
        application to assign a text name to a unit. By default this
        string is empty. If a management application writes a text
        string to this object the device will store the string in
        non-volatile storage."
      ::= {stackConfigEntry 6}

stackUnitState OBJECT-TYPE
      SYNTAX      INTEGER  {
                  unitStateUnknown (1),
                  unitInactive (2),
                  unitOperational (3),
                  unitLoading (4),
                  unitAwaitReset(5)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object represents the best known state of a unit
        in the stack. The unknown state is not expected to be used, but
        may exist because of loosely integrated components in the stack.
        Management applications MUST EXPECT to see the 'unknown' value.
        The other states are as follows:

        unitInactive: The device appears to be in the stack but does not
        appear to be in an operational state.

        unitOperational: The unit is sending out periodic identification 
        messages and indicates that it is operational, running its
        complete image.

        unitLoading: The unit is running in a special operational mode
        which means that it is unmanaged while it loads a new
        operational code image.

        unitAwaitReset: The unit has accomplished a successful software
        upgrade and is waiting for the remaining units in the stack to
        successfully complete their upgrades and enter this state before
        resetting the system.  If any unit transitions from unitLoading
        to any other state than unitAwaitReset, then the units in the
        unitAwaitReset state will not reset and will transition to 
        unitOperational.  Implementations of this object that do not
        synchronize stack-wide resets after software upgrades will reset
        immediately after the unitLoading state is completed and never
        transition to unitAwaitReset."
      ::= {stackConfigEntry 7}

stackUnitManagementType OBJECT-TYPE
      SYNTAX      INTEGER  {
                  unknown (1),
                  distributed (2),
                  intelligent (3)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object can be used to determine the management
        method used to access the agent in this unit. The options are:

          unknown:     The unit has not reported any management
                       capability. It is either faulty or a
                       non-conformant device.
          distributed: This unit can be managed using the SuperStackII 
                       distributed management architecture and so is
                       managed through this agent. The unit may or may
                       not have an active comms stack. If it has then
                       the addresses for that agent can be determined
                       from the address table.
          intelligent: The unit has its own SNMP agent which is accessed 
                       seperately. The agent is not part of the SSII 
                       distributed management architecture."
      ::= {stackConfigEntry 8}

-- Aside: The SuperStack II Distributed Management Architecture allows a
-- stack of units to be managed as though they formed a single unit.
-- The MIBs of each unit in the stack are merged and amy be accessed
-- through any unit in the stack that has an active comms stack.

stackUnitCapabilities OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object describes the capabilities of this
          particular unit. This is used in conjunction with the upgrade
          level of the stack to enable a management application to
          correctly enable and disable the various features of the
          application depending on the capabilities of the unit.

          The object is an octet string, where each octet represents a
          capability of the unit. Different capabilities will be added
          to the list as required. The current list of values is:

          0x01        Full RMON
          0x02        3Com Proprietary Resilience MIB
          0x03        3Com Repeater Security MIB
          0x04        PSHub Port Switching
          0x05        PSHub Capability Upgrade Facility
          0x06        Dual Speed Hub Capability Upgrade Facility 
          0x07        TelNet 
          0x08        Web 
          0x14        SMA Resource Allocator 
          0x15        SMA Distributed SNMP
          0x16        SMA Global Variables
          0x17        SMA Licence Server 
          0x18        PSHub Cascade Switch 
          0x19        PSH Load Balancing
          0x1a        RPC
          0x1b        Internal SNMP
          0x1c        Mapper
          0x1d        Distributed RMON
          0x1e        Lazy ACK
          0x1f        Resilience switchback
          0x20        Security II
          0x21        RMON Email
          0x22        Rapid Spanning Tree (RSTP)
          0x23        Link Aggregation Control Protocol (LACP)
          0x24        L4 Redirection (WEB cache)
          0x25        Device IP Configuration (DHCP)
          0x26        Revised Global Port Numbering
          0x27        Local Trunk Forwarding
          0x28        Improved TFTP Upgrade
          0x29        802.1x Network Login
          0x2a        RADIUS Client
          0x2b        Layer 3 Stacking
          0x2c        SW Variant
          0x2d        Jag3 Mode
          0x2e        Jag6 Mode
          0x2f        QoS Support of RSTP Applications
          0x30        Multiple Agent Images
          0x31        Power over Ethernet
          0x32        OSPF
          0x33        Trusted IP
          0x34        Secure Shell (SSH)
          0x35        Configurable management VLAN
          0x36        Manual L4 cache configuration
          0x37        STP Ignore Mode
          0x38        MAC-address Based Network Access 
          0x39        Simple Network Time Protocol Client 
          0x3a        System Logger 
          0x3b        IGMP V3 

          So, for example, if a unit has a value of '02 03' for this
          object then it supports repeater resilience and security, but
          no other features such as RMON."
      ::= {stackConfigEntry 9}

stackUnitPromVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the version number of the PROM on the unit.
        If the unit has no PROM, does not correctly report the PROM
        version or is currently non-operational then this object will
        return an empty string."
      ::= {stackConfigEntry 10}

stackUnitHWVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the hardware version of this unit, expressed
        as a string. Note that if the hardware version is not available
        for this particular unit then the version string will be empty."
      ::= {stackConfigEntry 11}

stackUnitSWVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the software version number of this unit. The 
        software version number is a string. Note that if a unit does
        not make its version number information available, or the unit
        has no software, then this object will report an empty string."
      ::= {stackConfigEntry 12}

stackUnitSerialNumber OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the serial number for this unit. The number
        is globally unique and expressed as a textual string."
      ::= {stackConfigEntry 13}

stackUnitAttention OBJECT-TYPE
      SYNTAX      INTEGER  {
                  noAttention (1),
                  attention (2)
      }
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "Some of the units in the stack will contain a
        mechanism for drawing attention to that unit. This is useful
        for directing maintainance personnel. The method often employed
        is for a special LED, or by placing some other LED into a
        flashing state. This object gives access to the attention
        mechanism for a unit.

        Note that if a unit does not support this mechanism then reading
        the value of this object will return 'no-such-name' error."
      ::= {stackConfigEntry 14}

stackUnitMgmtInterface OBJECT-TYPE
      SYNTAX      INTEGER (0..65535)
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "If a unit in the stack participates in the
        distributed SNMP stack (stackUnitManagementType = 'distributed')
        then it will have an instance of this object. The object points
        to the entry in the interface table which represents the
        potential management interface for this unit. That is the index
        to use in the ifTable for this device. Note that if the value of
        this object is zero, or the result of reading this object is
        NO-SUCH-NAME then there is no management interface available on
        that unit."
      ::= {stackConfigEntry 15}

stackUnitSummary OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object provides a summary of this units
        configuration in order to improve the performance of the
        management applications. The information in this object is
        represented as a list of items, each item is a type-length-value
        triplet which will have a basic encoding. The information
        encoded in this string will be determined by the requirements of
        the management applications.  The contents of this object is
        separately defined for each device.

        Note: This object has been replaced by 3Com RFCs 0341, 0342 and
        0343 for some devices."
      ::= {stackConfigEntry 16}

stackUnitSlipMgmtInterface OBJECT-TYPE
      SYNTAX      INTEGER (0..65535)
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "If a unit in the stack participates in the
        distributed SNMP stack then it will have an instance of this
        object(stackUnitManagementType = 'distributed'). The object
        points to the entry in the interface table which represents the
        potential SLIP (serial port) management interface for this unit.
        That is the index to use in the ifTable for this device. Note
        that if the value of this object is zero, or the result of
        reading this object is NO-SUCH-NAME then there is no SLIP
        access port available on that unit."
      ::= {stackConfigEntry 17}

stackUnitNotepad OBJECT-TYPE
      SYNTAX      OCTET STRING (SIZE(0..512))
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "This object is used to store user-specified data
        regarding this unit.  The user may store any relevant data about
        the unit.  This may include its floor location, history or other
        details. The unit stores the data in non-volatile storage so
        that the data is not lost over a normal reset.  The data will be
        cleared if the unit is returned to factory defaults.  A maximum
        of 512 characters of data may be stored in this object.
        This object can be treated as a displayString.  In the MIB it is
        defined as an OCTET STRING since displayStrings are not allowed
        to be more than 255 characters in length."
      ::= {stackConfigEntry 18}

stackUnitProductNumber OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is a textual representation of the unit's
        product number. Note that if a unit does not make its product
        number information available then this object will report an
        empty string."
      ::= {stackConfigEntry 19}

-- *********************************************************************
-- The following definitions are part of the Bank Swap implementation.
-- Bank Swap allows a user to select the agent that is to be used by the
-- system after a reboot.
-- The stackBankSwapTable shows the agent version string and status for 
-- all agents that reside in flash. The status descriptions are shown in
-- the description for stackUnitBankStatus.
-- *********************************************************************

stackBankSwapTable OBJECT-TYPE
      SYNTAX SEQUENCE OF StackBankSwapEntry
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "A table of the agent software versions and status for
                   all agents stored in flash"
      ::= {stackConfiguration 2}

stackBankSwapEntry OBJECT-TYPE
      SYNTAX StackBankSwapEntry
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "A table entry showing the bank identifier, software
                   version and status for each agent."
      INDEX {stackUnitLocation, stackBankSwapId}
	::= {stackBankSwapTable 1}

StackBankSwapEntry ::= SEQUENCE {
      stackBankSwapId            INTEGER,
      stackBankSwapSWVersion     DisplayString,
      stackBankSwapStatus        INTEGER,
      stackBankSwapNextActive    INTEGER
      }

stackBankSwapId OBJECT-TYPE
      SYNTAX INTEGER
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "Identifier for an agent location in the system."
      ::= {stackBankSwapEntry 1}

stackBankSwapSWVersion OBJECT-TYPE
      SYNTAX DisplayString
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION "Software version for the software in this bank.  If a
                   valid agent is not present in the bank, then an empty
                   string is returned."
      ::= {stackBankSwapEntry 2}

stackBankSwapStatus OBJECT-TYPE
      SYNTAX INTEGER {
                  active(1),
                  activeOnLoad(2),
                  inactiveOnLoad(3)
      }
      ACCESS read-write
      STATUS mandatory
      DESCRIPTION "Status of a bank location. This object should be set
                  prior to loading new software to indicate when that
                  new software will become active. This object can only
                  be written for banks not in the active(1) state as
                  the software download process will always load into a
                  bank not in the active(1) state.
                  active(1) read-only - the agent is currently running.
                            New software will not be loaded into a bank
                            in this state.  An error will be returned if
                            an attempt is made to set this value.
                  activeOnLoad(2) read-write - the agent is currently
                            inactive.  If new software is successfully
                            loaded into a bank in this state, then the 
                            stackBankSwapNextActive object is
                            automatically set to nextActive(1) for this
                            bank and an immediate reboot occurs, thereby
                            making stackBankSwapStatus active(1) and
                            stackBankNextActive nextActive(1) after the
                            reboot.  This is the default state for a
                            bank when it is not active(1).
                  inactiveOnLoad(3) read-write - the agent is currently
                            inactive.  If an attempt is made to load new
                            software into this bank, then after the
                            attempt, the box is not rebooted and the
                            stackBankNextActive object is left
                            unaffected."                 
      ::= {stackBankSwapEntry 3}

stackBankSwapNextActive OBJECT-TYPE
      SYNTAX INTEGER {
                  nextActive(1),
                  nextActivePostLoad(2),
                  notNextActive(3)
      }
      ACCESS read-write
      STATUS mandatory
      DESCRIPTION "This object indicates which bank contains the
                   software that will be running after the next reboot.
                   The supported values include:
                   nextActive(1) read-write - If set, then the software
                            contained in this bank will be running after
                            the next reboot.  Only one bank may have
                            nextActive(1) set.  When using this state,
                            it is assumed that the software in this bank
                            may become active at any time since a reboot
                            may occur unexpectedly for many reasons.
                   nextActivePostLoad(2) read-write - If set, then the
                            software in this bank will be marked as
                            active after the next reboot after the
                            next successful software upgrade to this
                            bank.  If the upgrade is successful, this 
                            object will be automatically set to 
                            nextActive(1) for this bank.  If the upgrade
                            is unsuccessful, it will be automatically
                            set to notNextActive(3).
                   notNextActive(3) read-only - This bank does not
                            contain the software that will be active
                            after the next reboot.  An error will be
                            returned if this value is written.  When
                            nextActive(1) is written to a bank, the
                            other banks are automatically set to
                            notNextActive(3)."
      ::= {stackBankSwapEntry 4}

-- *********************************************************************
-- The stack of units may be addressable through more than one unit in
-- the stack. Some units may be manageable through more than one
-- address. This table lists the addresses within the stack through
-- which the stack (or just the unit) may be managed.  Devices for which
-- the stackUnitManagementType is 'Intelligent'are not able to manage
-- other devices in the stack.
-- *********************************************************************
stackAddressInformation OBJECT IDENTIFIER ::= {superStackIIconfig 2}

stackAddressTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF StackAddressEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "This table contains entries for units in the stack
        which have active inband communications stacks. The table
        comprises of a set of entries for each unit, each entry
        representing a single address. Note that the address information
        in this table cannot be changed!

        This table is required specifically for those units which
        execute their own SNMP agents without taking part in the Arnie
        co-operative agent. I.e., the only devices for which there will
        be an entry in this table are those for which the
        stackUnitManagementType is 'Intelligent'."
      ::= {stackAddressInformation 1}

stackAddressEntry OBJECT-TYPE
      SYNTAX      StackAddressEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION ""
      INDEX       {stackUnitLocation, stackAddressNumber}
      ::= {stackAddressTable 1}

StackAddressEntry ::= SEQUENCE {
                  stackAddressNumber              INTEGER,
                  stackAddressType                INTEGER,
                  stackAddress                    OCTET STRING 
                  }

stackAddressNumber OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This identifies one of a number of different
        addresses for this unit. This is a second index column for this
        table, the first being the unit number shared with the
        stackConfigTable (stackUnitLocation)."
      ::= {stackAddressEntry 1}

stackAddressType OBJECT-TYPE
      SYNTAX      INTEGER  {
                  ipAddress (1),
                  ipxAddress (2)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This identifies the type of address."
      ::= {stackAddressEntry 2}

stackAddress OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "The address."
      ::= {stackAddressEntry 3}

-- Define all possible sysObjIdent values as a branch from this MIB.
-- Note that because of the nature of the distributed SNMP architecture
-- it is not possible to determine the function of the device from its
-- sysObjId and so all distributed stack components will have the same
-- value.
--
-- The OBJECT IDENTIFIERS and unit types are now defined in 3Com0025.
--
stackSysObjIdentities
                  OBJECT IDENTIFIER ::= {superStackIIconfig 4}
stackUnitTypes    OBJECT IDENTIFIER ::= {superStackIIconfig 5}

--
-- Trap Definitions
--
unitDeparture TRAP-TYPE
      ENTERPRISE  a3Com
      VARIABLES {stackUnitDesc, stackUnitSerialNumber}
      DESCRIPTION "This trap is raised by the lowest numbered unit in a
            stack when a communications loss is detected to another
            unit. The raising of this trap is optional."
      ::= 89
END