-- ********************************************************************* -- CISCO-ENTITY-REDUNDANCY-MIB.my -- Extension to the ENTITY-MIB in order to support provisioning, -- monitoring and control of redundant system entities. -- -- Feb 2005, Fred Frazer -- -- Copyright (c) 2005, 2006 by Cisco Systems, Inc. -- All rights reserved. -- ********************************************************************* CISCO-ENTITY-REDUNDANCY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Gauge32, Counter64, Unsigned32, Integer32 FROM SNMPv2-SMI RowStatus, TimeStamp, TruthValue, StorageType, AutonomousType FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB PhysicalIndex FROM ENTITY-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF CeRedunType, CeRedunScope, CeRedunArch, CeRedunSwitchCommand, CeRedunMode, CeRedunMbrStatus, CeRedunStateCategories, CeRedunReasonCategories FROM CISCO-ENTITY-REDUNDANCY-TC-MIB ciscoMgmt FROM CISCO-SMI ; ciscoEntityRedunMIB MODULE-IDENTITY LAST-UPDATED "200510010000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems, Inc. Customer Service Postal: 170 W. Tasman Drive San Jose, CA 95134-1706 USA Tel: +1 800 553-NETS Email: cs-ha@cisco.com" DESCRIPTION "This management information module supports configuration, control and monitoring of redundancy protection for various kinds of components on Cisco managed devices. It is meant to be generic enough to handle basic redundancy control and monitoring for many types of redundant member components and redundancy architectures as long as there is an Entity MIB entPhysicalIndex and entPhysicalVendorType assigned to each member component. It is designed so that the tables can be augmented in other extension MIBS which build upon this MIB by adding additional objects that may be specific to a particular type of redundancy or member component. This MIB can also be used in cases where some types of redundancy groups and members don't require explicit user configuration. One example may be redundant fan assemblies. In those cases, the managed system should internally assign group and member indexes, so that it can provide read-only access to the group and member tables. This allows MIB monitoring for these types of redundant entities. " REVISION "200510010000Z" DESCRIPTION "The initial version of this MIB module." ::= { ciscoMgmt 498 } ciscoEntityRedunMIBNotifs OBJECT IDENTIFIER ::= { ciscoEntityRedunMIB 0 } ciscoEntityRedunMIBObjects OBJECT IDENTIFIER ::= { ciscoEntityRedunMIB 1 } ciscoEntityRedunMIBConform OBJECT IDENTIFIER ::= { ciscoEntityRedunMIB 2 } -- -- Redundancy Group Tables -- -- These tables allow managed systems to report information about -- the types of redundancy groups available on the reporting system. -- They also allow configuration and monitoring of objects which -- apply to each redundancy group. -- ceRedunGroup OBJECT IDENTIFIER ::= {ciscoEntityRedunMIBObjects 1 } -- Redundancy Group Types Table ceRedunGroupTypesTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunGroupTypesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the basic types of redundancy groups supported on the managed device along with additional information about each group type. " ::= {ceRedunGroup 1 } ceRedunGroupTypesEntry OBJECT-TYPE SYNTAX CeRedunGroupTypesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunGroupTypesTable." INDEX { ceRedunGroupTypeIndex } ::= {ceRedunGroupTypesTable 1 } CeRedunGroupTypesEntry ::= SEQUENCE { ceRedunGroupTypeIndex Unsigned32, ceRedunGroupTypeName SnmpAdminString, ceRedunGroupCounts Gauge32, ceRedunNextUnusedGroupIndex Unsigned32, ceRedunMaxMbrsInGroup Unsigned32, ceRedunUsesGroupName TruthValue, ceRedunGroupDefinitionChanged TimeStamp } ceRedunGroupTypeIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index assigned for each type of redundancy group supported on a managed system that requires its own table listing entPhysicalVendorTypes allowed as members for its groups. For instance, port groups have a different set of allowed entPhysicalVendorTypes than linecard groups. So each should have a separate ceRedunGroupTypeIndex. For this example, a command line interface may differentiate by using separate keywords (port-group versus linecard-group) rather than exposing the ceRedunGroupTypeIndex to a user. " ::= { ceRedunGroupTypesEntry 1 } ceRedunGroupTypeName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual name of the redundancy group type. The value of this object should be the name of the redundancy group type assigned by the local device as it would appear for display commands entered at the device's `console'. Examples are port-group, linecard-group, fan-group, etc. " ::= { ceRedunGroupTypesEntry 2 } ceRedunGroupCounts OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current count of redundancy groups for a specific ceRedunGroupTypeIndex. This count indicates the number of rows in the ceRedunGroupTable for a specific ceRedunGroupTypeIndex. " ::= { ceRedunGroupTypesEntry 3 } ceRedunNextUnusedGroupIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The next unused group index available for configuring a new redundancy group for this group type. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should give different index values. But in order to prevent leaks of unused indexes, it is acceptable to cycle through and report unused indexes again if all of the indexes have already been retrieved previously, yet some remain unused. So the retrieval of an index should not be considered a permanent longterm reservation. If there are no more unused group indexes available, the managed system should return 0. Note: 0 may be an acceptable group index on some managed systems. " ::= { ceRedunGroupTypesEntry 4 } ceRedunMaxMbrsInGroup OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of primary plus secondary members allowed in a group for a specific ceRedunGroupTypeIndex. If only 1:1 or 1+1 is supported, this should be 2. If the maximum number is unknown or not determinable, the managed system should return 0. " ::= { ceRedunGroupTypesEntry 5 } ceRedunUsesGroupName OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Boolean to indicate whether this type of redundancy group uses the ceRedunGroupString object as a group name identifier. If it is reported as 'true', the ceRedunGroupString name must contain no internal spaces. If it's reported as 'false', the ceRedunGroupString object is just used as an optional description for the group rather than as the group name. " ::= { ceRedunGroupTypesEntry 6 } ceRedunGroupDefinitionChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when there was the most recent change to any objects in the ceRedunGroupTypesTable except for ceRedunGroupCounts or ceRedunNextUnusedGroupIndex. The sysUpTime should also reflect changes to either the ceRedunVendorTypesTable, ceRedunInternalStatesTable or ceRedunSwitchoverReasonTable. Normally these objects are static, but if there was an in service upgrade to the software image of the managed system then the tables may change and should be read again. If there has been no change since the last initialization of the local network management system, this object should contain the value 0. " ::= { ceRedunGroupTypesEntry 7 } -- Redundancy VendorTypes Table ceRedunVendorTypesTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunVendorTypesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists all entPhysicalVendorTypes allowed as members for a specific ceRedunGroupTypeIndex on the managed device, inclusive for all configurable values for ceRedunType, ceRedunScope, ceRedunArch, etc. If the ceRedunGroupDefinitionChanged object changes for a particular ceRedunGroupTypeIndex, then this table may have changed and should be read again. Note: Although a specific ceRedunGroupTypeIndex may allow groups of different entPhysicalVendorTypes, managed devices typically enforce all members within a specific group to have the same entPhysicalVendorType. " ::= {ceRedunGroup 2 } ceRedunVendorTypesEntry OBJECT-TYPE SYNTAX CeRedunVendorTypesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunVendorTypesTable." INDEX { ceRedunGroupTypeIndex, ceRedunVendorType } ::= {ceRedunVendorTypesTable 1 } CeRedunVendorTypesEntry ::= SEQUENCE { ceRedunVendorType AutonomousType } ceRedunVendorType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "Each row lists a specific entPhysicalVendorType which is allowed as a member for groups of the type specified by the ceRedunGroupTypeIndex. Note: Normally an index object would have MAX-ACCESS of not-accessible, but since the table contains only this index object, the access is read-only. " ::= { ceRedunVendorTypesEntry 1 } -- Internal State Description table ceRedunInternalStatesTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunInternalStatesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table allows the managed system to report a read-only list of internal state numbers and the corresponding descriptions which apply for the members of a particular redundancy group type. If the ceRedunGroupDefinitionChanged object changes for a particular ceRedunGroupTypeIndex, then this table may have changed and should be read again. " ::= { ceRedunGroup 3 } ceRedunInternalStatesEntry OBJECT-TYPE SYNTAX CeRedunInternalStatesEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunInternalStatesTable. " INDEX { ceRedunGroupTypeIndex, ceRedunInternalStateIndex } ::= { ceRedunInternalStatesTable 1 } CeRedunInternalStatesEntry ::= SEQUENCE { ceRedunInternalStateIndex Unsigned32, ceRedunStateCategory CeRedunStateCategories, ceRedunInternalStateDescr SnmpAdminString } ceRedunInternalStateIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is an index corresponding to an internal state of a member for a redundancy group of type ceRedunGroupTypeIndex. The state may include any of the initialization or intermediate progression states necessary to reach a stable active or standby state. " ::= { ceRedunInternalStatesEntry 1 } ceRedunStateCategory OBJECT-TYPE SYNTAX CeRedunStateCategories MAX-ACCESS read-only STATUS current DESCRIPTION "This places the specific internal state into one of several categories of internal states which are significant for redundancy. " ::= { ceRedunInternalStatesEntry 2 } ceRedunInternalStateDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This is a string description for the specific internal member state. " ::= { ceRedunInternalStatesEntry 3 } -- Switchover Reason Description table ceRedunSwitchoverReasonTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunSwitchoverReasonEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table allows the managed system to report a read-only list of switchover reason indexes and the corresponding descriptions. If the ceRedunGroupDefinitionChanged object changes for a particular ceRedunGroupTypeIndex, then this table may have changed and should be read again. " ::= { ceRedunGroup 4 } ceRedunSwitchoverReasonEntry OBJECT-TYPE SYNTAX CeRedunSwitchoverReasonEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunSwitchoverReasonTable. " INDEX { ceRedunGroupTypeIndex, ceRedunSwitchoverReasonIndex } ::= { ceRedunSwitchoverReasonTable 1 } CeRedunSwitchoverReasonEntry ::= SEQUENCE { ceRedunSwitchoverReasonIndex Unsigned32, ceRedunReasonCategory CeRedunReasonCategories, ceRedunSwitchoverReasonDescr SnmpAdminString } ceRedunSwitchoverReasonIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is an index corresponding to a switchover reason code. " ::= { ceRedunSwitchoverReasonEntry 1 } ceRedunReasonCategory OBJECT-TYPE SYNTAX CeRedunReasonCategories MAX-ACCESS read-only STATUS current DESCRIPTION "This categorizes the specific switchover reason into one of several categories. " ::= { ceRedunSwitchoverReasonEntry 2 } ceRedunSwitchoverReasonDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This is a string description for the specific switchover reason. " ::= { ceRedunSwitchoverReasonEntry 3 } -- Redundancy Group Table ceRedunGroupLastChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime corresponding to the last change for any object in the ceRedunGroupTable. The source of the change can be due to either an SNMP message affecting an object in the table or due to any other source of user input such as a command line interface. The timestamp applies to all read-create objects even for cases where the managed device only supports read-only access because it doesn't require user configuration of those objects. If there has been no change since the last time the sysUpTime was zero then report the sysUpTime as zero. " ::= { ceRedunGroup 5 } ceRedunGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists group configuration and status objects for a specific redundancy group. However, the members are configured separately in the ceRedunMbrTable. " ::= { ceRedunGroup 6 } ceRedunGroupEntry OBJECT-TYPE SYNTAX CeRedunGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunGroupTable." INDEX { ceRedunGroupTypeIndex, ceRedunGroupIndex } ::= {ceRedunGroupTable 1 } CeRedunGroupEntry ::= SEQUENCE { ceRedunGroupIndex Unsigned32, ceRedunGroupString SnmpAdminString, ceRedunGroupRedunType CeRedunType, ceRedunGroupScope CeRedunScope, ceRedunGroupArch CeRedunArch, ceRedunGroupRevert INTEGER, ceRedunGroupWaitToRestore Unsigned32, ceRedunGroupDirection INTEGER, ceRedunGroupStorageType StorageType, ceRedunGroupRowStatus RowStatus } ceRedunGroupIndex OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "A group number assigned to a particular redundancy group. A group consists of one or more primary members which are protected by one or more secondary members. " ::= { ceRedunGroupEntry 1 } ceRedunGroupString OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create STATUS current DESCRIPTION "If ceRedunUsesGroupName is 'true' for this redundancy group type, this object is a group name identifier and the value of this object has to be specified and should contain no internal spaces when configuring this group entry. If ceRedunUsesGroupName is 'false', the ceRedunGroupString object is just used as an optional description for the group rather than as the group name. In that case it's allowed to have spaces in the string. " ::= { ceRedunGroupEntry 2 } ceRedunGroupRedunType OBJECT-TYPE SYNTAX CeRedunType MAX-ACCESS read-create STATUS current DESCRIPTION "The intended type of redundancy protection such as 'yCable' or 'aps' for this redundancy group. " ::= { ceRedunGroupEntry 3 } ceRedunGroupScope OBJECT-TYPE SYNTAX CeRedunScope MAX-ACCESS read-create STATUS current DESCRIPTION "This object determines the local/remote scope of the redundancy group. This object may not be modified if the associated ceRedunGroupRowStatus object is equal to active(1). " DEFVAL {local} ::= { ceRedunGroupEntry 4 } ceRedunGroupArch OBJECT-TYPE SYNTAX CeRedunArch MAX-ACCESS read-create STATUS current DESCRIPTION "The architecture of the redundancy group, such as 1:1 or 1:n, etc. This object may not be modified if the associated ceRedunGroupRowStatus object is equal to active(1). " DEFVAL {onePlusOne} ::= { ceRedunGroupEntry 5 } ceRedunGroupRevert OBJECT-TYPE SYNTAX INTEGER { nonrevertive(1), revertive(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The revertive mode of the redundancy group. nonrevertive(1) The secondary member remains active until another switchable event takes place. revertive(2) When the condition that caused a switch to the secondary member has been cleared, a switch is made back to the primary member after a configured delay. Switching should normally be revertive for the 1:n and load-sharing architectures. Switching may optionally be revertive with the 1:1 and 1+1 architectures. This object may not be modified if the associated ceRedunGroupRowStatus object is equal to active(1). " ::= { ceRedunGroupEntry 6 } ceRedunGroupWaitToRestore OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The Wait To Restore period in seconds. This object is only applicable to groups which are configured as revertive and does not need to be instantiated for groups which are non-revertive. After clearing of a condition that necessitated an automatic switch, the wait to restore period must elapse before reverting. This is intended to avoid rapid switch oscillations. This object may not be modified if the associated ceRedunGroupRowStatus object is equal to active(1). " DEFVAL { 300 } ::= { ceRedunGroupEntry 7 } ceRedunGroupDirection OBJECT-TYPE SYNTAX INTEGER { unidirectional(1), bidirectional(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object is applicable only for those types of redundancy such as APS where switchovers can take place independently at near and far ends of a pair of interconnecting links and does not need to be instantiated for other redundancy types. unidirectional(1) Switchovers are allowed to take place independently at protection equipment at the near and far ends of interconnecting links. bidirectional(2) When a switchover happens at the near end protection equipment there is some form of signalling which should cause a corresponding switchover at the far end protection equipment. This object may not be modified if the associated ceRedunGroupRowStatus object is equal to active(1). " ::= { ceRedunGroupEntry 8 } ceRedunGroupStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. By default, the row will not be saved into non-volatile memory unless this object is set to the value nonVolatile. Note: Conceptual rows having the value 'readOnly' can be used for redundancy groups that aren't configurable and need not allow write-access to any columnar objects in the row. " DEFVAL { volatile } ::= { ceRedunGroupEntry 9 } ceRedunGroupRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The configuration status of this redundancy group entry. An entry may not exist in the active RowStatus state unless all configurable read-create objects in the entry have an appropriate value. No other read-create objects in this group may be modified if the ceRedunGroupRowStatus object is equal to active(1). When set to 'notInService', changes may be made to configurable read-create objects. Also, associated ceRedunMbrTable objects may be added, deleted and modified. After modifying a conceptual row in this table, the management client must set this object to 'active' in order for the changes to take effect. " ::= { ceRedunGroupEntry 10 } -- -- Group member Configuration Table -- -- This table supports the addition, modification and deletion of -- members in entity redundancy groups. -- ceRedunMembers OBJECT IDENTIFIER ::= {ciscoEntityRedunMIBObjects 2 } ceRedunMbrLastChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime corresponding to the last change to any read-create objects in this table. The source of the change can be due to either an SNMP message affecting this table or due to any other source of user input such as a command line interface. The timestamp applies to all read-create objects even for cases where the managed device only supports read-only access because it doesn't require user configuration of those objects. If there has been no change since the last time the sysUpTime was zero then report the sysUpTime as zero. " ::= { ceRedunMembers 1 } ceRedunMbrConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunMbrConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the group members and generic redundancy objects which are associated with configuring redundancy group members. The switchover granularity should be for one member at a time. In other words if a member is allowed to be an individual port, then switchovers on multi-port linecards would be expected to take place independently for each port on the linecard. But if the members are full linecards, then all ports on the linecard would be expected to switch at the same time. " ::= { ceRedunMembers 2 } ceRedunMbrConfigEntry OBJECT-TYPE SYNTAX CeRedunMbrConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunMbrConfigTable. " INDEX { ceRedunGroupTypeIndex, ceRedunGroupIndex, ceRedunMbrNumber } ::= { ceRedunMbrConfigTable 1 } CeRedunMbrConfigEntry ::= SEQUENCE { ceRedunMbrNumber Unsigned32, ceRedunMbrPhysIndex PhysicalIndex, ceRedunMbrMode CeRedunMode, ceRedunMbrAddressType InetAddressType, ceRedunMbrRemoteAddress InetAddress, ceRedunMbrPriority INTEGER, ceRedunMbrStorageType StorageType, ceRedunMbrRowStatus RowStatus } ceRedunMbrNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This field should be assigned as a unique member number within a redundancy group. The value 0 always indicates a secondary member. Primary members should have numbers which are higher than secondary members. Note: This definition of member values, including the use of the value 0 for the secondary member allows compatibility with existing 1:n SONET APS channel numbering. Yet the numbering definition has also been expanded to allow support for the most general m:n redundancy architectures. " ::= { ceRedunMbrConfigEntry 1 } ceRedunMbrPhysIndex OBJECT-TYPE SYNTAX PhysicalIndex MAX-ACCESS read-create STATUS current DESCRIPTION "This field specifies the entity PhysicalIndex which is being configured as a redundancy member. It is the responsibility of the managed device to enforce any restrictions on matching entPhysicalVendorType, slot positions etc. among members of the same redundancy group. " ::= { ceRedunMbrConfigEntry 2 } ceRedunMbrMode OBJECT-TYPE SYNTAX CeRedunMode MAX-ACCESS read-create STATUS current DESCRIPTION "This field is set to the 'primary' (working) or 'secondary' (protection) role within the redundancy group. The designation as 'primary' or 'secondary' is configured and is static. It doesn't change due to a switchover. " ::= { ceRedunMbrConfigEntry 3 } ceRedunMbrAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "This field specifies the type of address used for the ceRedunMbrAddress object. It does not need to be instantiated when the ceRedunGroupScope value is 'remoteSystem' or 'remoteChassis'. " ::= { ceRedunMbrConfigEntry 4 } ceRedunMbrRemoteAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This field specifies the remote management address of the shelf or system where the peer member is expected to be configured. It does not need to be instantiated when the ceRedunGroupScope value is 'remoteSystem' or 'remoteChassis'. " ::= { ceRedunMbrConfigEntry 5 } ceRedunMbrPriority OBJECT-TYPE SYNTAX INTEGER {low(1), high(2)} MAX-ACCESS read-create STATUS current DESCRIPTION "The priority of the member. For 1:n architectures if the secondary member has already become active for a primary member with a lower priority, it can instead take over for a different primary member if that member has higher priority. This field is only applicable if the member is to be included in a group using the 1:n architecture. It is not applicable if the member is to be included in a group using the 1:1 or 1+1 architecture, and is ignored in that case. " DEFVAL { low } ::= { ceRedunMbrConfigEntry 6 } ceRedunMbrStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. By default, the row will not be saved into non-volatile memory unless this object is set to the value nonVolatile. Note: Conceptual rows having the value 'readOnly' can be used for redundancy groups that aren't configurable and need not allow write-access to any columnar objects in the row. " DEFVAL { volatile } ::= { ceRedunMbrConfigEntry 8 } ceRedunMbrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The configuration status of this member entry. A row in the ceRedunMbrConfigTable may not be created, deleted, or set to notInService if the associated ceRedunGroupRowStatus object is equal to active. However, if the ceRedunGroupRowStatus object is equal to notInService, a row may be created, deleted or modified. In other words, a member may not be added, deleted or modified if the including group is active. " ::= { ceRedunMbrConfigEntry 9 } -- -- Group member Status Table -- -- This table supports status reporting for members in entity -- redundancy groups. -- ceRedunMbrStatusLastChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime corresponding to the last change to any objects in the ceRedunMbrStatusTable table. If there has been no change since the last time the sysUpTime was zero then report the sysUpTime as zero. " ::= { ceRedunMembers 3 } ceRedunMbrStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunMbrStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the redundancy status and other read-only redundancy objects which are associated with redundancy group members. Status associated with member alarm conditions should be reported separately using the CISCO-ENTITY-ALARM-MIB. " ::= { ceRedunMembers 4 } ceRedunMbrStatusEntry OBJECT-TYPE SYNTAX CeRedunMbrStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunMbrStatusTable. " AUGMENTS { ceRedunMbrConfigEntry } ::= { ceRedunMbrStatusTable 1 } CeRedunMbrStatusEntry ::= SEQUENCE { ceRedunMbrStatusCurrent CeRedunMbrStatus, ceRedunMbrProtectingMbr Unsigned32, ceRedunMbrInternalState Unsigned32, ceRedunMbrSwitchoverCounts Gauge32, ceRedunMbrLastSwitchover TimeStamp, ceRedunMbrSwitchoverReason Unsigned32, ceRedunMbrSwitchoverSeconds Counter64 } ceRedunMbrStatusCurrent OBJECT-TYPE SYNTAX CeRedunMbrStatus MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the current status bitflags for the member. " ::= { ceRedunMbrStatusEntry 1 } ceRedunMbrProtectingMbr OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This field is valid only for a secondary member. When the secondary member is active, this value indicates the primary member it has taken over for. When the secondary member is standby, it should return its own member number. Primary members should return their own member number. " ::= { ceRedunMbrStatusEntry 2 } ceRedunMbrInternalState OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This is the current internal state index for a member. The corresponding state category and description can be found in the ceRedunInternalStatesTable. It may include any of the initialization or intermediate progression states necessary to reach a stable active or standby state. " ::= { ceRedunMbrStatusEntry 3 } ceRedunMbrSwitchoverCounts OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times this primary or secondary member has changed from being active to being standby due to a switchover. The counter should monotonically increase but never wrap or decrease, except at a system restart. When queried for a secondary member that has never gone active since the last system restart, then no switchovers should be reported so it should return 0. " ::= { ceRedunMbrStatusEntry 4 } ceRedunMbrLastSwitchover OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when this primary member last completed a switchover to the secondary member. If this member has never switched to standby, or this is a secondary member, the value 0 should be returned. " ::= { ceRedunMbrStatusEntry 5 } ceRedunMbrSwitchoverReason OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The reported reason code for the last switchover. The corresponding reason category and description can be found from the ceRedunSwitchoverReasonTable. " ::= { ceRedunMbrStatusEntry 6 } ceRedunMbrSwitchoverSeconds OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The cumulative switching duration time in seconds. For a primary member, this is the cumulative number of seconds that service was carried by the secondary member. For the secondary member, this is the cumulative number of seconds that the secondary member has been used to protect a primary member. This information is only valid if revertive switching is enabled. The value 0 should be returned otherwise. " ::= { ceRedunMbrStatusEntry 8 } -- -- Redundancy Switchover Command Table -- -- This table provides the ability to initiate switchover commands. -- ceRedunCommandTable OBJECT-TYPE SYNTAX SEQUENCE OF CeRedunCommandEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table allows switchover commands to be sent to members of configured redundancy groups. " ::= {ciscoEntityRedunMIBObjects 3 } ceRedunCommandEntry OBJECT-TYPE SYNTAX CeRedunCommandEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the ceRedunCommandTable. This row exists only if the associated ceRedunGroupEntry is active and has at least one primary and secondary member active. " INDEX { ceRedunGroupTypeIndex, ceRedunGroupIndex } ::= {ceRedunCommandTable 1 } CeRedunCommandEntry ::= SEQUENCE { ceRedunCommandMbrNumber Integer32, ceRedunCommandSwitch CeRedunSwitchCommand } ceRedunCommandMbrNumber OBJECT-TYPE SYNTAX Integer32 (-1..2147483647) MAX-ACCESS read-write STATUS current DESCRIPTION "Specifies the redundancy group member to which the switch command applies. The value -1 for this object is only valid for a clear command and indicates the clear command applies to all members of the redundancy group type. " ::= { ceRedunCommandEntry 1 } ceRedunCommandSwitch OBJECT-TYPE SYNTAX CeRedunSwitchCommand MAX-ACCESS read-write STATUS current DESCRIPTION "Allows the initiation of a redundancy switchover command for the redundant member. When a valid member is specified, the command applies to the specified member. If the redundancy switchover command cannot be executed because an equal or higher priority request is in effect, an error is returned. When read, this object returns the last command written which is currently still in effect or 'noCmdInEffect' if no command is currently in effect. And for the specific case of a 'manualSwitchAway' command, some managed devices and redundancy types may do an initial switch, but may optionally not keep the switch in effect as a permanent state. In order to determine the current switchover state of the redundancy group it is necessary to read the ceRedunMbrProtectingMbr object for the secondary member(s). " ::= { ceRedunCommandEntry 2 } -- -- Redundancy notifications -- ceRedunEnableSwitchoverNotifs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object controls whether the system produces ceRedunEventSwitchover notifications. A false value will prevent ceRedunEventSwitchover notifications from being generated by this system. " DEFVAL { false } ::= { ciscoEntityRedunMIBObjects 4 } ceRedunEnableStatusChangeNotifs OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object controls whether the system produces ceRedunProtectStatusChange notifications. A false value will prevent ceRedunProtectStatusChange notifications from being generated by this system. " DEFVAL { false } ::= { ciscoEntityRedunMIBObjects 5 } ceRedunEventSwitchover NOTIFICATION-TYPE OBJECTS {ceRedunMbrProtectingMbr, ceRedunMbrStatusCurrent } STATUS current DESCRIPTION "A ceRedunEventSwitchover notification is sent when the ceRedunMbrProtectingMbr object changes value for a secondary member. The objects should correspond to the secondary member which changed its status. The objects should reflect the status following the switchover. " ::= {ciscoEntityRedunMIBNotifs 1 } ceRedunProtectStatusChange NOTIFICATION-TYPE OBJECTS {ceRedunMbrStatusCurrent } STATUS current DESCRIPTION "A ceRedunProtectStatusChange notification is sent when a protectionProvided bit gets set or cleared for an active member. This is intended to allow notification when protection becomes available or unavailable for an active member of a redundancy group. It should be suppressed if there's a simultaneous change to the standby bit, which would indicate a switchover trap is being sent. Object values sent should reflect the newer status following the change. " ::= {ciscoEntityRedunMIBNotifs 2 } -- MIB conformance statements ceRedunCompliances OBJECT IDENTIFIER ::= {ciscoEntityRedunMIBConform 1 } ceRedunGroups OBJECT IDENTIFIER ::= {ciscoEntityRedunMIBConform 2 } -- Compliance ceRedunCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for Cisco entity redundancy groups. " MODULE -- this module MANDATORY-GROUPS {ceRedunGroupTypeGroup, ceRedunGroupObjects, ceRedunMemberConfig, ceRedunMemberStatus } OBJECT ceRedunGroupString MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupRedunType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupScope MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupArch MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupRevert MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupWaitToRestore MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunGroupRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrPhysIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrMode MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrAddressType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrRemoteAddress MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrPriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT ceRedunMbrRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP ceRedunOptionalGroupTypes DESCRIPTION "Implementation of this group is optional for all redundancy implementations." GROUP ceRedunInternalStates DESCRIPTION "Implementation of this group is optional for all redundancy implementations." GROUP ceRedunSwitchoverReason DESCRIPTION "Implementation of this group is optional for all redundancy implementations." GROUP ceRedunRevertiveGroup DESCRIPTION "This group is mandatory for all groups supporting revertive switchover capability." GROUP ceRedunBidirectional DESCRIPTION "This group is mandatory for all groups supporting bidirectional switchovers." GROUP ceRedunRemoteSystem DESCRIPTION "This group is mandatory for all groups with ceRedunGroupScope of 'remoteSystem' or 'remoteChassis'." GROUP ceRedunOneToN DESCRIPTION "This group is mandatory for all groups implementing the 1:n architecture." GROUP ceRedunOptionalMbrStatus DESCRIPTION "Implementation of this group is optional for all redundancy implementations." GROUP ceRedunCommandsGroup DESCRIPTION "This group is mandatory for all implementations supporting commanded switchover capability." GROUP ceRedunNotifEnables DESCRIPTION "This group is mandatory for all implementations supporting redundancy notification enable/disable." GROUP ceRedunSwitchNotifGroup DESCRIPTION "This group is mandatory for all groups supporting switchover notifications." GROUP ceRedunProtectStatusNotifGroup DESCRIPTION "This group is mandatory for all groups supporting protection status notifications." ::= { ceRedunCompliances 1 } -- units of conformance ceRedunGroupTypeGroup OBJECT-GROUP OBJECTS { ceRedunNextUnusedGroupIndex, ceRedunMaxMbrsInGroup, ceRedunUsesGroupName, ceRedunGroupDefinitionChanged } STATUS current DESCRIPTION "A collection of mandatory objects providing configuration information applicable to redundancy entity group types. " ::= { ceRedunGroups 1 } ceRedunOptionalGroupTypes OBJECT-GROUP OBJECTS { ceRedunGroupTypeName, ceRedunGroupCounts } STATUS current DESCRIPTION "A collection of optional objects from the ceRedunGroupTypesTable. " ::= { ceRedunGroups 2 } ceRedunInternalStates OBJECT-GROUP OBJECTS { ceRedunStateCategory, ceRedunInternalStateDescr } STATUS current DESCRIPTION "A collection of objects giving internal redundancy state information. " ::= { ceRedunGroups 3 } ceRedunSwitchoverReason OBJECT-GROUP OBJECTS { ceRedunReasonCategory, ceRedunSwitchoverReasonDescr } STATUS current DESCRIPTION "A collection of objects giving switchover reason information. " ::= { ceRedunGroups 4 } ceRedunGroupObjects OBJECT-GROUP OBJECTS { ceRedunGroupLastChanged, ceRedunGroupString, ceRedunGroupRedunType, ceRedunGroupScope, ceRedunGroupArch, ceRedunGroupStorageType, ceRedunGroupRowStatus } STATUS current DESCRIPTION "A collection of mandatory objects providing information applicable to redundancy entity groups. " ::= { ceRedunGroups 5 } ceRedunRevertiveGroup OBJECT-GROUP OBJECTS { ceRedunGroupRevert, ceRedunGroupWaitToRestore } STATUS current DESCRIPTION "A collection of objects providing revertive switchover capability. " ::= { ceRedunGroups 6 } ceRedunBidirectional OBJECT-GROUP OBJECTS { ceRedunGroupDirection } STATUS current DESCRIPTION "The objects which provide information which is applicable to groups supporting bi-directional operation. " ::= { ceRedunGroups 7 } ceRedunMemberConfig OBJECT-GROUP OBJECTS { ceRedunMbrLastChanged, ceRedunMbrPhysIndex, ceRedunMbrMode, ceRedunMbrStorageType, ceRedunMbrRowStatus } STATUS current DESCRIPTION "A collection of mandatory member objects providing configuration information applicable to all redundancy members. " ::= { ceRedunGroups 8 } ceRedunRemoteSystem OBJECT-GROUP OBJECTS { ceRedunMbrAddressType, ceRedunMbrRemoteAddress } STATUS current DESCRIPTION "The objects which provide information which is only applicable to 'remoteSystem' or 'remoteChassis' groups. " ::= { ceRedunGroups 9 } ceRedunOneToN OBJECT-GROUP OBJECTS { ceRedunMbrPriority } STATUS current DESCRIPTION "The objects which provide information which is only applicable to groups implementing the 1:n architecture. " ::= { ceRedunGroups 10 } ceRedunMemberStatus OBJECT-GROUP OBJECTS { ceRedunMbrStatusLastChanged, ceRedunMbrStatusCurrent, ceRedunMbrProtectingMbr, ceRedunMbrSwitchoverCounts, ceRedunMbrLastSwitchover } STATUS current DESCRIPTION "A collection of mandatory ceRedunStatusTable objects providing status information applicable to redundancy members. " ::= { ceRedunGroups 11 } ceRedunOptionalMbrStatus OBJECT-GROUP OBJECTS { ceRedunMbrInternalState, ceRedunMbrSwitchoverReason, ceRedunMbrSwitchoverSeconds } STATUS current DESCRIPTION "A collection of objects providing additional member status. " ::= { ceRedunGroups 12 } ceRedunCommandsGroup OBJECT-GROUP OBJECTS { ceRedunCommandMbrNumber, ceRedunCommandSwitch } STATUS current DESCRIPTION "A collection of objects providing commanded switchover capability. " ::= { ceRedunGroups 13 } ceRedunNotifEnables OBJECT-GROUP OBJECTS { ceRedunEnableSwitchoverNotifs, ceRedunEnableStatusChangeNotifs } STATUS current DESCRIPTION "A collection of objects providing configuration information applicable to all redundancy entity groups. " ::= { ceRedunGroups 14 } ceRedunSwitchNotifGroup NOTIFICATION-GROUP NOTIFICATIONS {ceRedunEventSwitchover } STATUS current DESCRIPTION "A collection of entity redundancy notifications that may optionally be implemented. " ::= { ceRedunGroups 15 } ceRedunProtectStatusNotifGroup NOTIFICATION-GROUP NOTIFICATIONS { ceRedunProtectStatusChange } STATUS current DESCRIPTION "A collection of entity redundancy notifications that may optionally be implemented. " ::= { ceRedunGroups 16 } END