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
|
-- *****************************************************************
-- CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB.my
--
-- MIB support for the Resilient Ethernet Protocol Feature
--
-- Oct 2006, Nagaraj Hegde
-- Copyright (c) 2006-2007-2011 by cisco Systems Inc.
--
-- All rights reserved.
--
-- ****************************************************************
CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
NOTIFICATION-TYPE,
Unsigned32,
Integer32,
Counter32
FROM SNMPv2-SMI
MODULE-COMPLIANCE,
NOTIFICATION-GROUP,
OBJECT-GROUP
FROM SNMPv2-CONF
TruthValue,
RowStatus,
TimeStamp,
TEXTUAL-CONVENTION
FROM SNMPv2-TC
InterfaceIndex,
InterfaceIndexOrZero
FROM IF-MIB
VlanId
FROM Q-BRIDGE-MIB
CiscoVlanList
FROM CISCO-TC
ciscoMgmt
FROM CISCO-SMI;
ciscoResilientEthernetProtocolMIB MODULE-IDENTITY
LAST-UPDATED "201101110000Z"
ORGANIZATION "Cisco Systems, Inc."
CONTACT-INFO
"Cisco Systems
Customer Service
Postal: 170 W Tasman Drive
San Jose, CA 95134
USA
Tel: +1 800 553-NETS
E-mail: cs-lan-switch-snmp@cisco.com"
DESCRIPTION
"This MIB module defines objects required for managing
Resilient Ethernet Protocol (REP).
Resilient Ethernet Protocol (REP) is a Cisco proprietary
protocol that provides an alternative to Spanning Tree
Protocol (STP) to control network loops, handle link
failures and improve convergence time.
REP controls a group of ports connected in a segment;
ensures that the segment does not create any bridging loops,
and responds to link failures within the segment.
The following diagram depicts a REP segment:
[Sw E1]E---NE[Sw 1]NE---NE[Sw 2]NE.........
.
.
[Sw E2]E---NE[Sw N]NE---NE[Sw N-1]NE.......
Sw : Switch.
E : Edge port.
NE : Non-Edge port.
E1/E2: Edge switches. E1 and E2 can either be same or
different switches.
A REP segment is a chain of ports connected to each other
and configured with a segment identifier. Each segment
consists of standard (non-edge) segment ports and up to
two edge ports. A device can have only two ports that
belong to the same segment, and each segment port can have
only one external neighbor.
One edge port in a REP segment acts as the primary edge
port; the other as the secondary edge port. It is the primary
edge port that always participates in VLAN load balancing in
a REP segment. REP VLAN load balancing is achieved by blocking
some VLANs at a configured alternate port and all other VLANs at
an edge port. The execution (preemption) of VLAN load balancing
is triggered by manually enforcing it or after a pre-defined
delay, after the REP segment is complete.
When segment is completed, all ports will be in open state
except one port that can be in alternate state that is used for
VLAN load balancing as explained above."
REVISION "201101110000Z"
DESCRIPTION
"Modified crepIfPortRole object to include failedPortNoNeighbor
and failedPortLogicalOpen states."
REVISION "201010270000Z"
DESCRIPTION
"Extended 'RepPortType' to allow 'edgeNoNeighbor' and
'edgeNoNeighborPrimary'. This was done to support REP Edge No
Neighbor feature."
REVISION "200705220000Z"
DESCRIPTION
"Modified 'crepSegmentPreemptStatus' and 'crepIfOperStatus'
objects."
REVISION "200702190000Z"
DESCRIPTION
"Initial Version of the MIB."
::= { ciscoMgmt 601 }
-- Textual Conventions
RepPortType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes the port type of the REP port.
'notEdge' - non-edge Port.
'edge' - edge port for the segment.
'edgePrimary' - primary edge port for the segment.
'edgeNoNeighbor' - no neighbor edge port for the
segment.
'edgeNoNeighborPrimary' - primary no neighbor edge port for the
segment."
SYNTAX INTEGER {
notEdge(1),
edge(2),
edgePrimary(3),
edgeNoNeighbor(4),
edgeNoNeighborPrimary(5)
}
RepSegmentId ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes an object to provide the unique
identifier for the REP segment."
SYNTAX Unsigned32
RepSegmentList ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This TC describes an object that indicates the list
of REP segments. Each octet within this value specifies
a set of eight segments. The first octet represents the
first 8 segments of the range of segments specified by
the object, the second octet represents the next 8 segments
etc.
Within each octet, the most significant bit represents
the lowest numbered segment, and the least significant bit
represents the highest numbered segment. If that bit has
a value of '1' then that segment is included in the set of
segments; the segment is not included if its bit has a value
of '0'.
NMS may omit any zero-valued octets from the end of this string
in order to reduce SetPDU size, and the agent may also omit
zero-valued trailing octets, to reduce the size of GetResponse
PDUs.
The maximum length of the object that uses this TC is calculated
to be the ceiling whole number of
((crepMaxSegmentId - crepMinSegmentId + 1) / 8).
Any octets beyond this length in the SetPDU should be ignored."
SYNTAX OCTET STRING
ciscoRepMIBNotifs OBJECT IDENTIFIER
::= { ciscoResilientEthernetProtocolMIB 0 }
ciscoRepMIBObjects OBJECT IDENTIFIER
::= { ciscoResilientEthernetProtocolMIB 1 }
ciscoRepMIBConform OBJECT IDENTIFIER
::= { ciscoResilientEthernetProtocolMIB 2 }
crepGlobalInfo OBJECT IDENTIFIER
::= { ciscoRepMIBObjects 1 }
crepInterfaceConfig OBJECT IDENTIFIER
::= { ciscoRepMIBObjects 2 }
crepSegmentConfig OBJECT IDENTIFIER
::= { ciscoRepMIBObjects 3 }
crepSegmentTable OBJECT-TYPE
SYNTAX SEQUENCE OF CrepSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table specifies REP segments configured on the
device."
::= { crepSegmentConfig 1 }
crepSegmentEntry OBJECT-TYPE
SYNTAX CrepSegmentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of REP segment entries.
The number of segments configured on the device determines
the number of entries. An entry is created when a segment
identifier value is configured on an interface and no
matching entry exists already.
The entry is deleted once the segment ceases to exist
on the device."
INDEX { crepSegmentId }
::= { crepSegmentTable 1 }
CrepSegmentEntry ::= SEQUENCE {
crepSegmentId RepSegmentId,
crepSegmentInterface1 InterfaceIndex,
crepSegmentInterface2 InterfaceIndexOrZero,
crepSegmentComplete TruthValue,
crepSegmentPreempt TruthValue,
crepSegmentPreemptStatus INTEGER
}
crepSegmentId OBJECT-TYPE
SYNTAX RepSegmentId
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object identifies the segment identifier."
::= { crepSegmentEntry 1 }
crepSegmentInterface1 OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the ifIndex-value assigned to
the first interface that is part of the segment."
REFERENCE
"K. McCloghrie and F. Kastenholz,
'The Interfaces Group MIB', RFC-2863, June 2000."
::= { crepSegmentEntry 2 }
crepSegmentInterface2 OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the ifIndex-value assigned to
the second interface that is part of the segment.
The value of zero means that the InterfaceIndex is not
known. The reasons for value being zero might include
the second interface might not yet been configured for
this segment and the device may be the edge of the
segment."
REFERENCE
"K. McCloghrie and F. Kastenholz,
'The Interfaces Group MIB', RFC-2863, June 2000."
::= { crepSegmentEntry 3 }
crepSegmentComplete OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates if the segment is complete
such that no port in the segment is in failed state."
::= { crepSegmentEntry 4 }
crepSegmentPreempt OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object should be set to true by NMS for
triggering manual preemption. This may cause a
momentary traffic disruption.
Though this can be done for any node in the segment,
it is only effective on the device acting as the REP
primary edge.
Setting this object false has no effect. This object
always returns false when read."
::= { crepSegmentEntry 5 }
crepSegmentPreemptStatus OBJECT-TYPE
SYNTAX INTEGER {
none(1),
preemptSuccessful(2),
preemptFailure(3),
preemptTrigger(4),
preemptTriggerFailure(5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the status of the last preemption
trigger.
'none' - preemption trigger is not executed.
'preemptSuccessful' - preemption action for the previous
trigger is successful.
'preemptFailure' - preemption trigger was successful.
However, preemption failed due to some
problem on the segment.
'preemptTrigger' - preemption is triggered successfully
and the result is awaited.
'preemptTriggerFailure'- preemption on the segment is not
performed as the preemption trigger
failed. The failure could be due to
invalid port ID or neighbor number
specified in 'crepBlockPortNumInfo'
or 'crepBlockPortIdInfo' respectively,
when the value of
'crepLoadBalanceBlockPortType' is
'offset' or 'portId' respectively.
In addition, reason for failure can be
that crepLoadBalanceBlockPortType =
'prefFlag' and there is no REP port
in the segment configured as preferred
port.
The value should be 'none' on all agents other than the one
serving as the primary edge for the segment. The value will be
'none' on the agent serving as the primary edge for the segment
if preemption trigger is not executed yet.
If the device is not capable of assessing the final outcome of
preemption trigger, then the state should remain in
'preemptTrigger' state."
::= { crepSegmentEntry 6 }
crepInterfaceConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF CrepInterfaceConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table provides REP configuration for interfaces in the
device. This table contains one entry for each interface
running REP."
::= { crepInterfaceConfig 1 }
crepInterfaceConfigEntry OBJECT-TYPE
SYNTAX CrepInterfaceConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry exists for each interface, if REP is configured on it.
On a system that supports REP, all ports with ifType =
'ethernetCsmacd' and those ethernet based virtual ports with
ifType = 'propVirtual' also support REP.
REP can be configured or unconfigured or modified directly on
the agent as well.
Dynamically created rows are expected to be non-volatile
such that they persist after an agent restarts."
INDEX { crepIfIndex }
::= { crepInterfaceConfigTable 1 }
CrepInterfaceConfigEntry ::= SEQUENCE {
crepIfIndex InterfaceIndex,
crepIfSegmentId RepSegmentId,
crepIfOperStatus INTEGER,
crepIfPortRole INTEGER,
crepIfPortID OCTET STRING,
crepIfAdminEdgePortType RepPortType,
crepIfOperEdgePortType RepPortType,
crepIfPreferredConfig TruthValue,
crepifBlockedVlans1k CiscoVlanList,
crepifBlockedVlans2k CiscoVlanList,
crepifBlockedVlans3k CiscoVlanList,
crepifBlockedVlans4k CiscoVlanList,
crepLoadBalanceBlockPortType INTEGER,
crepBlockPortNumInfo Integer32,
crepBlockPortIdInfo OCTET STRING,
crepIfPreemptDelayTimer Integer32,
crepIfStcnPropagateToSTP TruthValue,
crepIfStcnPropagateToOtherSegs RepSegmentList,
crepIfStcnPropagateToIf InterfaceIndexOrZero,
crepIfConfigRowStatus RowStatus
}
crepIfIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object identifies the ifIndex-value assigned to the
interface."
REFERENCE
"K. McCloghrie and F. Kastenholz,
'The Interfaces Group MIB', RFC-2863, June 2000."
::= { crepInterfaceConfigEntry 1 }
crepIfSegmentId OBJECT-TYPE
SYNTAX RepSegmentId
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the segment that the interface is part.
This object can be modified when crepIfConfigRowStatus is 'active'.
The valid range is from crepMinSegmentId to crepMaxSegmentId."
::= { crepInterfaceConfigEntry 2 }
crepIfOperStatus OBJECT-TYPE
SYNTAX INTEGER {
none(1),
initDown(2),
noNeighbour(3),
oneWay(4),
twoWay(5),
flapping(6),
wait(7),
unknown(8)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the current operational link state
of the REP port. If a REP configured interface is down,
it will be in 'initDown' state.
'none' - REP is not operational on the interface. This
value is used when sending the crepLinkStatus
notification when REP configuration is removed
from the interface.
'initDown' - initial REP link state.
'noNeighbor' - state in which REP is yet to discover its
neighbor.
'oneWay' - the state in which messages have been received
from the neighbor but the link has not been
declared to be twoWay yet.
'twoWay' - the fully operational state for REP.
'flapping' - the state in which there is a mismatch in the
received port information (either local or
remote) for the neighbor.
'wait' - the forced transient state before REP starts
discovering its neighbor.
'unknown' - the link state cannot be determined."
::= { crepInterfaceConfigEntry 3 }
crepIfPortRole OBJECT-TYPE
SYNTAX INTEGER {
failedPort(1),
alternatePort(2),
openPort(3),
failedPortNoNeighbor(4),
failedPortLogicalOpen(5)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the role or state of a REP port depending
on its link status and whether it is forwarding or blocking
traffic.
'failedPort' - a port with a non-operational link status,
such that no traffic is forwarded on it.
'alternatePort' - a port forwarding traffic only for a subset of
VLANs, for the purpose of VLAN load balancing.
'openPort' - a port forwarding traffic for all VLANs.
'failedPortNoNeighbor' - a port with a non-operational link
status and does not have a external
neighbor.
'failedPortLogicalOpen' - a port with a non-operational link
status and does not have a external
neighbor but is in forwarding state
for traffic."
::= { crepInterfaceConfigEntry 4 }
crepIfPortID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the REP port identifier automatically
assigned by REP when enabled."
::= { crepInterfaceConfigEntry 5 }
crepIfAdminEdgePortType OBJECT-TYPE
SYNTAX RepPortType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the configured edge port type for the
interface."
DEFVAL { notEdge }
::= { crepInterfaceConfigEntry 6 }
crepIfOperEdgePortType OBJECT-TYPE
SYNTAX RepPortType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the actual edge port type for the
interface. Value 'edge' indicates that the port is secondary
edge port."
::= { crepInterfaceConfigEntry 7 }
crepIfPreferredConfig OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies if port should get preference to become
the alternate port among other equal ports in the segment.
Setting this value to true does not guaranty that the port
will become the alternate port. 'crepIfPortRole' should be
checked for the actual status."
DEFVAL { false }
::= { crepInterfaceConfigEntry 8 }
crepifBlockedVlans1k OBJECT-TYPE
SYNTAX CiscoVlanList
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the list of VLANs configured to be
blocked at the alternate port for VLANs with values of 0 through
1023. If the bit is set to '1', then the VLAN is marked for
blocking.
This value is only effective on the device acting as the REP
primary edge. In addition, this value is effective only if
'crepLoadBalanceBlockPortType' is not 'none'."
::= { crepInterfaceConfigEntry 9 }
crepifBlockedVlans2k OBJECT-TYPE
SYNTAX CiscoVlanList
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the list of VLANs configured to be
blocked at the alternate port for VLANs with values of 1024
through 2047. If the bit is set to '1', then the VLAN is marked
for blocking.
This value is only effective on the device acting as the REP
primary edge. In addition, this value is effective only if
'crepLoadBalanceBlockPortType' is not 'none'. This object is
only instantiated on devices that support the extended VLANs."
::= { crepInterfaceConfigEntry 10 }
crepifBlockedVlans3k OBJECT-TYPE
SYNTAX CiscoVlanList
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the list of VLANs configured to be
blocked at the alternate port for VLANs with values of 2048
through 3071. If the bit is set to '1', then the VLAN is marked
for blocking.
This value is only effective on the device acting as the REP
primary edge. In addition, this value is effective only if
'crepLoadBalanceBlockPortType' is not 'none'. This object is
only instantiated on devices that support the extended VLANs."
::= { crepInterfaceConfigEntry 11 }
crepifBlockedVlans4k OBJECT-TYPE
SYNTAX CiscoVlanList
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the list of VLANs configured to be
blocked at the alternate port for VLANs with values of 3072
through 4095. If the bit is set to '1', then the VLAN is marked
for blocking.
This value is only effective on the device acting as the REP
primary edge. In addition, this value is effective only if
'crepLoadBalanceBlockPortType' is not 'none'. This object is
only instantiated on devices that support the extended VLANs."
::= { crepInterfaceConfigEntry 12 }
crepLoadBalanceBlockPortType OBJECT-TYPE
SYNTAX INTEGER {
none(1),
offset(2),
portId(3),
prefFlag(4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the method defined to identify the
alternate port in the segment that takes part in VLAN load
balancing by blocking a subset of VLANs after preemption.
'none' - no method is specified to identify the alternate
port. In this case, the primary edge blocks all VLANs after
preemption.
'offset' - identification is done by a number which indicates
the offset of the port from an edge port.
'crepBlockPortNumInfo' defines the value.
'portId' - identification is done by the port identifier of
the port. 'crepBlockPortIdInfo' defines the value.
'prefFlag' - to select the port in the segment that is
configured as the preferred alternate port for VLAN load balancing.
While setting the value to 'offset' or 'portId', corresponding
values for the value defining objects (mentioned along with the
corresponding descriptions above) should also be provided, along with.
Additionally, at least one of objects that define the VLANs to
be blocked (crepifBlockedVlans1k, crepifBlockedVlans2k,
crepifBlockedVlans3k, crepifBlockedVlans4k) should be provided with
a non-empty value, when setting the value to anything other than 'none'.
This value is only effective on the device acting as the REP
primary edge."
DEFVAL { none }
::= { crepInterfaceConfigEntry 13 }
crepBlockPortNumInfo OBJECT-TYPE
SYNTAX Integer32 (-256..256)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the offset of the port in the segment
to be blocked for VLAN load balancing. Positive numbers
indicate the offset from the primary edge port and negative
numbers indicates the downstream neighbor from the secondary
edge port.
[Sw E1]E1---NE1[Sw 1]NE2---NE1[Sw 2]NE2.........
.
.
[Sw E2]E2---NE2[Sw N]NE1---NE2[Sw N-1]NE1.......
Sw : Switch.
E : Edge port.
NE : Non-Edge port.
E1/E2: Edge switches. E1 and E2 can either be same or
different switches.
In the segment depicted above, consider port E1 on 'Sw E1' is
the primary edge and E2 on 'Sw E2' is the secondary edge.
Value 1 for this object indicates primary edge port, 2 indicates
NE1 on 'Sw 1', 3 indicates NE2 on 'Sw 1' and so on. Value -1
indicates secondary edge port, -2 indicates NE2 on 'Sw N', -3
indicates NE1 on 'Sw N' and so on. Usage of value 0 is invalid.
This value is only effective on the device acting as the REP
primary edge and has relevance only if
crepLoadBalanceBlockPortType = 'offset'."
::= { crepInterfaceConfigEntry 14 }
crepBlockPortIdInfo OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (8))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the port identifier of the port in the
segment to be blocked for VLAN load balancing. 'crepIfPortID'
object of the corresponding port provides the port identifier.
This value is only effective on the device acting as the REP
primary edge and has relevance only if
crepLoadBalanceBlockPortType = 'portId'."
::= { crepInterfaceConfigEntry 15 }
crepIfPreemptDelayTimer OBJECT-TYPE
SYNTAX Integer32 (-1..300)
UNITS "delay in seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the interval of time that REP waits
before triggering preemption after the segment is complete.
The value -1 is used to indicate that no time delay is
configured and the preemption will happen manually.
This value is only effective on the device acting as the
REP primary edge."
DEFVAL { -1 }
::= { crepInterfaceConfigEntry 16 }
crepIfStcnPropagateToSTP OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies if the REP edge propagates the
segment topology change notifications to the spanning
tree network.
This value is only effective on the device acting as the
REP primary edge."
DEFVAL { false }
::= { crepInterfaceConfigEntry 17 }
crepIfStcnPropagateToOtherSegs OBJECT-TYPE
SYNTAX RepSegmentList
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the list of segments to which the
REP edge propagates the segment topology change notifications.
This value is only effective on the device acting as the
REP primary edge."
DEFVAL { "" }
::= { crepInterfaceConfigEntry 18 }
crepIfStcnPropagateToIf OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the interface to which the REP edge
should propagate the segment topology change notifications.
The interface should be of type ifType = 'ethernetCsmacd'
or an ethernet based virtual port with ifType = 'propVirtual'.
'0' specifies that the device should not propagate STCNs to
any interface.
This value is only effective on the device acting as the REP
primary edge."
DEFVAL { 0 }
::= { crepInterfaceConfigEntry 19 }
crepIfConfigRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object is used to manage the creation, deletion, and
modification of rows in this table.
A row may be created using the 'CreateAndGo' option. When the
row is successfully created, the agent would set the RowStatus
to 'active'. 'crepIfSegmentId' should be specified for the
successful creation of the row.
A row may be deleted by setting this object to 'destroy'.
All writeable columns in this row can be modified when the
value of this object is 'active'."
::= { crepInterfaceConfigEntry 20 }
crepInterfaceStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF CrepInterfaceStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table for REP interfaces statistics.
This table augments the crepInterfaceConfigTable."
::= { crepInterfaceConfig 2 }
crepInterfaceStatsEntry OBJECT-TYPE
SYNTAX CrepInterfaceStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The counter entries are not persistent. This is because
once REP is un-configured on the interface the row would be
deleted and hence they will restart if REP is configured
once again on the interface. NMS need to check for
'crepCounterDiscontinuityTime' to see if the counters have
restarted."
AUGMENTS { crepInterfaceConfigEntry }
::= { crepInterfaceStatsTable 1 }
CrepInterfaceStatsEntry ::= SEQUENCE {
crepCounterDiscontinuityTime TimeStamp,
crepLslRxPdus Counter32,
crepLslTxPdus Counter32,
crepHflRxPdus Counter32,
crepHflTxPdus Counter32,
crepBpaTlvRxPackets Counter32,
crepBpaTlvTxPackets Counter32,
crepBpaStcnLslRxPackets Counter32,
crepBpaStcnLslTxPackets Counter32,
crepBpaStcnHflRxPackets Counter32,
crepBpaStcnHflTxPackets Counter32,
crepEpaElectionTlvRxPackets Counter32,
crepEpaElectionTlvTxPackets Counter32,
crepEpaCommandTlvRxPackets Counter32,
crepEpaCommandTlvTxPackets Counter32,
crepEpaInfoTlvRxPackets Counter32,
crepEpaInfoTlvTxPackets Counter32
}
crepCounterDiscontinuityTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime on the most recent occasion at which
REP counters suffered a discontinuity on this interface.
If no such discontinuities have occurred since the first
initialization of REP, then this object contains the sysUpTime
value of first initialization."
::= { crepInterfaceStatsEntry 1 }
crepLslRxPdus OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of link status layer PDUs
received on the port."
::= { crepInterfaceStatsEntry 2 }
crepLslTxPdus OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of link status layer PDUs
transmitted on the port."
::= { crepInterfaceStatsEntry 3 }
crepHflRxPdus OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of hardware flood layer PDUs
received on the port."
::= { crepInterfaceStatsEntry 4 }
crepHflTxPdus OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of hardware flood layer PDUs
transmitted on the port."
::= { crepInterfaceStatsEntry 5 }
crepBpaTlvRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of blocked port advertisement
TLVs received on the port."
::= { crepInterfaceStatsEntry 6 }
crepBpaTlvTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of blocked port advertisement
TLVs transmitted on the port."
::= { crepInterfaceStatsEntry 7 }
crepBpaStcnLslRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of segment topology change
notifications received as blocked port advertisement through
link status layer."
::= { crepInterfaceStatsEntry 8 }
crepBpaStcnLslTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of segment topology change
notifications transmitted as blocked port advertisement through
link status layer."
::= { crepInterfaceStatsEntry 9 }
crepBpaStcnHflRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of segment topology change
notifications received as blocked port advertisement
through hardware flood layer."
::= { crepInterfaceStatsEntry 10 }
crepBpaStcnHflTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of segment topology change
notifications transmitted as blocked port advertisement
through hardware flood layer."
::= { crepInterfaceStatsEntry 11 }
crepEpaElectionTlvRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
election TLVs received that are used for determining the
role, namely primary edge or secondary edge."
::= { crepInterfaceStatsEntry 12 }
crepEpaElectionTlvTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
election TLVs transmitted that are used for determining the
role, namely primary edge or secondary edge."
::= { crepInterfaceStatsEntry 13 }
crepEpaCommandTlvRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
command TLVs received that are used to authorize a port to
takeover the segment for the purpose of VLAN load balancing."
::= { crepInterfaceStatsEntry 14 }
crepEpaCommandTlvTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
command TLVs transmitted that are used to authorize a port to
takeover the segment for the purpose of VLAN load balancing."
::= { crepInterfaceStatsEntry 15 }
crepEpaInfoTlvRxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
information TLVs received on the port. These messages are sent
by the end ports (configured edge port, or port which is down
or port which does not have internal peer) to discover the
segment information."
::= { crepInterfaceStatsEntry 16 }
crepEpaInfoTlvTxPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the number of end port advertisement
information TLVs transmitted on the port. These messages are
sent by the end ports (configured edge port, or port which is
down or port which does not have internal peer) to discover
the segment information."
::= { crepInterfaceStatsEntry 17 }
crepVersion OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the version of REP being used."
::= { crepGlobalInfo 1 }
crepAdminVlan OBJECT-TYPE
SYNTAX VlanId
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The administrative VLAN used by REP to transmit its
hardware flooding layer messages.
If the VLAN does not already exist, set operation does not
create the VLAN. The administrative VLAN cannot be the
RSPAN VLAN."
DEFVAL { 1 }
::= { crepGlobalInfo 2 }
crepNotifsEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object specifies whether the system will generate REP
notifications. This object affects the generation of all REP
notifications defined in this MIB module."
::= { crepGlobalInfo 3 }
crepGlobalRepNotifsRate OBJECT-TYPE
SYNTAX Unsigned32 (0..1000)
UNITS "notifications per second"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object specifies the maximum rate at which the system will
generate notifications defined by this MIB module. If this
object value is 0, then the system will not impose a limit on
the rate at which it will generate notification defined by this
MIB module."
::= { crepGlobalInfo 4 }
crepMinSegmentId OBJECT-TYPE
SYNTAX RepSegmentId
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the minimum segment identifier that can be
configured on the device."
::= { crepGlobalInfo 5 }
crepMaxSegmentId OBJECT-TYPE
SYNTAX RepSegmentId
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates the maximum segment identifier that can be
configured on the device."
::= { crepGlobalInfo 6 }
crepLinkStatus NOTIFICATION-TYPE
OBJECTS {
crepIfSegmentId,
crepIfOperStatus
}
STATUS current
DESCRIPTION
"This notification is sent when a REP interface has entered or
left REP link operational status. The link is considered
operational when 'crepIfOperStatus' is 'twoWay'.
'crepIfOperStatus' would be 'none' if the
crepInterfaceConfigEntry entry has been removed."
::= { ciscoRepMIBNotifs 1 }
crepPreemptionStatus NOTIFICATION-TYPE
OBJECTS { crepSegmentPreemptStatus }
STATUS current
DESCRIPTION
"This notification indicates the status of the preemption
triggered on REP primary edge."
::= { ciscoRepMIBNotifs 2 }
crepPortRoleChange NOTIFICATION-TYPE
OBJECTS {
crepIfSegmentId,
crepIfPortRole
}
STATUS current
DESCRIPTION
"This notification is sent when the role of a Port changes
that are indicated by 'crepIfPortRole'."
::= { ciscoRepMIBNotifs 3 }
-- Conformance
ciscoRepMIBCompliances OBJECT IDENTIFIER
::= { ciscoRepMIBConform 1 }
ciscoRepMIBGroups OBJECT IDENTIFIER
::= { ciscoRepMIBConform 2 }
ciscoRepMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for
CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB."
MODULE -- this module
MANDATORY-GROUPS {
ciscoRepGlobalGroup,
ciscoRepNotificationGroup,
ciscoRepInterfaceGroup,
ciscoRepSegmentGroup
}
OBJECT crepIfConfigRowStatus
SYNTAX INTEGER {
active(1),
createAndGo(4),
destroy(6)
}
MIN-ACCESS read-only
DESCRIPTION
"Support for createAndWait, notReady and notInService values are
not required."
OBJECT crepNotifsEnable
MIN-ACCESS read-only
DESCRIPTION
"read-write access is not required."
OBJECT crepGlobalRepNotifsRate
MIN-ACCESS read-only
DESCRIPTION
"read-write access is not required."
::= { ciscoRepMIBCompliances 1 }
-- Units of Conformance
ciscoRepGlobalGroup OBJECT-GROUP
OBJECTS {
crepVersion,
crepAdminVlan,
crepNotifsEnable,
crepGlobalRepNotifsRate,
crepMinSegmentId,
crepMaxSegmentId
}
STATUS current
DESCRIPTION
"A collection of global objects for use with the REP feature."
::= { ciscoRepMIBGroups 1 }
ciscoRepInterfaceGroup OBJECT-GROUP
OBJECTS {
crepIfSegmentId,
crepIfOperStatus,
crepIfPortRole,
crepIfPortID,
crepIfAdminEdgePortType,
crepIfOperEdgePortType,
crepIfPreferredConfig,
crepifBlockedVlans1k,
crepifBlockedVlans2k,
crepifBlockedVlans3k,
crepifBlockedVlans4k,
crepLoadBalanceBlockPortType,
crepBlockPortNumInfo,
crepBlockPortIdInfo,
crepIfPreemptDelayTimer,
crepIfStcnPropagateToSTP,
crepIfStcnPropagateToOtherSegs,
crepIfStcnPropagateToIf,
crepIfConfigRowStatus,
crepCounterDiscontinuityTime,
crepLslRxPdus,
crepLslTxPdus,
crepHflRxPdus,
crepHflTxPdus,
crepBpaTlvRxPackets,
crepBpaTlvTxPackets,
crepBpaStcnLslRxPackets,
crepBpaStcnLslTxPackets,
crepBpaStcnHflRxPackets,
crepBpaStcnHflTxPackets,
crepEpaElectionTlvRxPackets,
crepEpaElectionTlvTxPackets,
crepEpaCommandTlvRxPackets,
crepEpaCommandTlvTxPackets,
crepEpaInfoTlvRxPackets,
crepEpaInfoTlvTxPackets
}
STATUS current
DESCRIPTION
"A collection of interface specific objects for use with the REP
feature."
::= { ciscoRepMIBGroups 2 }
ciscoRepNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS {
crepLinkStatus,
crepPreemptionStatus,
crepPortRoleChange
}
STATUS current
DESCRIPTION
"A collection of notifications for use with the REP feature."
::= { ciscoRepMIBGroups 3 }
ciscoRepSegmentGroup OBJECT-GROUP
OBJECTS {
crepSegmentInterface1,
crepSegmentInterface2,
crepSegmentComplete,
crepSegmentPreempt,
crepSegmentPreemptStatus
}
STATUS current
DESCRIPTION
"A collection of segment specific objects for use with the REP feature."
::= { ciscoRepMIBGroups 4 }
END
|