1-- ***************************************************************** 2-- CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB.my 3-- 4-- MIB support for the Resilient Ethernet Protocol Feature 5-- 6-- Oct 2006, Nagaraj Hegde 7-- Copyright (c) 2006-2007-2011 by cisco Systems Inc. 8-- 9-- All rights reserved. 10-- 11-- **************************************************************** 12 13CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB DEFINITIONS ::= BEGIN 14 15IMPORTS 16 MODULE-IDENTITY, 17 OBJECT-TYPE, 18 NOTIFICATION-TYPE, 19 Unsigned32, 20 Integer32, 21 Counter32 22 FROM SNMPv2-SMI 23 MODULE-COMPLIANCE, 24 NOTIFICATION-GROUP, 25 OBJECT-GROUP 26 FROM SNMPv2-CONF 27 TruthValue, 28 RowStatus, 29 TimeStamp, 30 TEXTUAL-CONVENTION 31 FROM SNMPv2-TC 32 InterfaceIndex, 33 InterfaceIndexOrZero 34 FROM IF-MIB 35 VlanId 36 FROM Q-BRIDGE-MIB 37 CiscoVlanList 38 FROM CISCO-TC 39 ciscoMgmt 40 FROM CISCO-SMI; 41 42 43ciscoResilientEthernetProtocolMIB MODULE-IDENTITY 44 LAST-UPDATED "201101110000Z" 45 ORGANIZATION "Cisco Systems, Inc." 46 CONTACT-INFO 47 "Cisco Systems 48 Customer Service 49 50 51 Postal: 170 W Tasman Drive 52 53 San Jose, CA 95134 54 55 USA 56 57 58 Tel: +1 800 553-NETS 59 60 61 E-mail: cs-lan-switch-snmp@cisco.com" 62 DESCRIPTION 63 "This MIB module defines objects required for managing 64 Resilient Ethernet Protocol (REP). 65 66 Resilient Ethernet Protocol (REP) is a Cisco proprietary 67 protocol that provides an alternative to Spanning Tree 68 Protocol (STP) to control network loops, handle link 69 failures and improve convergence time. 70 71 REP controls a group of ports connected in a segment; 72 ensures that the segment does not create any bridging loops, 73 and responds to link failures within the segment. 74 75 The following diagram depicts a REP segment: 76 77 [Sw E1]E---NE[Sw 1]NE---NE[Sw 2]NE......... 78 . 79 . 80 [Sw E2]E---NE[Sw N]NE---NE[Sw N-1]NE....... 81 82 Sw : Switch. 83 E : Edge port. 84 NE : Non-Edge port. 85 E1/E2: Edge switches. E1 and E2 can either be same or 86 different switches. 87 88 A REP segment is a chain of ports connected to each other 89 and configured with a segment identifier. Each segment 90 consists of standard (non-edge) segment ports and up to 91 two edge ports. A device can have only two ports that 92 belong to the same segment, and each segment port can have 93 only one external neighbor. 94 95 One edge port in a REP segment acts as the primary edge 96 port; the other as the secondary edge port. It is the primary 97 edge port that always participates in VLAN load balancing in 98 a REP segment. REP VLAN load balancing is achieved by blocking 99 some VLANs at a configured alternate port and all other VLANs at 100 an edge port. The execution (preemption) of VLAN load balancing 101 is triggered by manually enforcing it or after a pre-defined 102 delay, after the REP segment is complete. 103 104 When segment is completed, all ports will be in open state 105 except one port that can be in alternate state that is used for 106 VLAN load balancing as explained above." 107 REVISION "201101110000Z" 108 DESCRIPTION 109 "Modified crepIfPortRole object to include failedPortNoNeighbor 110 and failedPortLogicalOpen states." 111 REVISION "201010270000Z" 112 DESCRIPTION 113 "Extended 'RepPortType' to allow 'edgeNoNeighbor' and 114 'edgeNoNeighborPrimary'. This was done to support REP Edge No 115 Neighbor feature." 116 REVISION "200705220000Z" 117 DESCRIPTION 118 "Modified 'crepSegmentPreemptStatus' and 'crepIfOperStatus' 119 objects." 120 REVISION "200702190000Z" 121 DESCRIPTION 122 "Initial Version of the MIB." 123 ::= { ciscoMgmt 601 } 124 125 126 127-- Textual Conventions 128 129RepPortType ::= TEXTUAL-CONVENTION 130 STATUS current 131 DESCRIPTION 132 "This TC describes the port type of the REP port. 133 134 'notEdge' - non-edge Port. 135 136 'edge' - edge port for the segment. 137 138 'edgePrimary' - primary edge port for the segment. 139 140 'edgeNoNeighbor' - no neighbor edge port for the 141 segment. 142 143 'edgeNoNeighborPrimary' - primary no neighbor edge port for the 144 segment." 145 SYNTAX INTEGER { 146 notEdge(1), 147 edge(2), 148 edgePrimary(3), 149 edgeNoNeighbor(4), 150 edgeNoNeighborPrimary(5) 151 } 152 153RepSegmentId ::= TEXTUAL-CONVENTION 154 STATUS current 155 DESCRIPTION 156 "This TC describes an object to provide the unique 157 identifier for the REP segment." 158 SYNTAX Unsigned32 159 160RepSegmentList ::= TEXTUAL-CONVENTION 161 STATUS current 162 DESCRIPTION 163 "This TC describes an object that indicates the list 164 of REP segments. Each octet within this value specifies 165 a set of eight segments. The first octet represents the 166 first 8 segments of the range of segments specified by 167 the object, the second octet represents the next 8 segments 168 etc. 169 170 Within each octet, the most significant bit represents 171 the lowest numbered segment, and the least significant bit 172 represents the highest numbered segment. If that bit has 173 a value of '1' then that segment is included in the set of 174 segments; the segment is not included if its bit has a value 175 of '0'. 176 177 NMS may omit any zero-valued octets from the end of this string 178 in order to reduce SetPDU size, and the agent may also omit 179 zero-valued trailing octets, to reduce the size of GetResponse 180 PDUs. 181 182 The maximum length of the object that uses this TC is calculated 183 to be the ceiling whole number of 184 ((crepMaxSegmentId - crepMinSegmentId + 1) / 8). 185 Any octets beyond this length in the SetPDU should be ignored." 186 SYNTAX OCTET STRING 187ciscoRepMIBNotifs OBJECT IDENTIFIER 188 ::= { ciscoResilientEthernetProtocolMIB 0 } 189 190ciscoRepMIBObjects OBJECT IDENTIFIER 191 ::= { ciscoResilientEthernetProtocolMIB 1 } 192 193ciscoRepMIBConform OBJECT IDENTIFIER 194 ::= { ciscoResilientEthernetProtocolMIB 2 } 195 196crepGlobalInfo OBJECT IDENTIFIER 197 ::= { ciscoRepMIBObjects 1 } 198 199crepInterfaceConfig OBJECT IDENTIFIER 200 ::= { ciscoRepMIBObjects 2 } 201 202crepSegmentConfig OBJECT IDENTIFIER 203 ::= { ciscoRepMIBObjects 3 } 204 205 206crepSegmentTable OBJECT-TYPE 207 SYNTAX SEQUENCE OF CrepSegmentEntry 208 MAX-ACCESS not-accessible 209 STATUS current 210 DESCRIPTION 211 "This table specifies REP segments configured on the 212 device." 213 ::= { crepSegmentConfig 1 } 214 215crepSegmentEntry OBJECT-TYPE 216 SYNTAX CrepSegmentEntry 217 MAX-ACCESS not-accessible 218 STATUS current 219 DESCRIPTION 220 "A list of REP segment entries. 221 222 The number of segments configured on the device determines 223 the number of entries. An entry is created when a segment 224 identifier value is configured on an interface and no 225 matching entry exists already. 226 227 The entry is deleted once the segment ceases to exist 228 on the device." 229 INDEX { crepSegmentId } 230 ::= { crepSegmentTable 1 } 231 232CrepSegmentEntry ::= SEQUENCE { 233 crepSegmentId RepSegmentId, 234 crepSegmentInterface1 InterfaceIndex, 235 crepSegmentInterface2 InterfaceIndexOrZero, 236 crepSegmentComplete TruthValue, 237 crepSegmentPreempt TruthValue, 238 crepSegmentPreemptStatus INTEGER 239} 240 241crepSegmentId OBJECT-TYPE 242 SYNTAX RepSegmentId 243 MAX-ACCESS not-accessible 244 STATUS current 245 DESCRIPTION 246 "This object identifies the segment identifier." 247 ::= { crepSegmentEntry 1 } 248 249crepSegmentInterface1 OBJECT-TYPE 250 SYNTAX InterfaceIndex 251 MAX-ACCESS read-only 252 STATUS current 253 DESCRIPTION 254 "This object indicates the ifIndex-value assigned to 255 the first interface that is part of the segment." 256 REFERENCE 257 "K. McCloghrie and F. Kastenholz, 258 'The Interfaces Group MIB', RFC-2863, June 2000." 259 ::= { crepSegmentEntry 2 } 260 261crepSegmentInterface2 OBJECT-TYPE 262 SYNTAX InterfaceIndexOrZero 263 MAX-ACCESS read-only 264 STATUS current 265 DESCRIPTION 266 "This object indicates the ifIndex-value assigned to 267 the second interface that is part of the segment. 268 269 The value of zero means that the InterfaceIndex is not 270 known. The reasons for value being zero might include 271 the second interface might not yet been configured for 272 this segment and the device may be the edge of the 273 segment." 274 REFERENCE 275 "K. McCloghrie and F. Kastenholz, 276 'The Interfaces Group MIB', RFC-2863, June 2000." 277 ::= { crepSegmentEntry 3 } 278 279crepSegmentComplete OBJECT-TYPE 280 SYNTAX TruthValue 281 MAX-ACCESS read-only 282 STATUS current 283 DESCRIPTION 284 "This object indicates if the segment is complete 285 such that no port in the segment is in failed state." 286 ::= { crepSegmentEntry 4 } 287 288crepSegmentPreempt OBJECT-TYPE 289 SYNTAX TruthValue 290 MAX-ACCESS read-write 291 STATUS current 292 DESCRIPTION 293 "This object should be set to true by NMS for 294 triggering manual preemption. This may cause a 295 momentary traffic disruption. 296 297 Though this can be done for any node in the segment, 298 it is only effective on the device acting as the REP 299 primary edge. 300 301 Setting this object false has no effect. This object 302 always returns false when read." 303 ::= { crepSegmentEntry 5 } 304 305crepSegmentPreemptStatus OBJECT-TYPE 306 SYNTAX INTEGER { 307 none(1), 308 preemptSuccessful(2), 309 preemptFailure(3), 310 preemptTrigger(4), 311 preemptTriggerFailure(5) 312 } 313 MAX-ACCESS read-only 314 STATUS current 315 DESCRIPTION 316 "This object indicates the status of the last preemption 317 trigger. 318 319 'none' - preemption trigger is not executed. 320 321 'preemptSuccessful' - preemption action for the previous 322 trigger is successful. 323 324 'preemptFailure' - preemption trigger was successful. 325 However, preemption failed due to some 326 problem on the segment. 327 328 'preemptTrigger' - preemption is triggered successfully 329 and the result is awaited. 330 331 'preemptTriggerFailure'- preemption on the segment is not 332 performed as the preemption trigger 333 failed. The failure could be due to 334 invalid port ID or neighbor number 335 specified in 'crepBlockPortNumInfo' 336 or 'crepBlockPortIdInfo' respectively, 337 when the value of 338 'crepLoadBalanceBlockPortType' is 339 'offset' or 'portId' respectively. 340 In addition, reason for failure can be 341 that crepLoadBalanceBlockPortType = 342 'prefFlag' and there is no REP port 343 in the segment configured as preferred 344 port. 345 346 The value should be 'none' on all agents other than the one 347 serving as the primary edge for the segment. The value will be 348 'none' on the agent serving as the primary edge for the segment 349 if preemption trigger is not executed yet. 350 351 If the device is not capable of assessing the final outcome of 352 preemption trigger, then the state should remain in 353 'preemptTrigger' state." 354 ::= { crepSegmentEntry 6 } 355 356 357 358crepInterfaceConfigTable OBJECT-TYPE 359 SYNTAX SEQUENCE OF CrepInterfaceConfigEntry 360 MAX-ACCESS not-accessible 361 STATUS current 362 DESCRIPTION 363 "This table provides REP configuration for interfaces in the 364 device. This table contains one entry for each interface 365 running REP." 366 ::= { crepInterfaceConfig 1 } 367 368crepInterfaceConfigEntry OBJECT-TYPE 369 SYNTAX CrepInterfaceConfigEntry 370 MAX-ACCESS not-accessible 371 STATUS current 372 DESCRIPTION 373 "An entry exists for each interface, if REP is configured on it. 374 On a system that supports REP, all ports with ifType = 375 'ethernetCsmacd' and those ethernet based virtual ports with 376 ifType = 'propVirtual' also support REP. 377 378 REP can be configured or unconfigured or modified directly on 379 the agent as well. 380 381 Dynamically created rows are expected to be non-volatile 382 such that they persist after an agent restarts." 383 INDEX { crepIfIndex } 384 ::= { crepInterfaceConfigTable 1 } 385 386CrepInterfaceConfigEntry ::= SEQUENCE { 387 crepIfIndex InterfaceIndex, 388 crepIfSegmentId RepSegmentId, 389 crepIfOperStatus INTEGER, 390 crepIfPortRole INTEGER, 391 crepIfPortID OCTET STRING, 392 crepIfAdminEdgePortType RepPortType, 393 crepIfOperEdgePortType RepPortType, 394 crepIfPreferredConfig TruthValue, 395 crepifBlockedVlans1k CiscoVlanList, 396 crepifBlockedVlans2k CiscoVlanList, 397 crepifBlockedVlans3k CiscoVlanList, 398 crepifBlockedVlans4k CiscoVlanList, 399 crepLoadBalanceBlockPortType INTEGER, 400 crepBlockPortNumInfo Integer32, 401 crepBlockPortIdInfo OCTET STRING, 402 crepIfPreemptDelayTimer Integer32, 403 crepIfStcnPropagateToSTP TruthValue, 404 crepIfStcnPropagateToOtherSegs RepSegmentList, 405 crepIfStcnPropagateToIf InterfaceIndexOrZero, 406 crepIfConfigRowStatus RowStatus 407} 408 409crepIfIndex OBJECT-TYPE 410 SYNTAX InterfaceIndex 411 MAX-ACCESS not-accessible 412 STATUS current 413 DESCRIPTION 414 "This object identifies the ifIndex-value assigned to the 415 interface." 416 REFERENCE 417 "K. McCloghrie and F. Kastenholz, 418 'The Interfaces Group MIB', RFC-2863, June 2000." 419 ::= { crepInterfaceConfigEntry 1 } 420 421crepIfSegmentId OBJECT-TYPE 422 SYNTAX RepSegmentId 423 MAX-ACCESS read-create 424 STATUS current 425 DESCRIPTION 426 "This object specifies the segment that the interface is part. 427 This object can be modified when crepIfConfigRowStatus is 'active'. 428 429 The valid range is from crepMinSegmentId to crepMaxSegmentId." 430 ::= { crepInterfaceConfigEntry 2 } 431 432crepIfOperStatus OBJECT-TYPE 433 SYNTAX INTEGER { 434 none(1), 435 initDown(2), 436 noNeighbour(3), 437 oneWay(4), 438 twoWay(5), 439 flapping(6), 440 wait(7), 441 unknown(8) 442 } 443 MAX-ACCESS read-only 444 STATUS current 445 DESCRIPTION 446 "This object indicates the current operational link state 447 of the REP port. If a REP configured interface is down, 448 it will be in 'initDown' state. 449 450 'none' - REP is not operational on the interface. This 451 value is used when sending the crepLinkStatus 452 notification when REP configuration is removed 453 from the interface. 454 455 'initDown' - initial REP link state. 456 457 'noNeighbor' - state in which REP is yet to discover its 458 neighbor. 459 460 'oneWay' - the state in which messages have been received 461 from the neighbor but the link has not been 462 declared to be twoWay yet. 463 464 'twoWay' - the fully operational state for REP. 465 466 'flapping' - the state in which there is a mismatch in the 467 received port information (either local or 468 remote) for the neighbor. 469 470 'wait' - the forced transient state before REP starts 471 discovering its neighbor. 472 473 'unknown' - the link state cannot be determined." 474 ::= { crepInterfaceConfigEntry 3 } 475 476crepIfPortRole OBJECT-TYPE 477 SYNTAX INTEGER { 478 failedPort(1), 479 alternatePort(2), 480 openPort(3), 481 failedPortNoNeighbor(4), 482 failedPortLogicalOpen(5) 483 } 484 MAX-ACCESS read-only 485 STATUS current 486 DESCRIPTION 487 "This object indicates the role or state of a REP port depending 488 on its link status and whether it is forwarding or blocking 489 traffic. 490 491 'failedPort' - a port with a non-operational link status, 492 such that no traffic is forwarded on it. 493 494 'alternatePort' - a port forwarding traffic only for a subset of 495 VLANs, for the purpose of VLAN load balancing. 496 497 'openPort' - a port forwarding traffic for all VLANs. 498 499 'failedPortNoNeighbor' - a port with a non-operational link 500 status and does not have a external 501 neighbor. 502 503 'failedPortLogicalOpen' - a port with a non-operational link 504 status and does not have a external 505 neighbor but is in forwarding state 506 for traffic." 507 ::= { crepInterfaceConfigEntry 4 } 508 509crepIfPortID OBJECT-TYPE 510 SYNTAX OCTET STRING (SIZE (8)) 511 MAX-ACCESS read-only 512 STATUS current 513 DESCRIPTION 514 "This object indicates the REP port identifier automatically 515 assigned by REP when enabled." 516 ::= { crepInterfaceConfigEntry 5 } 517 518crepIfAdminEdgePortType OBJECT-TYPE 519 SYNTAX RepPortType 520 MAX-ACCESS read-create 521 STATUS current 522 DESCRIPTION 523 "This object specifies the configured edge port type for the 524 interface." 525 DEFVAL { notEdge } 526 ::= { crepInterfaceConfigEntry 6 } 527 528crepIfOperEdgePortType OBJECT-TYPE 529 SYNTAX RepPortType 530 MAX-ACCESS read-only 531 STATUS current 532 DESCRIPTION 533 "This object indicates the actual edge port type for the 534 interface. Value 'edge' indicates that the port is secondary 535 edge port." 536 ::= { crepInterfaceConfigEntry 7 } 537 538crepIfPreferredConfig OBJECT-TYPE 539 SYNTAX TruthValue 540 MAX-ACCESS read-create 541 STATUS current 542 DESCRIPTION 543 "This object specifies if port should get preference to become 544 the alternate port among other equal ports in the segment. 545 546 Setting this value to true does not guaranty that the port 547 will become the alternate port. 'crepIfPortRole' should be 548 checked for the actual status." 549 DEFVAL { false } 550 ::= { crepInterfaceConfigEntry 8 } 551 552crepifBlockedVlans1k OBJECT-TYPE 553 SYNTAX CiscoVlanList 554 MAX-ACCESS read-create 555 STATUS current 556 DESCRIPTION 557 "This object specifies the list of VLANs configured to be 558 blocked at the alternate port for VLANs with values of 0 through 559 1023. If the bit is set to '1', then the VLAN is marked for 560 blocking. 561 562 This value is only effective on the device acting as the REP 563 primary edge. In addition, this value is effective only if 564 'crepLoadBalanceBlockPortType' is not 'none'." 565 ::= { crepInterfaceConfigEntry 9 } 566 567crepifBlockedVlans2k OBJECT-TYPE 568 SYNTAX CiscoVlanList 569 MAX-ACCESS read-create 570 STATUS current 571 DESCRIPTION 572 "This object specifies the list of VLANs configured to be 573 blocked at the alternate port for VLANs with values of 1024 574 through 2047. If the bit is set to '1', then the VLAN is marked 575 for blocking. 576 577 This value is only effective on the device acting as the REP 578 primary edge. In addition, this value is effective only if 579 'crepLoadBalanceBlockPortType' is not 'none'. This object is 580 only instantiated on devices that support the extended VLANs." 581 ::= { crepInterfaceConfigEntry 10 } 582 583crepifBlockedVlans3k OBJECT-TYPE 584 SYNTAX CiscoVlanList 585 MAX-ACCESS read-create 586 STATUS current 587 DESCRIPTION 588 "This object specifies the list of VLANs configured to be 589 blocked at the alternate port for VLANs with values of 2048 590 through 3071. If the bit is set to '1', then the VLAN is marked 591 for blocking. 592 593 This value is only effective on the device acting as the REP 594 primary edge. In addition, this value is effective only if 595 'crepLoadBalanceBlockPortType' is not 'none'. This object is 596 only instantiated on devices that support the extended VLANs." 597 ::= { crepInterfaceConfigEntry 11 } 598 599crepifBlockedVlans4k OBJECT-TYPE 600 SYNTAX CiscoVlanList 601 MAX-ACCESS read-create 602 STATUS current 603 DESCRIPTION 604 "This object specifies the list of VLANs configured to be 605 blocked at the alternate port for VLANs with values of 3072 606 through 4095. If the bit is set to '1', then the VLAN is marked 607 for blocking. 608 609 This value is only effective on the device acting as the REP 610 primary edge. In addition, this value is effective only if 611 'crepLoadBalanceBlockPortType' is not 'none'. This object is 612 only instantiated on devices that support the extended VLANs." 613 ::= { crepInterfaceConfigEntry 12 } 614 615crepLoadBalanceBlockPortType OBJECT-TYPE 616 SYNTAX INTEGER { 617 none(1), 618 offset(2), 619 portId(3), 620 prefFlag(4) 621 } 622 MAX-ACCESS read-create 623 STATUS current 624 DESCRIPTION 625 "This object specifies the method defined to identify the 626 alternate port in the segment that takes part in VLAN load 627 balancing by blocking a subset of VLANs after preemption. 628 629 'none' - no method is specified to identify the alternate 630 port. In this case, the primary edge blocks all VLANs after 631 preemption. 632 633 'offset' - identification is done by a number which indicates 634 the offset of the port from an edge port. 635 'crepBlockPortNumInfo' defines the value. 636 637 'portId' - identification is done by the port identifier of 638 the port. 'crepBlockPortIdInfo' defines the value. 639 640 'prefFlag' - to select the port in the segment that is 641 configured as the preferred alternate port for VLAN load balancing. 642 643 While setting the value to 'offset' or 'portId', corresponding 644 values for the value defining objects (mentioned along with the 645 corresponding descriptions above) should also be provided, along with. 646 Additionally, at least one of objects that define the VLANs to 647 be blocked (crepifBlockedVlans1k, crepifBlockedVlans2k, 648 crepifBlockedVlans3k, crepifBlockedVlans4k) should be provided with 649 a non-empty value, when setting the value to anything other than 'none'. 650 651 This value is only effective on the device acting as the REP 652 primary edge." 653 DEFVAL { none } 654 ::= { crepInterfaceConfigEntry 13 } 655 656crepBlockPortNumInfo OBJECT-TYPE 657 SYNTAX Integer32 (-256..256) 658 MAX-ACCESS read-create 659 STATUS current 660 DESCRIPTION 661 "This object specifies the offset of the port in the segment 662 to be blocked for VLAN load balancing. Positive numbers 663 indicate the offset from the primary edge port and negative 664 numbers indicates the downstream neighbor from the secondary 665 edge port. 666 667 [Sw E1]E1---NE1[Sw 1]NE2---NE1[Sw 2]NE2......... 668 . 669 . 670 [Sw E2]E2---NE2[Sw N]NE1---NE2[Sw N-1]NE1....... 671 672 Sw : Switch. 673 E : Edge port. 674 NE : Non-Edge port. 675 E1/E2: Edge switches. E1 and E2 can either be same or 676 different switches. 677 678 In the segment depicted above, consider port E1 on 'Sw E1' is 679 the primary edge and E2 on 'Sw E2' is the secondary edge. 680 Value 1 for this object indicates primary edge port, 2 indicates 681 NE1 on 'Sw 1', 3 indicates NE2 on 'Sw 1' and so on. Value -1 682 indicates secondary edge port, -2 indicates NE2 on 'Sw N', -3 683 indicates NE1 on 'Sw N' and so on. Usage of value 0 is invalid. 684 685 This value is only effective on the device acting as the REP 686 primary edge and has relevance only if 687 crepLoadBalanceBlockPortType = 'offset'." 688 ::= { crepInterfaceConfigEntry 14 } 689 690crepBlockPortIdInfo OBJECT-TYPE 691 SYNTAX OCTET STRING (SIZE (8)) 692 MAX-ACCESS read-create 693 STATUS current 694 DESCRIPTION 695 "This object specifies the port identifier of the port in the 696 segment to be blocked for VLAN load balancing. 'crepIfPortID' 697 object of the corresponding port provides the port identifier. 698 699 This value is only effective on the device acting as the REP 700 primary edge and has relevance only if 701 crepLoadBalanceBlockPortType = 'portId'." 702 ::= { crepInterfaceConfigEntry 15 } 703 704crepIfPreemptDelayTimer OBJECT-TYPE 705 SYNTAX Integer32 (-1..300) 706 UNITS "delay in seconds" 707 MAX-ACCESS read-create 708 STATUS current 709 DESCRIPTION 710 "This object specifies the interval of time that REP waits 711 before triggering preemption after the segment is complete. 712 713 The value -1 is used to indicate that no time delay is 714 configured and the preemption will happen manually. 715 716 This value is only effective on the device acting as the 717 REP primary edge." 718 DEFVAL { -1 } 719 ::= { crepInterfaceConfigEntry 16 } 720 721crepIfStcnPropagateToSTP OBJECT-TYPE 722 SYNTAX TruthValue 723 MAX-ACCESS read-create 724 STATUS current 725 DESCRIPTION 726 "This object specifies if the REP edge propagates the 727 segment topology change notifications to the spanning 728 tree network. 729 730 This value is only effective on the device acting as the 731 REP primary edge." 732 DEFVAL { false } 733 ::= { crepInterfaceConfigEntry 17 } 734 735crepIfStcnPropagateToOtherSegs OBJECT-TYPE 736 SYNTAX RepSegmentList 737 MAX-ACCESS read-create 738 STATUS current 739 DESCRIPTION 740 "This object specifies the list of segments to which the 741 REP edge propagates the segment topology change notifications. 742 743 This value is only effective on the device acting as the 744 REP primary edge." 745 DEFVAL { "" } 746 ::= { crepInterfaceConfigEntry 18 } 747 748crepIfStcnPropagateToIf OBJECT-TYPE 749 SYNTAX InterfaceIndexOrZero 750 MAX-ACCESS read-create 751 STATUS current 752 DESCRIPTION 753 "This object specifies the interface to which the REP edge 754 should propagate the segment topology change notifications. 755 The interface should be of type ifType = 'ethernetCsmacd' 756 or an ethernet based virtual port with ifType = 'propVirtual'. 757 '0' specifies that the device should not propagate STCNs to 758 any interface. 759 760 This value is only effective on the device acting as the REP 761 primary edge." 762 DEFVAL { 0 } 763 ::= { crepInterfaceConfigEntry 19 } 764 765crepIfConfigRowStatus OBJECT-TYPE 766 SYNTAX RowStatus 767 MAX-ACCESS read-create 768 STATUS current 769 DESCRIPTION 770 "This object is used to manage the creation, deletion, and 771 modification of rows in this table. 772 773 A row may be created using the 'CreateAndGo' option. When the 774 row is successfully created, the agent would set the RowStatus 775 to 'active'. 'crepIfSegmentId' should be specified for the 776 successful creation of the row. 777 778 A row may be deleted by setting this object to 'destroy'. 779 780 All writeable columns in this row can be modified when the 781 value of this object is 'active'." 782 ::= { crepInterfaceConfigEntry 20 } 783 784 785 786crepInterfaceStatsTable OBJECT-TYPE 787 SYNTAX SEQUENCE OF CrepInterfaceStatsEntry 788 MAX-ACCESS not-accessible 789 STATUS current 790 DESCRIPTION 791 "A table for REP interfaces statistics. 792 This table augments the crepInterfaceConfigTable." 793 ::= { crepInterfaceConfig 2 } 794 795crepInterfaceStatsEntry OBJECT-TYPE 796 SYNTAX CrepInterfaceStatsEntry 797 MAX-ACCESS not-accessible 798 STATUS current 799 DESCRIPTION 800 "The counter entries are not persistent. This is because 801 once REP is un-configured on the interface the row would be 802 deleted and hence they will restart if REP is configured 803 once again on the interface. NMS need to check for 804 'crepCounterDiscontinuityTime' to see if the counters have 805 restarted." 806 AUGMENTS { crepInterfaceConfigEntry } 807 ::= { crepInterfaceStatsTable 1 } 808 809CrepInterfaceStatsEntry ::= SEQUENCE { 810 crepCounterDiscontinuityTime TimeStamp, 811 crepLslRxPdus Counter32, 812 crepLslTxPdus Counter32, 813 crepHflRxPdus Counter32, 814 crepHflTxPdus Counter32, 815 crepBpaTlvRxPackets Counter32, 816 crepBpaTlvTxPackets Counter32, 817 crepBpaStcnLslRxPackets Counter32, 818 crepBpaStcnLslTxPackets Counter32, 819 crepBpaStcnHflRxPackets Counter32, 820 crepBpaStcnHflTxPackets Counter32, 821 crepEpaElectionTlvRxPackets Counter32, 822 crepEpaElectionTlvTxPackets Counter32, 823 crepEpaCommandTlvRxPackets Counter32, 824 crepEpaCommandTlvTxPackets Counter32, 825 crepEpaInfoTlvRxPackets Counter32, 826 crepEpaInfoTlvTxPackets Counter32 827} 828 829crepCounterDiscontinuityTime OBJECT-TYPE 830 SYNTAX TimeStamp 831 MAX-ACCESS read-only 832 STATUS current 833 DESCRIPTION 834 "The value of sysUpTime on the most recent occasion at which 835 REP counters suffered a discontinuity on this interface. 836 If no such discontinuities have occurred since the first 837 initialization of REP, then this object contains the sysUpTime 838 value of first initialization." 839 ::= { crepInterfaceStatsEntry 1 } 840 841crepLslRxPdus OBJECT-TYPE 842 SYNTAX Counter32 843 MAX-ACCESS read-only 844 STATUS current 845 DESCRIPTION 846 "This object indicates the number of link status layer PDUs 847 received on the port." 848 ::= { crepInterfaceStatsEntry 2 } 849 850crepLslTxPdus OBJECT-TYPE 851 SYNTAX Counter32 852 MAX-ACCESS read-only 853 STATUS current 854 DESCRIPTION 855 "This object indicates the number of link status layer PDUs 856 transmitted on the port." 857 ::= { crepInterfaceStatsEntry 3 } 858 859crepHflRxPdus OBJECT-TYPE 860 SYNTAX Counter32 861 MAX-ACCESS read-only 862 STATUS current 863 DESCRIPTION 864 "This object indicates the number of hardware flood layer PDUs 865 received on the port." 866 ::= { crepInterfaceStatsEntry 4 } 867 868crepHflTxPdus OBJECT-TYPE 869 SYNTAX Counter32 870 MAX-ACCESS read-only 871 STATUS current 872 DESCRIPTION 873 "This object indicates the number of hardware flood layer PDUs 874 transmitted on the port." 875 ::= { crepInterfaceStatsEntry 5 } 876 877crepBpaTlvRxPackets OBJECT-TYPE 878 SYNTAX Counter32 879 MAX-ACCESS read-only 880 STATUS current 881 DESCRIPTION 882 "This object indicates the number of blocked port advertisement 883 TLVs received on the port." 884 ::= { crepInterfaceStatsEntry 6 } 885 886crepBpaTlvTxPackets OBJECT-TYPE 887 SYNTAX Counter32 888 MAX-ACCESS read-only 889 STATUS current 890 DESCRIPTION 891 "This object indicates the number of blocked port advertisement 892 TLVs transmitted on the port." 893 ::= { crepInterfaceStatsEntry 7 } 894 895crepBpaStcnLslRxPackets OBJECT-TYPE 896 SYNTAX Counter32 897 MAX-ACCESS read-only 898 STATUS current 899 DESCRIPTION 900 "This object indicates the number of segment topology change 901 notifications received as blocked port advertisement through 902 link status layer." 903 ::= { crepInterfaceStatsEntry 8 } 904 905crepBpaStcnLslTxPackets OBJECT-TYPE 906 SYNTAX Counter32 907 MAX-ACCESS read-only 908 STATUS current 909 DESCRIPTION 910 "This object indicates the number of segment topology change 911 notifications transmitted as blocked port advertisement through 912 link status layer." 913 ::= { crepInterfaceStatsEntry 9 } 914 915crepBpaStcnHflRxPackets OBJECT-TYPE 916 SYNTAX Counter32 917 MAX-ACCESS read-only 918 STATUS current 919 DESCRIPTION 920 "This object indicates the number of segment topology change 921 notifications received as blocked port advertisement 922 through hardware flood layer." 923 ::= { crepInterfaceStatsEntry 10 } 924 925crepBpaStcnHflTxPackets OBJECT-TYPE 926 SYNTAX Counter32 927 MAX-ACCESS read-only 928 STATUS current 929 DESCRIPTION 930 "This object indicates the number of segment topology change 931 notifications transmitted as blocked port advertisement 932 through hardware flood layer." 933 ::= { crepInterfaceStatsEntry 11 } 934 935crepEpaElectionTlvRxPackets OBJECT-TYPE 936 SYNTAX Counter32 937 MAX-ACCESS read-only 938 STATUS current 939 DESCRIPTION 940 "This object indicates the number of end port advertisement 941 election TLVs received that are used for determining the 942 role, namely primary edge or secondary edge." 943 ::= { crepInterfaceStatsEntry 12 } 944 945crepEpaElectionTlvTxPackets OBJECT-TYPE 946 SYNTAX Counter32 947 MAX-ACCESS read-only 948 STATUS current 949 DESCRIPTION 950 "This object indicates the number of end port advertisement 951 election TLVs transmitted that are used for determining the 952 role, namely primary edge or secondary edge." 953 ::= { crepInterfaceStatsEntry 13 } 954 955crepEpaCommandTlvRxPackets OBJECT-TYPE 956 SYNTAX Counter32 957 MAX-ACCESS read-only 958 STATUS current 959 DESCRIPTION 960 "This object indicates the number of end port advertisement 961 command TLVs received that are used to authorize a port to 962 takeover the segment for the purpose of VLAN load balancing." 963 ::= { crepInterfaceStatsEntry 14 } 964 965crepEpaCommandTlvTxPackets OBJECT-TYPE 966 SYNTAX Counter32 967 MAX-ACCESS read-only 968 STATUS current 969 DESCRIPTION 970 "This object indicates the number of end port advertisement 971 command TLVs transmitted that are used to authorize a port to 972 takeover the segment for the purpose of VLAN load balancing." 973 ::= { crepInterfaceStatsEntry 15 } 974 975crepEpaInfoTlvRxPackets OBJECT-TYPE 976 SYNTAX Counter32 977 MAX-ACCESS read-only 978 STATUS current 979 DESCRIPTION 980 "This object indicates the number of end port advertisement 981 information TLVs received on the port. These messages are sent 982 by the end ports (configured edge port, or port which is down 983 or port which does not have internal peer) to discover the 984 segment information." 985 ::= { crepInterfaceStatsEntry 16 } 986 987crepEpaInfoTlvTxPackets OBJECT-TYPE 988 SYNTAX Counter32 989 MAX-ACCESS read-only 990 STATUS current 991 DESCRIPTION 992 "This object indicates the number of end port advertisement 993 information TLVs transmitted on the port. These messages are 994 sent by the end ports (configured edge port, or port which is 995 down or port which does not have internal peer) to discover 996 the segment information." 997 ::= { crepInterfaceStatsEntry 17 } 998 999 1000 1001crepVersion OBJECT-TYPE 1002 SYNTAX Integer32 1003 MAX-ACCESS read-only 1004 STATUS current 1005 DESCRIPTION 1006 "This object indicates the version of REP being used." 1007 ::= { crepGlobalInfo 1 } 1008 1009crepAdminVlan OBJECT-TYPE 1010 SYNTAX VlanId 1011 MAX-ACCESS read-write 1012 STATUS current 1013 DESCRIPTION 1014 "The administrative VLAN used by REP to transmit its 1015 hardware flooding layer messages. 1016 1017 If the VLAN does not already exist, set operation does not 1018 create the VLAN. The administrative VLAN cannot be the 1019 RSPAN VLAN." 1020 DEFVAL { 1 } 1021 ::= { crepGlobalInfo 2 } 1022 1023crepNotifsEnable OBJECT-TYPE 1024 SYNTAX TruthValue 1025 MAX-ACCESS read-write 1026 STATUS current 1027 DESCRIPTION 1028 "This object specifies whether the system will generate REP 1029 notifications. This object affects the generation of all REP 1030 notifications defined in this MIB module." 1031 ::= { crepGlobalInfo 3 } 1032 1033crepGlobalRepNotifsRate OBJECT-TYPE 1034 SYNTAX Unsigned32 (0..1000) 1035 UNITS "notifications per second" 1036 MAX-ACCESS read-write 1037 STATUS current 1038 DESCRIPTION 1039 "This object specifies the maximum rate at which the system will 1040 generate notifications defined by this MIB module. If this 1041 object value is 0, then the system will not impose a limit on 1042 the rate at which it will generate notification defined by this 1043 MIB module." 1044 ::= { crepGlobalInfo 4 } 1045 1046crepMinSegmentId OBJECT-TYPE 1047 SYNTAX RepSegmentId 1048 MAX-ACCESS read-only 1049 STATUS current 1050 DESCRIPTION 1051 "This object indicates the minimum segment identifier that can be 1052 configured on the device." 1053 ::= { crepGlobalInfo 5 } 1054 1055crepMaxSegmentId OBJECT-TYPE 1056 SYNTAX RepSegmentId 1057 MAX-ACCESS read-only 1058 STATUS current 1059 DESCRIPTION 1060 "This object indicates the maximum segment identifier that can be 1061 configured on the device." 1062 ::= { crepGlobalInfo 6 } 1063 1064crepLinkStatus NOTIFICATION-TYPE 1065 OBJECTS { 1066 crepIfSegmentId, 1067 crepIfOperStatus 1068 } 1069 STATUS current 1070 DESCRIPTION 1071 "This notification is sent when a REP interface has entered or 1072 left REP link operational status. The link is considered 1073 operational when 'crepIfOperStatus' is 'twoWay'. 1074 'crepIfOperStatus' would be 'none' if the 1075 crepInterfaceConfigEntry entry has been removed." 1076 ::= { ciscoRepMIBNotifs 1 } 1077 1078crepPreemptionStatus NOTIFICATION-TYPE 1079 OBJECTS { crepSegmentPreemptStatus } 1080 STATUS current 1081 DESCRIPTION 1082 "This notification indicates the status of the preemption 1083 triggered on REP primary edge." 1084 ::= { ciscoRepMIBNotifs 2 } 1085 1086crepPortRoleChange NOTIFICATION-TYPE 1087 OBJECTS { 1088 crepIfSegmentId, 1089 crepIfPortRole 1090 } 1091 STATUS current 1092 DESCRIPTION 1093 "This notification is sent when the role of a Port changes 1094 that are indicated by 'crepIfPortRole'." 1095 ::= { ciscoRepMIBNotifs 3 } 1096-- Conformance 1097 1098ciscoRepMIBCompliances OBJECT IDENTIFIER 1099 ::= { ciscoRepMIBConform 1 } 1100 1101ciscoRepMIBGroups OBJECT IDENTIFIER 1102 ::= { ciscoRepMIBConform 2 } 1103 1104 1105ciscoRepMIBCompliance MODULE-COMPLIANCE 1106 STATUS current 1107 DESCRIPTION 1108 "The compliance statement for 1109 CISCO-RESILIENT-ETHERNET-PROTOCOL-MIB." 1110 MODULE -- this module 1111 MANDATORY-GROUPS { 1112 ciscoRepGlobalGroup, 1113 ciscoRepNotificationGroup, 1114 ciscoRepInterfaceGroup, 1115 ciscoRepSegmentGroup 1116 } 1117 1118 OBJECT crepIfConfigRowStatus 1119 SYNTAX INTEGER { 1120 active(1), 1121 createAndGo(4), 1122 destroy(6) 1123 } 1124 MIN-ACCESS read-only 1125 DESCRIPTION 1126 "Support for createAndWait, notReady and notInService values are 1127 not required." 1128 1129 OBJECT crepNotifsEnable 1130 MIN-ACCESS read-only 1131 DESCRIPTION 1132 "read-write access is not required." 1133 1134 OBJECT crepGlobalRepNotifsRate 1135 MIN-ACCESS read-only 1136 DESCRIPTION 1137 "read-write access is not required." 1138 ::= { ciscoRepMIBCompliances 1 } 1139 1140-- Units of Conformance 1141 1142ciscoRepGlobalGroup OBJECT-GROUP 1143 OBJECTS { 1144 crepVersion, 1145 crepAdminVlan, 1146 crepNotifsEnable, 1147 crepGlobalRepNotifsRate, 1148 crepMinSegmentId, 1149 crepMaxSegmentId 1150 } 1151 STATUS current 1152 DESCRIPTION 1153 "A collection of global objects for use with the REP feature." 1154 ::= { ciscoRepMIBGroups 1 } 1155 1156ciscoRepInterfaceGroup OBJECT-GROUP 1157 OBJECTS { 1158 crepIfSegmentId, 1159 crepIfOperStatus, 1160 crepIfPortRole, 1161 crepIfPortID, 1162 crepIfAdminEdgePortType, 1163 crepIfOperEdgePortType, 1164 crepIfPreferredConfig, 1165 crepifBlockedVlans1k, 1166 crepifBlockedVlans2k, 1167 crepifBlockedVlans3k, 1168 crepifBlockedVlans4k, 1169 crepLoadBalanceBlockPortType, 1170 crepBlockPortNumInfo, 1171 crepBlockPortIdInfo, 1172 crepIfPreemptDelayTimer, 1173 crepIfStcnPropagateToSTP, 1174 crepIfStcnPropagateToOtherSegs, 1175 crepIfStcnPropagateToIf, 1176 crepIfConfigRowStatus, 1177 crepCounterDiscontinuityTime, 1178 crepLslRxPdus, 1179 crepLslTxPdus, 1180 crepHflRxPdus, 1181 crepHflTxPdus, 1182 crepBpaTlvRxPackets, 1183 crepBpaTlvTxPackets, 1184 crepBpaStcnLslRxPackets, 1185 crepBpaStcnLslTxPackets, 1186 crepBpaStcnHflRxPackets, 1187 crepBpaStcnHflTxPackets, 1188 crepEpaElectionTlvRxPackets, 1189 crepEpaElectionTlvTxPackets, 1190 crepEpaCommandTlvRxPackets, 1191 crepEpaCommandTlvTxPackets, 1192 crepEpaInfoTlvRxPackets, 1193 crepEpaInfoTlvTxPackets 1194 } 1195 STATUS current 1196 DESCRIPTION 1197 "A collection of interface specific objects for use with the REP 1198 feature." 1199 ::= { ciscoRepMIBGroups 2 } 1200 1201ciscoRepNotificationGroup NOTIFICATION-GROUP 1202 NOTIFICATIONS { 1203 crepLinkStatus, 1204 crepPreemptionStatus, 1205 crepPortRoleChange 1206 } 1207 STATUS current 1208 DESCRIPTION 1209 "A collection of notifications for use with the REP feature." 1210 ::= { ciscoRepMIBGroups 3 } 1211 1212ciscoRepSegmentGroup OBJECT-GROUP 1213 OBJECTS { 1214 crepSegmentInterface1, 1215 crepSegmentInterface2, 1216 crepSegmentComplete, 1217 crepSegmentPreempt, 1218 crepSegmentPreemptStatus 1219 } 1220 STATUS current 1221 DESCRIPTION 1222 "A collection of segment specific objects for use with the REP feature." 1223 ::= { ciscoRepMIBGroups 4 } 1224 1225END 1226 1227 1228 1229