summaryrefslogtreecommitdiff
path: root/MIBS/enterasys/CTRON-VLAN-EXTENSIONS-MIB
blob: 535de572c1d1891ec3be05e14d35a1e2cc1e4420 (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
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
CTRON-VLAN-EXTENSIONS-MIB DEFINITIONS ::= BEGIN

--  ctron-vlan-extensions-mib.txt
--  Revision: 01.05.00
--  Part Number: 
--  Date: December 15, 1998

--  Cabletron Systems, Inc.
--  35 Industrial Way, P.O. Box 5005
--  Rochester, NH 03867-0505
--  (603) 332-9400
--  support@ctron.com

--  This module provides authoritative definitions for Cabletron's
--  enterprise-specific 802.1Q VLAN extensions MIB.
--
--  This module will be extended, as required.
--

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

--  Copyright December 1998 Cabletron Systems

IMPORTS

      OBJECT-TYPE
            FROM RFC-1212
      DisplayString
            FROM RFC1213-MIB
      ctVlanExt
            FROM CTRON-MIB-NAMES;

-- The ctVlanExt MIB is used to manage VLAN information for an 
-- IEEE 802.1Q compliant switch.  This managed object is based on
-- the IEEE 802.1Q/D9 specification. 

ctVlanBridgeConfig  OBJECT IDENTIFIER ::= { ctVlanExt 1 }

-- The ctVlanBridgeConfig group manages the overall configuration
-- of the bridge's VLAN resources.
--
-- The implementation of this group is MANDATORY.

ctVlanVersionNumber OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "Specifies the IEEE 802.1Q VLAN version number."
    ::= { ctVlanBridgeConfig 1 }

ctVlanSupportedOperationalMode OBJECT-TYPE
    SYNTAX INTEGER {
      static(1),
      configurable(2)
      }
    ACCESS read-only
    STATUS deprecated
    DESCRIPTION
      "This value indicates whether the device allows for flexible
       VLAN configuration as specified by ctVlanCurrentOperationalMode.

       A value of static(1) indicates that the device does not allow
       for user configuration.  

       A value of configurable(2) indicates that the device supports 
       the functionality described in the ctVlanCurrentOperationalMode 
       object."
    DEFVAL { static }
    ::= { ctVlanBridgeConfig 2 }
       
ctVlanCurrentOperationalMode OBJECT-TYPE
    SYNTAX INTEGER (0..12)
    ACCESS read-write
    STATUS deprecated
    DESCRIPTION
       "This value indicates the number of bits in a VLAN Id
        that are considered significant in the forwarding decision
        of a packet.  This allows VLANs to be grouped together into
        logical units.  Within the scope of these VLAN groups, unicast
        traffic may be bridged between VLANs, but, multicast and broadcast
        traffic is scoped to a specific VLAN.

        In the following depiction M represents the number of
        significant bits as specified by a set of the object.
        An X in a box represents that the bit is considered
        significant based on the value of M.

               11  10  9   8   7   6   5   4  3    2   1   0
             +===============================================+
        M=0  |   |   |   |   |   |   |   |   |   |   |   |   |
             +===============================================+

               11  10  9   8   7   6   5   4  3    2   1   0
             +===============================================+
        M=4  |   |   |   |   |   |   |   |   | X | X | X | X |
             +===============================================+

               11  10  9   8   7   6   5   4  3    2   1   0
             +===============================================+
        M=9  |   |   |   | X | X | X | X | X | X | X | X | X |
             +===============================================+


        Significant bits are assigned sequentially starting with bit
        zero and ending with bit M-1.

        For a set value of M, (2 ^ M) VLAN groups will be created.  Each
        group will contain (2 ^ (12 - M)) VLAN Ids, with the exception
        of the first group and last group which will each have
        ((2 ^ (12 - M)) - 1) VLAN Ids (VLAN Ids 0 and 4095 are reserved).
        VLAN groups are numbered sequentially from 0 through ((2 ^ M) - 1).
        The VLAN Ids assigned to each group, N, are assigned sequentially
        starting with (N * (2 ^ (12 - M))) through
        ((N * (2 ^ (12 - M))) + ((2 ^ (12 - M)) - 1)), with the exception
        of group zero which always starts with VLAN Id 1 and group
        ((2 ^ M) -1) which always ends with VLAN Id 4094.

        The number of bits specified allows the maximum amount of
        flexibility in the scoping of traffic, without compromising
        security between VLANS.  For example, a set value of 0 would
        create a single VLAN group with 4094 VLAN Ids.  This configuration
        would allow all unicast traffic to be bridged between VLANS,
        while scoping all multicast and broadcast traffic to a specific VLAN.
        A set value of 12 would restrict all unicast, multicast and broadcast
        traffic to a specific VLAN.  In this configuration no traffic
        would be bridged between VLANS.

        Setting of this object is limited to devices which support
        configurable(2) operational modes as specified by
        ctVlanSupportedOperationalMode.  A set of this object for a
        device which only supports static(1) operational mode will fail.
        A read of this object for a device that only supports
        static(1) operational mode will always return 12."
    DEFVAL { 12 }
    ::= { ctVlanBridgeConfig 3 }

ctVlanResetDefaults OBJECT-TYPE
    SYNTAX INTEGER {
      current(1),
      reset(2)
      }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of the value reset(2) will cause the
       ctVlanTriggerPortSet table to contain no entries, delete
       all objects from the ctVlanConfig group, and reset the
       ctVlanPortVID for each port to the default port VLAN Identifier.
       A read of this object will return current(1).
       A set of current(1) has no effect."
    ::= { ctVlanBridgeConfig 4 }

ctVlanDefaultVIDStickyEgress OBJECT-TYPE
    SYNTAX INTEGER {
      enable(1),
      disable(2)
       }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of the value enable(1) will cause
       a port, as specified by ctVlanPortNum, to remain in the
       egress list for the DEFAULT VLAN (VID 1) when the port's
       VID, specified by ctVlanPortVID, is changed.  A set of disable(2)
       will cause the port to be removed from the egress list of the
       DEFAULT VLAN when the ports VID is changed."
    DEFVAL { disable }
    ::= { ctVlanBridgeConfig 5 }

ctVlanSupportedPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtVlanSupportedPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "This table specifies which bridge ports on the device
       support VLANs."
    ::= { ctVlanBridgeConfig 6 }

ctVlanSupportedPortEntry OBJECT-TYPE
    SYNTAX CtVlanSupportedPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "Specifies the bridge ports in the ctVlanSupportedPortTable."
    INDEX { ctVlanSupportedSlotNum }
    ::= { ctVlanSupportedPortTable 1 }

CtVlanSupportedPortEntry ::= SEQUENCE {
      ctVlanSupportedSlotNum
            INTEGER,
      ctVlanSupportedPortNum
            OCTET STRING
      }

ctVlanSupportedSlotNum OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The slot number of the device that the bridge port is located on."
    ::= { ctVlanSupportedPortEntry 1 }

ctVlanSupportedPortNum OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The set of ports on the device, specified by
       ctVlanSupportedSlotNum, that support VLANs.
       Each octet within the value of this object specifies
       a set of eight ports, with the first octet specifying
       ports 1 through 8, the second octet specifying ports 9
       through 16, etc.  Within each octet, the most significant
       bit represents the lowest numbered port, and the least
       significant bit represents the highest numbered port.
       Thus, each port of the VLAN bridge is represented by a
       single bit within the value of this object.  If that bit
       has a value of '1' then that port is included in the set
       of ports; the port is not included if its bit has a value of '0'."
    ::= { ctVlanSupportedPortEntry 2 }

ctVlanLearningMode OBJECT-TYPE
    SYNTAX INTEGER {
      ivl(1),
      svl(2),
      svlivl(3)
     }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "This value indicates the type of VLAN learning the device supports.

       A value of ivl(1) indicates the device supports Independent VLAN
       Learning (IVL).  Configuration and operation of the Learning Process
       and the Filtering Database such that, for a given set of VLANs, if a
       given individual MAC address is learnt in one VLAN, that learnt 
       information is not used in forwarding decisions taken for the same 
       address relative to any other VLAN in the given set.  This 
       operational mode indicates that all unicast, multicast and broadcast 
       traffic is scoped to a specific VLAN.

       A value of svl(2) indicates the device supports Shared VLAN
       Learning (SVL).  Configuration and operation of the Learning Process
       and the Filtering Database such that, for a given set of VLANs, if a
       given individual MAC address is learnt in one VLAN, that learnt
       information is used in forwarding decisions taken for the same
       address relative to any other VLAN in the given set.  In a bridge
       that supports SVL operation, the `given set of VLANS' is the set
       of all VLANS (1 - 4094).  This operational mode allows all unicast 
       traffic to be bridged between VLANS, while scoping all unknown, 
       multicast and broadcast traffic to a specific VLAN.

       A value of svlivl(3) indicates the device supports both Shared
       and Independent VLAN learning simultaneously.  This operational
       mode allows learnt information to be shared between those VLANS for
       which SVL is necessary while also allowing learnt information not to 
       be shared between those VLANS for which IVL is necessary.  

       All three of the aforementioned modes operate by placing VLANs in 
       `sets'.  In IVL each VLAN is mapped to a separate set while in SVL 
       each VLAN is mapped to the same set.  Accordingly, svlivl is a 
       combination of both.  Each set is realized as a separate filter 
       database.  Each filter database is uniquely identified by a Filter 
       Database Identifier (FID).  The mapping of VLANs to filter databases 
       is defined in the ctVlanIdToFidMapping leaf of the ctVlanConfigTable."
    REFERENCE
      "IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.5
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.9
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.11
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 6.4"
    DEFVAL { svl }
    ::= { ctVlanBridgeConfig 7 }

ctVlanTriggerPortConfig  OBJECT IDENTIFIER ::= { ctVlanExt 2 }

-- The ctVlanTriggerPortConfig group manages the configuration
-- of the bridge's GARP VLAN Registration Protocol (GVRP)
-- Triggering Function.  GVRP allows automatic configuration
-- of Egress Port lists to occur on ports where the attached LAN
-- segment carries VLAN traffic generated by devices that are unable to
-- participate in GVRP protocol exchanges.
--
-- The implementation of this group is OPTIONAL.

ctVlanTriggerPortSetTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtVlanTriggerPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "This table provides information pertaining to the ports 
       participating in the GVRP triggering function."
    ::= { ctVlanTriggerPortConfig 1 }

ctVlanTriggerPortEntry OBJECT-TYPE
    SYNTAX CtVlanTriggerPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "Specifies the bridge ports in the ctVlanTriggerPortSet table."
    INDEX { ctVlanTriggerSlotNum }
    ::= { ctVlanTriggerPortSetTable 1 }

CtVlanTriggerPortEntry ::= SEQUENCE {
      ctVlanTriggerSlotNum
            INTEGER,
      ctVlanTriggerStatus
            OCTET STRING
      }

ctVlanTriggerSlotNum OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The slot number of the device that the bridge port is located on."
    ::= { ctVlanTriggerPortEntry 1 }

ctVlanTriggerStatus OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "The set of ports that will participate in GVRP
       trigger functions.  Each octet within the value of
       this object specifies a set of eight ports, with the
       first octet specifying ports 1 through 8, the second
       octet specifying ports 9 through 16, etc.  Within each
       octet, the most significant bit represents the lowest
       numbered port, and the least significant bit represents
       the highest numbered port.  Thus, each port of the VLAN
       bridge is represented by a single bit within the value
       of this object.  If that bit has a value of '1' then
       that port is included in the set of ports; the port is
       not included if its bit has a value of '0'.  A set of '1'
       for a port that does not have a '1' for the corresponding
       bit in the ctVlanSupportedPortNum will be ignored."
    ::= { ctVlanTriggerPortEntry 2 }


ctVlanPortConfig     OBJECT IDENTIFIER ::= { ctVlanExt 3 }

-- The ctVlanPortConfig group manages the overall configuration
-- of a specific port's VLAN resources.
--
-- The implementation of this group is MANDATORY.

ctVlanPortConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtVlanPortConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "This table provides general information about the VLAN 
       configuration of all bridge ports on a device."
    ::= { ctVlanPortConfig 1 }

ctVlanPortConfigEntry OBJECT-TYPE
    SYNTAX CtVlanPortConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "Describes a particular VLAN port configuration entry."
    INDEX { ctVlanPortSlotNum, ctVlanPortNum }
    ::= { ctVlanPortConfigTable 1 }

CtVlanPortConfigEntry ::= SEQUENCE {
      ctVlanPortSlotNum
            INTEGER,
      ctVlanPortNum
            INTEGER,
      ctVlanPortVID
            INTEGER,
      ctVlanPortDiscardFrame
            INTEGER,
      ctVlanPortOperationalMode
            INTEGER,
      ctVlanPortIngressFiltering
            INTEGER
}

ctVlanPortSlotNum OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The slot number of the device that the bridge port is located on."
    ::= { ctVlanPortConfigEntry 1 }

ctVlanPortNum OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The port number for which the information is requested."
    ::= { ctVlanPortConfigEntry 2 }

ctVlanPortVID OBJECT-TYPE
    SYNTAX INTEGER (1..4094)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "The 12 bit Port VLAN Identifier (PVID) associated with the configured
       VLAN for received untagged packets on the port specified by 
       ctVlanPortNum.  The port specified by ctVlanPortNum will be added to 
       the egress list (ctVlanEgressList) for the specified VLAN with 
       the frame type of untagged, via ctVlanEgressUntaggedList.  The port will 
       be removed from the egress list of the previous PVID.  The exception to 
       this is the DEFAULT VLAN (VID 1) when the ctVlanDefaultVIDStickyEgress
       is set to a value of enable(1).  Additionally the ctVlanStatus
       of the specified VLAN will be set to a value of enable(1).  A set of 
       value that does not exist in the ctVlanConfigTable will fail
       with a NO-INSTANCE error."
    ::= { ctVlanPortConfigEntry 3 }

ctVlanPortDiscardFrame OBJECT-TYPE
    SYNTAX INTEGER {
         noDiscard(1),
         discardUntagged(2),
         discardTagged(3)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of noDiscard(1) causes the port to submit all packets
       received on the port to the forwarding process, regardless,
       of the absence or presence of a VLAN tag in the packet.
       A set of discardUntagged(2) causes the port specified by ctVlanPortNum
       to discard all frames received that carry no VLAN classification
       (i.e. any untagged frames or priority tagged frames).  A set of
       discardTagged(3) has no effect."
    DEFVAL { noDiscard }
    ::= { ctVlanPortConfigEntry 4 }

ctVlanPortOperationalMode OBJECT-TYPE
    SYNTAX INTEGER {
         dot1QTrunk(1),
         hybrid(2),
         dot1dTrunk(3)
         }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of dot1QTrunk(1) causes the port specified by ctVlanPortNum 
       to transmit tagged frames exclusively, and ctVlanPortDiscardFrame 
       is set to a value of discardUntagged(2).  Additionally the specified
       port is added to the egress list of all existing VLANS, and all 
       existing VLANS are enabled as specified by ctVlanStatus.  If new 
       VLANS are established and any port is configured as a dot1QTrunk(1) 
       then the newly created VLAN will automatically be added to the 
       egress list (ctVlanEgressList) for the port specified by 
       ctVlanPortNum.  A set of hybrid(2) allows the port to transmit 
       both tagged and untagged frames.  Additionally the specified 
       port is removed from all VLANS except the the VLAN as specified 
       by ctVlanPortVID.  A set of hybrid(2) will also set 
       ctVlanPortDiscardFrame to a value of noDiscard(1).  A set of 
       dot1dTrunk(3) causes the port specified by ctVlanPortNum to
       transmit untagged frames exclusively, and ctVlanPortDiscardFrame 
       is set to a value of noDiscard(1).  Additionally the specified 
       port is added to the egress list and the untagged list of all 
       existing VLANS, and all existing VLANS are enabled as specified 
       by ctVlanStatus.  If new VLANS are established and any port is 
       configured as a dot1dTrunk(3) then the newly created VLAN will 
       automatically be added to the egress list (ctVlanEgressList) and 
       the untagged list (ctVlanEgressUntaggedList) for the port specified 
       by ctVlanPortNum."
    DEFVAL { hybrid }
    ::= { ctVlanPortConfigEntry 5 }

ctVlanPortIngressFiltering OBJECT-TYPE
    SYNTAX INTEGER {
         enable(1),
         disable(2)
         }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of enable(1) causes the forwarding process to discard any frame
       received on the port, specified by ctVlanPortNum, that is not a member
       of the classified VLANs' egress list, as specified bt ctVlanEgressList.
       VLAN classification may be accomplished via the PVID, as specified by 
       ctVlanPortVID, for untagged frames, or the VLAN Id specified in the
       VLAN tag for tagged packets.  A set of disable(2) causes the port to 
       submit all frames to the forwarding process that have not already been 
       discarded by ctVlanPortDiscardFrame." 
    DEFVAL { disable }
    ::= { ctVlanPortConfigEntry 6 }


ctVlanConfig     OBJECT IDENTIFIER ::= { ctVlanExt 4 }

-- The ctVlanConfig group manages the configuration of a specific
-- VLAN within a bridge.  Each VLAN will have an entry in both the
-- ctVlanConfigTable and ctVlanConfigEgressPorts tables.
--
-- The implementation of this group is MANDATORY.

ctVlanNumActiveEntries OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The number of active VLAN entries for the device."
    ::= { ctVlanConfig 1 }

ctVlanNumConfiguredEntries OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The number of configured VLAN entries for the device.  This value
       includes active entries."
    ::= { ctVlanConfig 2 }

ctVlanMaxNumEntries OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The maximum number of VLAN entries for the device."
    ::= { ctVlanConfig 3 }

ctVlanConfigTable     OBJECT-TYPE
    SYNTAX SEQUENCE OF CtVlanConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "This table allows for the creation, deletion, and modification of
       specific VLANs."
    ::= { ctVlanConfig 4 }

ctVlanConfigEntry    OBJECT-TYPE
    SYNTAX CtVlanConfigEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "Allows for configuration of specific VLAN entries."
    INDEX { ctVlanVID }
    ::= { ctVlanConfigTable 1 }

CtVlanConfigEntry ::= SEQUENCE {
      ctVlanVID
            INTEGER,
      ctVlanName
            DisplayString,
      ctVlanStatus
            INTEGER,
      ctVlanEstablish
            INTEGER,
      ctVlanIdToFidMapping
            INTEGER,
      ctVlanType
            INTEGER
      }

ctVlanVID OBJECT-TYPE
    SYNTAX INTEGER (1..4094)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The 12 bit VLAN Identifier associated with the configured VLAN."
    ::= { ctVlanConfigEntry 1 }

ctVlanName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..32))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "The ASCII name associated with the configured VLAN.
       A set of this object prior to creating an entry by 
       setting ctVlanEstablish will fail with a NO-INSTANCE error."
    ::= { ctVlanConfigEntry 2 }

ctVlanStatus OBJECT-TYPE
    SYNTAX INTEGER {
      enable(1),
      disable(2)
      }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set with the value of enable(1), enables all associated entries
      in ctVlanEgressPorts table for the specified VLAN.  A set of
      disable(2), disables all ctVlanEgressPorts entries associated with
      the specified VLAN.  On ports for which the ctVlanVID specifies
      the PVID, the operation causes the PVID to be set to the default
      PVID value.  A set of this object prior to creating an entry by
      setting ctVlanEstablish will fail with a NO-INSTANCE error."  
    DEFVAL { disable }
    ::= { ctVlanConfigEntry 3 }

ctVlanEstablish OBJECT-TYPE
    SYNTAX INTEGER {
      create(1),
      delete(2)
      }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "A set of the value create(1), causes an entry to be created in
       the ctVlanConfigTable as specified by the instancing information
       of ctVlanVID.  Additionally, an entry is created in the
       ctVlanEgressPortsTable for the specified VLAN. A set of delete(2)
       causes the specified entry to be removed from both tables.  A read
       of this object will always return create(1)."
    ::= { ctVlanConfigEntry 4 }

ctVlanIdToFidMapping OBJECT-TYPE
    SYNTAX INTEGER (1..4094)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
      "The 12 bit Filter Database Identifier (FID) associated with the
       configured VLAN as specified by ctVlanVID.

       For devices operating in Independent VLAN Learning (IVL) mode, as 
       specified by a value of ivl(1) for ctVlanLearningMode, each VLAN 
       will be mapped to a FID value equal to the VLAN Id specified
       by ctVlanId.

       For devices operating in Shared VLAN Learning (SVL) mode, as specified 
       by a value of svl(2) for ctVlanLearningMode, all VLANs will be to the 
       same FID (1).  On a device operating in SVL mode, sets to this object 
       will have no effect.

       For devices operating in Shared and Independent VLAN Learning
       (SIVL) mode, as specified by a value of svlivl(3) for 
       ctVlanLearningMode, one or more VLANs can be mapped to each FID.  Each 
       VLAN can only be uniquely mapped to one FID.  When more than one VLAN 
       is mapped to a single FID they will operate together under the SVL mode 
       of operation.  When a single VLAN is mapped to a FID it will operate 
       under the IVL mode of operation.  The default value for this object, 
       while the device is svlivl(3) mode, will be equal to the VLAN Id 
       specified by ctVlanId."
    REFERENCE
      "IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.6
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.10
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 3.11
       IEEE Draft Standard P802.1Q/D9, February 20, 1998: Section 8.11.7"
    ::= { ctVlanConfigEntry 5 }

ctVlanType OBJECT-TYPE
    SYNTAX INTEGER {
      other(1),
      static(2),
      dynamicGvrp(3)
      }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the type for this entry.

         A value of other(1) indicates that this entry is currently in use 
         but the conditions under which it will remain so differ from the 
         following values.

         A value of static(2) indicates that this entry has been statically
         configured by management, is currently in use and will remain so after
         the next reset of the device.  

         A value of dynamicGvrp(3) indicates that this entry is currently in use
         and will remain so until removed by GVRP.  There is no static entry for 
         this VLAN and it will be removed when the last port leaves the VLAN."
    ::= { ctVlanConfigEntry 6 }

ctVlanEgressPortsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtVlanEgressPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "This table provides information pertaining to the egress ports 
       for a particular VLAN."
    ::= { ctVlanConfig 5 }

ctVlanEgressPortEntry OBJECT-TYPE
    SYNTAX CtVlanEgressPortEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
      "Specifies the egress ports and frame types per port for the 
       specified VLAN."
    INDEX { ctVlanEgressPortSlotNum, ctVlanEgressVID }
    ::= { ctVlanEgressPortsTable 1 }

CtVlanEgressPortEntry ::= SEQUENCE {
      ctVlanEgressPortSlotNum
            INTEGER,
      ctVlanEgressVID
            INTEGER,
      ctVlanEgressList
            OCTET STRING,
      ctVlanEgressUntaggedList
            OCTET STRING
      }

ctVlanEgressPortSlotNum OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The slot number of the device that the VLAN is configured on."
    ::= { ctVlanEgressPortEntry 1 }

ctVlanEgressVID OBJECT-TYPE
    SYNTAX INTEGER (1..4094)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
      "The 12 bit VLAN Identifier associated with the configured VLAN."
    ::= { ctVlanEgressPortEntry 2 }

ctVlanEgressList OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
      "The set of ports to which traffic destined for
       the VLAN specified by ctVlanEgressVID
       on the device specified by ctVlanEgressPortSlotNum
       may be transmitted. Each octet within the value of
       this object specifies a set of eight ports, with the
       first octet specifying ports 1 through 8, the second
       octet specifying ports 9 through 16, etc.  Within each
       octet, the most significant bit represents the lowest
       numbered port, and the least significant bit represents
       the highest numbered port.  Thus, each port of the VLAN
       bridge is represented by a single bit within the value
       of this object.  If that bit has a value of '1' then
       that port is included in the set of ports; the port is
       not included if its bit has a value of '0'.  A set of '1'
       for a port that does not have a '1' for the corresponding
       bit in the ctVlanSupportedPortNum will be ignored."
    ::= { ctVlanEgressPortEntry 3 }

  ctVlanEgressUntaggedList OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS  read-write
    STATUS  mandatory
    DESCRIPTION
      "The set of ports to which traffic destined for
       the VLAN specified by ctVlanEgressVID
       on the device specified by ctVlanEgressPortSlotNum
       should be untagged. Each octet within the value of
       this object specifies a set of eight ports, with the
       first octet specifying ports 1 through 8, the second
       octet specifying ports 9 through 16, etc.  Within each
       octet, the most significant bit represents the lowest
       numbered port, and the least significant bit represents
       the highest numbered port.  Thus, each port of the VLAN
       bridge is represented by a single bit within the value
       of this object.  If that bit has a value of '1' then
       that port is included in the set of ports; the port is
       not included if its bit has a value of '0'.  All egress
       ports, as specified by ctVlanEgressList, that do not have
       a value of '1' for the corresponding bit in this object
       will be tagged. A set of '1' for a port that does not have
       a '1' for the corresponding bit in the ctVlanEgressList will
       be ignored."
    ::= { ctVlanEgressPortEntry 4 }

ctVlanProtocolAssign  OBJECT IDENTIFIER ::= { ctVlanExt 5 }
-- The ctVlanProtocolAssign group manages the overall mapping
-- of protocol and Ether types to VLAN Ids for "untagged" packets.
--
-- The implementation of this group is OPTIONAL.

 ctVlanProtocolStatus OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),
        disable(2)
    }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object allows the Protocol/Vlan feature to be disabled."
    DEFVAL { disable }
    ::= { ctVlanProtocolAssign 1}

ctMaxNumVlanProtoEntries OBJECT-TYPE
    SYNTAX INTEGER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The maximum number of entries allowed for the ctVlanProtoAssignTable 
         table."
    ::= { ctVlanProtocolAssign 2}

ctVlanProtoAssignTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF CtVlanProtoAssignEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "This table provides a mapping of protocol or Ether types to 
         VLAN Ids for 'untagged' packets."
    ::= { ctVlanProtocolAssign 3}

ctVlanProtoAssignEntry OBJECT-TYPE
    SYNTAX CtVlanProtoAssignEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Describes a particular protocol VLAN ID configuration entry."
    INDEX { ctVlanVID, ctVlanProtoEtherType }
    ::= { ctVlanProtoAssignTable 1 }

CtVlanProtoAssignEntry ::= SEQUENCE {
    ctVlanProtoEtherType
        INTEGER,
    ctVlanProtoEstablish
        INTEGER,
    ctVlanProtoPortList
        OCTET STRING
    }

ctVlanProtoEtherType OBJECT-TYPE
    SYNTAX INTEGER 
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object returns the protocol or Ether type that is mapped to
         the VLAN specified in it's instancing.  This object takes the 
         value of any valid Ether type(0x0600..0xFFFF).

         In addition to the previously mentioned range of Ether types, the 
         following values hold special meaning:
            
         Value        Description        DSAP/SSAP/Control
        -------     ---------------    ----------------------
         0x100        LLC_IPX1            0xE0E003   
         0x101        LLC_IPX2            0xFFFF
         0x102        LLC_NETBIOS         0xF0F003
         0x103        LLC_BANYAN          0xBCBC03
        "
    ::= { ctVlanProtoAssignEntry 1}
                                                                  
ctVlanProtoEstablish OBJECT-TYPE
    SYNTAX INTEGER {
        create(1),
        delete(2)
     }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A set of the value create(1), causes an entry to be added to the 
         ctVlanProtoAssignTable as specified by the instancing information
         of ctVlanVID and ctVlanProtoEtherType.  This has the result 
         of mapping the specified protocol or Ether type to a VLAN
         for all received untagged traffic on the ports specified by
         ctVlanProtoPortList.  A set of the value delete(2), 
         causes the specified entry information to be removed from the table. 
         A read of this object will always return create(1)." 
        ::= { ctVlanProtoAssignEntry 2 }

ctVlanProtoPortList OBJECT-TYPE
    SYNTAX OCTET STRING
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The set of ports on the device, specified by ctVlanVID and 
         ctVlanProtoEtherType, that will classify received 'untagged' 
         packets of ctVlanProtoEtherType type, to the VLAN specified
         by ctVlanVID.  Each octet within the value of this object
         specifies a set of eight ports, with the first octet specifying ports 1
         through 8, the second octet specifying ports 9 through 16, etc.  Within
         each octet, the most significant bit represents the lowest numbered 
         port, and the least significant bit represents the highest numbered 
         port.  Thus, each port on this device is represented by a single bit
         within the value of this object.  If that bit has a
         value of '1' then that port is included in the set of ports; the port 
         is not included if its bit has a value of '0'.  A set of this object 
         prior to creating an entry by setting ctVlanProtoEstablish will fail 
         with a NO-INSTANCE error.  This object will have an initial value '0' 
         for each port that is represented."
     ::= { ctVlanProtoAssignEntry 3 }

END