-- ***************************************************************** -- 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