summaryrefslogtreecommitdiff
path: root/MIBS/enterasys/CTRON-ALIAS-MIB
blob: c2149b4932749e54c2bd92beb28078b38d866cc8 (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
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
CTRON-ALIAS-MIB DEFINITIONS ::= BEGIN

--  ctron-alias-mib.txt
--
--  Part Number:
--
--

--  This module provides authoritative definitions for Enterasys
--  Networks' Alias MIB.

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

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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Gauge32, Counter32,
         TimeTicks
              FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
              FROM SNMPv2-CONF
    TEXTUAL-CONVENTION, MacAddress, TruthValue
              FROM SNMPv2-TC
    SnmpAdminString
              FROM SNMP-FRAMEWORK-MIB
    InterfaceIndex 
            FROM IF-MIB
    TimeFilter
            FROM RMON2-MIB
    VlanIndex
            FROM Q-BRIDGE-MIB
    EnabledStatus 
            FROM P-BRIDGE-MIB
    ctAliasMib
              FROM CTRON-MIB-NAMES;

cabletronAliasMib MODULE-IDENTITY
    LAST-UPDATED "201302151430Z"  -- Fri Feb 15 14:30 UTC 2013
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
         "Postal: Enterasys Networks
                  9 Northeastern Blvd.
                  Salem, NH 03079 USA

          Phone:  +1 603 952 5000
          E-mail: support@enterasys.com
          WWW:    http://www.enterasys.com"

    DESCRIPTION
        "This MIB module defines a portion of the MIB tree
         under the Enterasys enterprise OID. This branch 
         defines Enterasys Networks' proprietary Node Alias
         feature.

         This MIB defines objects which can be used to discover 
         end systems per port, and to map end system addresses
         to the layer 2 address of the port."

    REVISION    "201302151430Z"  -- Fri Feb 15 14:30 UTC 2013
    DESCRIPTION "Added ctAliasInterfaceTable. Also added mdns, 
                 llmnr, and ssdp as supported protocols."

    REVISION    "201102141525Z"  -- Mon Feb 14 15:25 UTC 2011
    DESCRIPTION "Added IPv6 as a supported protocol.
                 Added the CabletronProtocolBits TEXTUAL-CONVENTION
                 and ctAliasConfigurationProtocolEnableState
                 object."
    
    REVISION    "200304221339Z"  -- Tue Apr 22 13:39 GMT 2003
    DESCRIPTION "Added the ctAliasMacAddressTable and
                 ctAliasProtocolAddressTable. Added the objects
                 ctAliasEntryStatus and ctAliasEntryClearAll.
                 Deprecated the object ctAliasMarkInactive."

    REVISION    "200201301301Z"  -- Wed Jan 30 13:01 GMT 2002
    DESCRIPTION "Added the optional ctAliasConfigurationTable."

    REVISION    "200201232056Z"  -- Wed Jan 23 20:56 GMT 2002
    DESCRIPTION "Added ctAliasAddressText leaf with the syntax of
                 SnmpAdminString."

    REVISION    "200201182022Z"  -- Fri Jan 18 20:22 GMT 2002
    DESCRIPTION "Added textual convention AliasAddress.  Changed
                 the syntax for ctAliasAddress from SnmpAdminString
                 to AliasAddress.  Added ranges to ctAliasReference
                 and ctAliasID."

    REVISION    "199909260000Z"
    DESCRIPTION "Moved the CabletronProtocolTC enumeration value 
                 unknown to unknown(0).  Updated textual descriptions."

    REVISION    "199909040000Z"
    DESCRIPTION "Changed removed the ctAliasProtocolDirLocalID.
                 Updated units of conformance and compliance
                 statements."

    REVISION    "199908060000Z"
    DESCRIPTION "Changed object naming to be more cabletron-general.
                 Changed indexing to simplify access."

    REVISION    "199907280000Z"
    DESCRIPTION "The initial version of this MIB module"

         ::= { ctAliasMib 1 } 

-- Textual Conventions

CabletronProtocolTC ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Identifies the type of protocol address."
    SYNTAX  INTEGER {
                   unknown(0),
                   ip(1), -- IPv4 
                   apl(2),
                   mac(3),
                   hsrp(4),
                   dhcps(5),
                   dhcpc(6),
                   bootps(7),
                   bootpc(8),
                   ospf(9),
                   vrrp(10),
                   ipx(11),
                   xrip(12),
                   xsap(13),
                   xnlsp(14),
                   ipx20(15),
                   rtmp(16),
                   netBios(17),
                   nbt(18),
                   n802q(19),
                   bgp(20),
                   rip(21),
                   igrp(22),
                   dec(23),
                   bpdu(24),
                   udp(25),
                   ipv6(26),
                   mdns(27),
                   llmnr(28),
                   ssdp(29)
    }

AliasAddress ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1x "
    STATUS       current
    DESCRIPTION
        "Represents layer 3 or higher addresses."
    SYNTAX       OCTET STRING (SIZE (0..32))

CabletronProtocolBits ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "The list of protocol types that can be enabled for 
         nodeAlias entries."
    SYNTAX  BITS {
                   unknown(0),
                   ipv4(1),
                   apl(2),
                   mac(3),
                   hsrp(4),
                   dhcps(5),
                   dhcpc(6),
                   bootps(7),
                   bootpc(8),
                   ospf(9),
                   vrrp(10),
                   ipx(11),
                   xrip(12),
                   xsap(13),
                   xnlsp(14),
                   ipx20(15),
                   rtmp(16),
                   netBios(17),
                   nbt(18),
                   n802q(19),
                   bgp(20),
                   rip(21),
                   igrp(22),
                   dec(23),
                   bpdu(24),
                   udp(25),
                   ipv6(26),
                   mdns(27),
                   llmnr(28),
                   ssdp(29)
                }


-- branches used in this MIB

   ctAlias OBJECT IDENTIFIER ::= { cabletronAliasMib 1 }
   
-- Alias Table

ctAliasTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF CtAliasEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "The ctAliasTable contains information about the aliases
         known by the agent.  This table is indexed using a unique
         and arbitrary ID and a TimeFilter to allow a management
         station to learn all alias entries that have been modified
         since time X.  This table is NOT designed to do a single
         GET.  This Table is designed for MIB Walks only.

         This table contains objects that map upper-layer 
         network services and entities to the physical location 
         of the associated port, and the MAC address of the
         associated end-system (node).

         All entries in this table are deleted when sysUpTime
         is reset to zero.

         This table allows for a time filtered view.  It is useful 
         for determining what has been modified in the Alias Table 
         since a specified time.

         If a management station reads the ctAliasTable
         of an entity at time X, subsequent updates can be 
         realized by performing get-next requests of this
         table to determine which entries have been modified 
         since time X. Then the management station can use
         GET requests to retrieve only the records of interest
         from the Alias table. 

         There is a delay between retrieving the Alias Reference 
         values from this table, and a GET request to retrieve a 
         modified row from the Alias table. The management 
         station should be prepared for two possibilities:
         1) the GET request may fail if the Alias table entry 
         has been deleted during the delay, and 2) the 
         entry may have been modified during the delay, so the
         modification time of the retrieved entry may differ from 
         the modification time of the Delta entry.

         If the entry in the Alias Control table identified by 
         ctAliasID is marked inactive by management request, and 
         subsequently deleted to free resources, all corresponding 
         entries in this table are also deleted.

         If the agent needs to free resources, it can delete
         entries from this table. It SHOULD first remove those
         which have been marked inactive in the ctAliasControlTable, 
         then it SHOULD remove those entries with the oldest 
         modification times." 
    ::= { ctAlias 1 }

ctAliasEntry OBJECT-TYPE
    SYNTAX  CtAliasEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "Each entry contains information pertaining to 
         the alias of a node."
    INDEX   { ctAliasTimeFilter, ctAliasReference }
    ::=     { ctAliasTable 1 }

CtAliasEntry ::=
    SEQUENCE 
    {
            ctAliasTimeFilter         TimeFilter,
            ctAliasReference          Integer32,
            ctAliasInterface          InterfaceIndex,
            ctAliasMacAddress         MacAddress,
            ctAliasVlanID             VlanIndex,
            ctAliasProtocol           CabletronProtocolTC,
            ctAliasAddress            AliasAddress,
            ctAliasIsActive           TruthValue,
            ctAliasAddressText        SnmpAdminString
    }

ctAliasTimeFilter  OBJECT-TYPE
    SYNTAX  TimeFilter
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The value of sysUpTime when this entry 
         was last modified."
    ::= { ctAliasEntry 1 }

ctAliasReference  OBJECT-TYPE
    SYNTAX  Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "An integer ID assigned by the agent. The value of this
                     object is equal to an existing ctAliasID."
    ::= { ctAliasEntry 2 }

ctAliasInterface OBJECT-TYPE
    SYNTAX InterfaceIndex 
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The ifIndex of the interface on which this entry was 
         discovered.

         The ifIndex is an 'external value' that identifies a 
         physical component associated with the Alias entry.
         This object can be used to identify the physical
         location of the interface in the ifTable [RFC2863].  

         The possibility of ifIndex value re-assignment must be
         accommodated by a management application whenever the 
         value of sysUpTime is reset to zero.

         Since ifIndex values in different 'naming scopes' are 
         not related to one another, the interface to physical 
         component associations are relative to the same
         logical entity within the agent. For more discussion 
         of naming scopes, see the ENTITY-MIB [RFC2037]"
    ::= { ctAliasEntry 3 }

ctAliasMacAddress OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The MAC address associated with this alias.  

         The TEXTUAL-CONVENTION MacAddress is defined in
         SNMPv2-TC as an 802 MAC address represented in 
         'canonical' order as defined by IEEE 802.1a,
         i.e., as if it were transmitted least significant
         bit first."
    ::= { ctAliasEntry 4 }

ctAliasVlanID OBJECT-TYPE
    SYNTAX VlanIndex
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The VLAN ID contained in the header of the message
         associated with this alias.

         On agents which support this MIB but do not support
         VLANs, the value for this object MUST be (1)."
    ::= { ctAliasEntry 5 }

ctAliasProtocol OBJECT-TYPE
    SYNTAX  CabletronProtocolTC
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The address type of this alias address."
    ::= { ctAliasEntry 6 }

ctAliasAddress OBJECT-TYPE
    SYNTAX       AliasAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry.  The exact
         format of this object will depend upon the protocol
         type in ctAliasProtocol.  The value returned for
         this object MUST be in a non-textual format."
    ::= { ctAliasEntry 7 }

ctAliasIsActive  OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The status of this entry.

         A true(1) value indicates the alias is active.

         A false(2) value indicates an entry which has 
         been marked inactive by network management, using the
         ctAliasEntryStatus object in the ctAliasControlTable.  

         Entries which have been marked inactive may remain in 
         the table to allow consistent mappings between network 
         management stations until an agent needs to free 
         resources."
    ::= { ctAliasEntry 8 }

ctAliasAddressText OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry in a human
         readable textual format."
    ::= { ctAliasEntry 9 }

-- Alias Control Table

ctAliasControlTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF CtAliasControlEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "This table allows for control of Alias entries.

         Currently control is limited to marking entries
         as marked for deletion.

         If the entry in the Alias Control table identified by 
         ctAliasID is marked inactive by management request, and 
         subsequently deleted to free resources, all corresponding 
         entries in the ctAlias table are also deleted.

         All entries in this table are deleted when sysUpTime
         is reset to zero."

     ::= { ctAlias 2 }

ctAliasControlEntry OBJECT-TYPE
    SYNTAX  CtAliasControlEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "Each entry contains a unique identifier of an Alias 
         entry and a control object to mark the entry as 
         'marked for deletion'."
    INDEX   { ctAliasID }
    ::=     { ctAliasControlTable 1 }

CtAliasControlEntry ::=
    SEQUENCE 
    {
            ctAliasID               Integer32,
            ctAliasMarkInactive     TruthValue,
            ctAliasEntryStatus      INTEGER
    }

ctAliasID  OBJECT-TYPE
    SYNTAX  Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A unique and arbitrary integer ID assigned
         by the agent to identify this entry. 

         Each identifier must not be reused until the agent
         is re-initialized, i.e. sysUpTime is reset to zero."
    ::= { ctAliasControlEntry 1 }

ctAliasMarkInactive  OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS deprecated
    DESCRIPTION
        "This object provides the control to mark this entry
         to inactive. 

         When an entry is created by the agent, this is set to
         false(2). A network management application can set this
         value to true(1), indicating that the entry is no longer
         needed. Once this object has been set to true(1), it
         cannot be set to false(2). 

         If the alias is detected again by the agent, the agent
         may create a new entry for the Alias.

         When an agent needs to free up resources, it may choose
         to delete those entries marked inactive."
    ::= { ctAliasControlEntry 2 }

ctAliasEntryStatus OBJECT-TYPE
    SYNTAX INTEGER 
    {
           active(1),
           inactive(2),
           remove(3)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This object provides the control to remove or inactivate
         entries that are no longer needed.

         active(1)   - indicates that this entry is active.

         inactive(2) - indicates that this entry is no longer of any
                       interest and can be removed, as needed, by
                       the entity. If the alias is marked inactive
                       and is seen again by the agent, the alias
                       ID's status will be changed to active.

         remove(3)   - indicates that the agent SHOULD immediately
                       remove the entry from the table. If the alias
                       is seen again by the agent after having been 
                       removed, it will be added as a new aliasID."
    ::= { ctAliasControlEntry 3 }

         
-- Alias Table Statistics

ctAliasStats  OBJECT IDENTIFIER ::= { ctAlias 3 }

ctAliasTableStatsTotalEntries  OBJECT-TYPE
    SYNTAX  Gauge32
    MAX-ACCESS      read-only
    STATUS   current
    DESCRIPTION
        "The total number of entries in the ctAliasControlTable."
    ::=      { ctAliasStats 1 }

ctAliasTableStatsActiveEntries OBJECT-TYPE
    SYNTAX  Gauge32
    MAX-ACCESS      read-only
    STATUS   current
    DESCRIPTION
        "The total number of active entries in the 
         ctAliasControlTable."
    ::=      { ctAliasStats 2 }

ctAliasTableStatsPurgeTime OBJECT-TYPE
    SYNTAX  TimeTicks
    MAX-ACCESS      read-only
    STATUS   current
    DESCRIPTION
        "System time of the most recent purge."
    ::=      { ctAliasStats 3 }

ctAliasTableStatsState OBJECT-TYPE
    SYNTAX  INTEGER
    {
                notStarted(1),
                ready(2),
                full(3)
    }
    MAX-ACCESS      read-only
    STATUS   current
    DESCRIPTION
        "Current Alias Table state.

            notStarted(1) indicates the agent has not 
            completed any required start up routines and
            therefore the ctAliasTable and ctAliasControlTable
            are not currently valid.

            ready(2) indicates that the agent has completed 
            all initialization procedures and that the alias 
            MIB is running properly.

            full(3) indicates that due to memory restrictions
            on the agent, the ctaliasTable has reached the 
            maximum number of entries possible.

            NOTE: If an agent is using a circular queue design, 
            then the state of full(3) will never be set."
    ::=       { ctAliasStats 4 }


-- Alias Configuration

ctAliasConfiguration OBJECT IDENTIFIER ::= { ctAlias 4 }

ctAliasConfigurationSystemAllocatedEntries  OBJECT-TYPE
    SYNTAX Gauge32 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The total number of alias entries allocated."
    ::= { ctAliasConfiguration 1 }

ctAliasConfigurationSystemTotalEntries  OBJECT-TYPE
    SYNTAX Gauge32 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The total number of alias entries available to be allocated
         for this system."
    ::= { ctAliasConfiguration 2 }

ctAliasConfigurationTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF CtAliasConfigurationEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "This table is used to prevent any single chatty
         port from monopolizing all of the available alias 
         buffers in the system by letting an administrator
         tune each port."
     ::= { ctAliasConfiguration 3 }

ctAliasConfigurationEntry OBJECT-TYPE
    SYNTAX  CtAliasConfigurationEntry
    MAX-ACCESS   not-accessible
    STATUS  current
    DESCRIPTION
        "Each entry contains an enable/disable control variable
         and variables showing the number of maximum allowable 
         and currently used entries."
    INDEX   { ctAliasInterface }
    ::=     { ctAliasConfigurationTable 1 }

CtAliasConfigurationEntry ::=
    SEQUENCE 
    {
        ctAliasConfigurationInterfaceTotalEntries Gauge32,
        ctAliasConfigurationInterfaceMaxEntries   Gauge32,
        ctAliasConfigurationInterfaceEnableState  EnabledStatus,
        ctAliasConfigurationNumQueueWraps         Counter32
    }

ctAliasConfigurationInterfaceTotalEntries  OBJECT-TYPE
    SYNTAX  Gauge32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The total number of alias entries currently in
         use by this ctAliasInterface."
    ::= { ctAliasConfigurationEntry 1 }

ctAliasConfigurationInterfaceMaxEntries OBJECT-TYPE
    SYNTAX  Gauge32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object represents the maximum number of 
         alias entries in the ctAliasTable which were 
         created by this ctAliasInterface. When the object
         ctAliasConfigurationInterfaceTotalEntries
         equals this object, the next alias appearing 
         on this ctAliasInterface causes the oldest entry 
         created by this ctAliasInterface to be deleted. 
         The sum of this object across all ctAliasInterface 
         shall not exceed ctAliasConfigurationSystemTotalEntries. 
         If the value of this object is increased, then oldest 
         entry removal ceases until the maximum is reached 
         again. If management reduces the value of this 
         object, then, starting with the oldest, alias 
         entries are removed until the new number of 
         entries is reached."
    ::= { ctAliasConfigurationEntry 2 }

ctAliasConfigurationInterfaceEnableState  OBJECT-TYPE
    SYNTAX  EnabledStatus
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The enable state of the alias agent on this
         ctAliasInterface."
    DEFVAL { enabled }
    ::= { ctAliasConfigurationEntry 3 }

ctAliasConfigurationNumQueueWraps  OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This object represents the number of times the queue for
         this ctAliasConfigurationEntry has wrapped.  Since circular
         queues are used for storing the entries, when all allocated
         entries are used, the oldest entries are reused, thus
         creating a wrap condition.  A value of zero indicates the
         queue has not wrapped, except in the case that the counter
         itself has wrapped."
    ::= { ctAliasConfigurationEntry 4 }

ctAliasConfigurationProtocolEnableState  OBJECT-TYPE
    SYNTAX CabletronProtocolBits
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "A bit field of the protocol types where a set indicates the
         detection of that protocol is enabled.  A bit position with
         a cleared bit indicates detection of that protocol is not
         enabled."
    ::= { ctAliasConfiguration 4 }


-- Alias Mac Address Table

ctAliasMacAddressTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtAliasMacAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The ctAliasMacAddressTable contains information about
         the aliases known by the agent indexed by MAC address
         and protocol.

         This table contains information that is identical to
         the ctAliasTable, but it is instanced by MAC address
         and protocol to allow management entities to search for
         a MAC address and protocol, or part of a MAC address
         and protocol, using a single SNMP GetNext request."
     ::= { ctAlias 5 }

ctAliasMacAddressEntry OBJECT-TYPE
    SYNTAX       CtAliasMacAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Each entry contains information pertaining to the alias
         of a node in a table indexed by MAC address, protocol
         type, protocol address, and alias ID."
    INDEX   { ctAliasMacAddress, ctAliasProtocol,
              ctAliasAddress, ctAliasReference }
    ::= { ctAliasMacAddressTable 1 }

CtAliasMacAddressEntry ::=
    SEQUENCE 
    {
         ctAliasMacAddressInterface     InterfaceIndex,
         ctAliasMacAddressVlanID        VlanIndex,
         ctAliasMacAddressIsActive      TruthValue,
         ctAliasMacAddressAddressText   SnmpAdminString,
         ctAliasMacAddressTime          TimeTicks
    }

ctAliasMacAddressInterface OBJECT-TYPE
    SYNTAX       InterfaceIndex 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The ifIndex of the interface on which this entry was 
         discovered.

         The ifIndex is an 'external value' that identifies a 
         physical component associated with the Alias entry.
         This object can be used to identify the physical
         location of the interface in the ifTable [RFC2863].  

         The possibility of ifIndex value re-assignment must be
         accommodated by a management application whenever the 
         value of sysUpTime is reset to zero.

         Since ifIndex values in different 'naming scopes' are 
         not related to one another, the interface to physical 
         component associations are relative to the same
         logical entity within the agent. For more discussion 
         of naming scopes, see the ENTITY-MIB [RFC2037]"
    ::= { ctAliasMacAddressEntry 1 }

ctAliasMacAddressVlanID OBJECT-TYPE
    SYNTAX       VlanIndex
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The VLAN ID contained in the header of the message
         associated with this alias.

         On agents which support this MIB but do not support
         VLANs, the value for this object MUST be (1)."
    ::= { ctAliasMacAddressEntry 2 }

ctAliasMacAddressIsActive  OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The status of this entry.

         A true(1) value indicates the alias is active.

         A false(2) value indicates an entry which has 
         been marked inactive by network management, using the
         ctAliasEntryStatus object in the ctAliasControlTable.  

         Entries which have been marked inactive may remain in 
         the table to allow consistent mappings between network 
         management stations until an agent needs to free 
         resources."
    ::= { ctAliasMacAddressEntry 3 }

ctAliasMacAddressAddressText OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry in a human
         readable textual format."
    ::= { ctAliasMacAddressEntry 4 }

ctAliasMacAddressTime  OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime when this entry was last modified."
    ::= { ctAliasMacAddressEntry 5 }


-- Alias Protocol Address Table

ctAliasProtocolAddressTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF CtAliasProtocolAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The ctAliasProtocolAddressTable contains information
         about the aliases known by the agent indexed by protocol
         and address.

         This table contains information that is identical to the
         ctAliasTable, but it is instanced by protocol and address
         to allow management entities to search for a protocol and
         address, or part of a protocol and address, using a
         single SNMP GetNext request."
    ::= { ctAlias 6 }

ctAliasProtocolAddressEntry OBJECT-TYPE
    SYNTAX       CtAliasProtocolAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Each entry contains information pertaining to the alias
         of a node in a table indexed by protocol type, protocol
         address, MAC address, and alias ID."
         INDEX   { ctAliasProtocol, ctAliasAddress,
                   ctAliasMacAddress, ctAliasReference }
    ::= { ctAliasProtocolAddressTable 1 }

CtAliasProtocolAddressEntry ::=
    SEQUENCE 
    {
         ctAliasProtocolAddressInterface     InterfaceIndex,
         ctAliasProtocolAddressVlanID        VlanIndex,
         ctAliasProtocolAddressIsActive      TruthValue,
         ctAliasProtocolAddressAddressText   SnmpAdminString,
         ctAliasProtocolAddressTime          TimeTicks
    }

ctAliasProtocolAddressInterface OBJECT-TYPE
    SYNTAX       InterfaceIndex 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The ifIndex of the interface on which this entry was 
         discovered.

         The ifIndex is an 'external value' that identifies a 
         physical component associated with the Alias entry.
         This object can be used to identify the physical
         location of the interface in the ifTable [RFC2863].  

         The possibility of ifIndex value re-assignment must be
         accommodated by a management application whenever the 
         value of sysUpTime is reset to zero.

         Since ifIndex values in different 'naming scopes' are 
         not related to one another, the interface to physical 
         component associations are relative to the same
         logical entity within the agent. For more discussion 
         of naming scopes, see the ENTITY-MIB [RFC2037]"
    ::= { ctAliasProtocolAddressEntry 1 }

ctAliasProtocolAddressVlanID OBJECT-TYPE
    SYNTAX       VlanIndex
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The VLAN ID contained in the header of the message
         associated with this alias.

         On agents which support this MIB but do not support
         VLANs, the value for this object MUST be (1)."
    ::= { ctAliasProtocolAddressEntry 2 }

ctAliasProtocolAddressIsActive  OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The status of this entry.

         A true(1) value indicates the alias is active.

         A false(2) value indicates an entry which has 
         been marked inactive by network management, using the
         ctAliasEntryStatus object in the ctAliasControlTable.  

         Entries which have been marked inactive may remain in 
         the table to allow consistent mappings between network 
         management stations until an agent needs to free 
         resources."
    ::= { ctAliasProtocolAddressEntry 3 }

ctAliasProtocolAddressAddressText OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry in a human
         readable textual format."
    ::= { ctAliasProtocolAddressEntry 4 }

ctAliasProtocolAddressTime  OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime when this entry was last modified."
    ::= { ctAliasProtocolAddressEntry 5 }


-- Alias Table Clear object

ctAliasEntryClearAll  OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object is used to remove all of the alias entries
         from all of the tables.

         When set to true(1) all known aliases will be immediately
         removed from all of their respective tables.

         A read will always return false(2)."
    ::= { ctAlias 7 }


-- Alias Interface Table


ctAliasInterfaceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CtAliasInterfaceEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The ctAliasInterfaceTable contains information about
         the aliases known by the agent indexed by interface 
         address and alias ID.

         This table contains information that is identical to
         the ctAliasTable, but it is instanced by interface address
         and alias ID to allow management entities to search for
         an interface address, using a single SNMP GetNext request."
     ::= { ctAlias 8 }

ctAliasInterfaceEntry OBJECT-TYPE
    SYNTAX       CtAliasInterfaceEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Each entry contains information pertaining to the alias
         of a node in a table indexed by  interface address and 
         alias ID."
    INDEX { ctAliasInterface, ctAliasReference }  
    ::= { ctAliasInterfaceTable 1 }

CtAliasInterfaceEntry ::=
    SEQUENCE 
    {
         ctAliasInterfaceMacAddress     MacAddress,
         ctAliasInterfaceProtocol       CabletronProtocolTC,
         ctAliasInterfaceAddress        AliasAddress,
         ctAliasInterfaceVlanID         VlanIndex,
         ctAliasInterfaceIsActive       TruthValue,
         ctAliasInterfaceAddressText    SnmpAdminString,
         ctAliasInterfaceTime           TimeTicks
    }

ctAliasInterfaceMacAddress OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
        "The MAC address associated with this alias.  

         The TEXTUAL-CONVENTION MacAddress is defined in
         SNMPv2-TC as an 802 MAC address represented in 
         'canonical' order as defined by IEEE 802.1a,
         i.e., as if it were transmitted least significant
         bit first."
    ::= { ctAliasInterfaceEntry 1 }

ctAliasInterfaceProtocol OBJECT-TYPE
    SYNTAX  CabletronProtocolTC
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The address type of this alias address."
    ::= { ctAliasInterfaceEntry 2 }

ctAliasInterfaceAddress OBJECT-TYPE
    SYNTAX       AliasAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry.  The exact
         format of this object will depend upon the protocol
         type in ctAliasInterfaceProtocol.  The value returned 
         for this object MUST be in a non-textual format."
    ::= { ctAliasInterfaceEntry 3 }

ctAliasInterfaceVlanID OBJECT-TYPE
    SYNTAX       VlanIndex
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The VLAN ID contained in the header of the message
         associated with this alias.

         On agents which support this MIB but do not support
         VLANs, the value for this object MUST be (1)."
    ::= { ctAliasInterfaceEntry 4 }

ctAliasInterfaceIsActive  OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The status of this entry.

         A true(1) value indicates the alias is active.

         A false(2) value indicates an entry which has 
         been marked inactive by network management, using the
         ctAliasEntryStatus object in the ctAliasControlTable.  

         Entries which have been marked inactive may remain in 
         the table to allow consistent mappings between network 
         management stations until an agent needs to free 
         resources."
    ::= { ctAliasInterfaceEntry 5 }

ctAliasInterfaceAddressText OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The address associated with this entry in a human
         readable textual format."
    ::= { ctAliasInterfaceEntry 6 }

ctAliasInterfaceTime  OBJECT-TYPE
    SYNTAX       TimeTicks
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of sysUpTime when this entry was last modified."
    ::= { ctAliasInterfaceEntry 7 }

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

ctAliasConformance OBJECT IDENTIFIER
    ::= { ctAliasMib 2 }

ctAliasGroups OBJECT IDENTIFIER 
    ::= { ctAliasConformance 1 }

ctAliasCompliances OBJECT IDENTIFIER
    ::= { ctAliasConformance 2 }

-- -------------------------------------------------------------
-- units of conformance
-- -------------------------------------------------------------

ctAliasBasicGroup OBJECT-GROUP
    OBJECTS {
             ctAliasInterface,
             ctAliasMacAddress,
             ctAliasVlanID,
             ctAliasProtocol,
             ctAliasAddress,
             ctAliasIsActive,
             ctAliasAddressText
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects for the discovery and mapping
         of end systems and aliases."
    ::= { ctAliasGroups 1 }

ctAliasStatsGroup OBJECT-GROUP
    OBJECTS {
             ctAliasTableStatsTotalEntries,
             ctAliasTableStatsActiveEntries,
             ctAliasTableStatsPurgeTime,
             ctAliasTableStatsState
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects pertaining to discovery and mapping
         of end systems and aliases."
    ::= { ctAliasGroups 2 }


ctAliasControlGroup OBJECT-GROUP
    OBJECTS {
             ctAliasMarkInactive
    }
    STATUS   deprecated
    DESCRIPTION
        "This group has been deprecated. See ctAliasControlGroupI."
   ::= { ctAliasGroups 3 }

ctAliasConfigurationGroup OBJECT-GROUP
    OBJECTS {
             ctAliasConfigurationSystemAllocatedEntries,
             ctAliasConfigurationSystemTotalEntries,
             ctAliasConfigurationInterfaceTotalEntries,
             ctAliasConfigurationInterfaceMaxEntries,
             ctAliasConfigurationInterfaceEnableState 
    }
    STATUS   deprecated
    DESCRIPTION
        "A collection of objects for configuring port buffer queues."
    ::= { ctAliasGroups 4 }

ctAliasMacAddressGroup  OBJECT-GROUP
    OBJECTS {
             ctAliasMacAddressInterface,
             ctAliasMacAddressVlanID,
             ctAliasMacAddressIsActive,
             ctAliasMacAddressAddressText,
             ctAliasMacAddressTime
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects for the discovery and mapping
         of end systems and aliases."
    ::= { ctAliasGroups 5 }

ctAliasProtocolAddressGroup  OBJECT-GROUP
    OBJECTS {
             ctAliasProtocolAddressInterface,
             ctAliasProtocolAddressVlanID,
             ctAliasProtocolAddressIsActive,
             ctAliasProtocolAddressAddressText,
             ctAliasProtocolAddressTime
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects for the discovery and mapping
         of end systems and aliases."
    ::= { ctAliasGroups 6 }

ctAliasControlGroupI OBJECT-GROUP
    OBJECTS {
             ctAliasEntryStatus
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects which make the Aliases accessible 
         using the TimeFilter TEXTUAL CONVENTION."
    ::= { ctAliasGroups 7 }

ctAliasGroup OBJECT-GROUP
     OBJECTS {
              ctAliasEntryClearAll
     }
     STATUS  current
     DESCRIPTION
         "An object used for removing alias entries."
    ::= { ctAliasGroups 8 }

ctAliasConfigurationGroupI OBJECT-GROUP
     OBJECTS {
              ctAliasConfigurationNumQueueWraps
     }
     STATUS   current
     DESCRIPTION
         "An object to indicate queue usage."
    ::= { ctAliasGroups 9 }

ctAliasConfigurationGroup2 OBJECT-GROUP
    OBJECTS {
             ctAliasConfigurationSystemAllocatedEntries,
             ctAliasConfigurationSystemTotalEntries,
             ctAliasConfigurationInterfaceTotalEntries,
             ctAliasConfigurationInterfaceMaxEntries,
             ctAliasConfigurationInterfaceEnableState,
             ctAliasConfigurationProtocolEnableState
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects for configuring port buffer queues."
    ::= { ctAliasGroups 10 }

ctAliasInterfaceGroup OBJECT-GROUP
    OBJECTS {
             ctAliasInterfaceMacAddress,
             ctAliasInterfaceProtocol,  
             ctAliasInterfaceAddress,  
             ctAliasInterfaceVlanID,    
             ctAliasInterfaceIsActive,  
             ctAliasInterfaceAddressText, 
             ctAliasInterfaceTime 
    }
    STATUS   current
    DESCRIPTION
        "A collection of objects for the discovery and mapping
         of end systems and aliases."
    ::= { ctAliasGroups 11 }
         
-- -------------------------------------------------------------
-- compliance statements
-- -------------------------------------------------------------

ctAliasCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for device support of the
         Cabletron Directory Alias feature."

    MODULE
        MANDATORY-GROUPS { ctAliasBasicGroup,
                           ctAliasStatsGroup,
                           ctAliasGroup } 

-- an implementation which does not support the ctAliasControlGroup 
-- will not allow for NMS management controlled garbage collection.

    ::= { ctAliasCompliances 1 }

ctAliasCompliance2 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for device support of the
         Cabletron Directory Alias feature."

    MODULE
        MANDATORY-GROUPS { ctAliasBasicGroup,
                           ctAliasStatsGroup,
                           ctAliasGroup,
                           ctAliasMacAddressGroup,
                           ctAliasProtocolAddressGroup,
                           ctAliasControlGroupI,
                           ctAliasGroup,
                           ctAliasConfigurationGroupI,
                           ctAliasConfigurationGroup2, 
                           ctAliasInterfaceGroup
                         }
    ::= { ctAliasCompliances 2 }

END