CISCO-HSRP-EXT-MIB -- This MIB provides an extension to the CISCO-HSRP-MIB which defines Cisco's -- "proprietary Hot Standby Routing Protocol (HSRP), defined in RFC2281. The -- extensions cover assigning of secondary HSRP ip addresses, modifying an -- HSRP Group's priority by tracking the operational status of interfaces, -- etc. -- Terminology: -- HSRP is a protocol used amoung a group of routers for the purpose of -- selecting an "active router" and a "standby router". -- An "active router" is the router of choice for routing packets. -- A "standby router" is a router that takes over the routing duties -- when an active router fails, or when preset conditions have been met. -- An "HSRP group" or a "standby group" is a set of routers which communicate -- using HSRP. An HSRP group has a group MAC address and a group IP address. -- These are the designated addresses. The active router assumes -- (i.e. inherits) these group addresses. -- BIA stands for Burned In Address. CISCO-HSRP-EXT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, IpAddress FROM SNMPv2-SMI Unsigned32 FROM CISCO-TC TruthValue, RowStatus FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex, InterfaceIndex FROM IF-MIB cHsrpGrpNumber FROM CISCO-HSRP-MIB ciscoMgmt FROM CISCO-SMI; ciscoHsrpExtMIB MODULE-IDENTITY LAST-UPDATED "9808030000Z" 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-hsrp@cisco.com" DESCRIPTION "The Extension MIB module for the CISCO-HSRP-MIB which is based on RFC2281." ::= { ciscoMgmt 107 } ciscoHsrpExtMIBObjects OBJECT IDENTIFIER ::= { ciscoHsrpExtMIB 1 } -- HSRP Extension Tables -- Extention group info -- cHsrpExtGroup OBJECT IDENTIFIER ::= { ciscoHsrpExtMIBObjects 1 } cHsrpExtGroup OBJECT-GROUP OBJECTS { cHsrpExtIfTrackedTable, cHsrpExtSecAddrTable } STATUS current DESCRIPTION "." ::= { ciscoHsrpExtMIBObjects 1 } -- Interface Use Burned-In Address state -- cHsrpExtIfBIA OBJECT IDENTIFIER ::= { ciscoHsrpExtMIBObjects 2 } cHsrpExtIfBIA OBJECT-GROUP OBJECTS { cHsrpExtIfTable } STATUS current DESCRIPTION "." ::= { ciscoHsrpExtMIBObjects 2 } cHsrpExtIfTrackedTable OBJECT-TYPE SYNTAX SEQUENCE OF CHsrpExtIfTrackedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information about tracked interfaces per HSRP group." ::= { cHsrpExtGroup 1 } cHsrpExtIfTrackedEntry OBJECT-TYPE SYNTAX CHsrpExtIfTrackedEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The cHsrpExtIfTrackedEntry allows an HSRP group interface to track one or more interfaces. Weight(priority) is given to each and every interface tracked. When a tracked interface is unavailable, the HSRP priority of the router is decreased. i.e cHsrpGrpPriority value assigned to an HSRP group will reduce by the value assigned to cHsrpExtIfTrackedPriority. This reduces the likelihood of a router with a failed key interface becoming the active router. Setting cHsrpExtIfTrackedRowStatus to active starts the tracking of cHsrpExtIfTracked by the HSRP group. The value of cHsrpExtIfTrackedRowStatus may be set to destroy at any time. Entries may not be created via SNMP without explicitly setting cHsrpExtIfTrackedRowStatus to either 'createAndGo' or 'createAndWait'. Entries can be created and modified via the management protocol or by the device's local management interface. If the row is not active, and a local management interface command modifies that row, the row may transition to active state. A row entry in the cHsrpExtIfTrackedTable can not be created unless the corresponding row in the cHsrpGrpTable has been created. If that corresponding row in cHsrpGrpTable is deleted, the interfaces it tracks also get deleted. A row which is not in active state will timeout after a configurable period (five minutes by default). This timeout period can be changed by setting cHsrpConfigTimeout." INDEX { ifIndex, cHsrpGrpNumber, cHsrpExtIfTracked } ::= { cHsrpExtIfTrackedTable 1 } CHsrpExtIfTrackedEntry ::= SEQUENCE { -- interface which is getting tracked cHsrpExtIfTracked InterfaceIndex, -- Priority cHsrpExtIfTrackedPriority Unsigned32, cHsrpExtIfTrackedRowStatus RowStatus } cHsrpExtIfTracked OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "Index into the cHsrpExtIfTrackedTable for the corresponding { ifIndex, cHsrpGrpNumber } pair i.e for an HSRP group. This is the ifIndex of the tracked interface." ::= { cHsrpExtIfTrackedEntry 1 } cHsrpExtIfTrackedPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "Priority of the tracked interface for the corresponding { ifIndex, cHsrpGrpNumber } pair. In the range of 0 to 255, 0 is the lowest priority and 255 is the highest. When a tracked interface is unavailable, the cHsrpGrpPriority of the router is decreased by the value of this object instance (If the cHsrpGrpPriority is less than the cHsrpExtIfTrackedPriority, then the HSRP priority becomes 0). This allows a standby router to be configured with a priority such that if the currently active router's priority is lowered because the tracked interface goes down, the standby router can takeover." DEFVAL { 0 } ::= { cHsrpExtIfTrackedEntry 2 } cHsrpExtIfTrackedRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The control that allows modification, creation, and deletion of entries. For detailed rules see the DESCRIPTION for cHsrpExtIfTrackedEntry." ::= { cHsrpExtIfTrackedEntry 3 } cHsrpExtSecAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF CHsrpExtSecAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing information about secondary HSRP IP Addresses per interface and group." ::= { cHsrpExtGroup 2 } cHsrpExtSecAddrEntry OBJECT-TYPE SYNTAX CHsrpExtSecAddrEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The CHsrpExtSecAddrEntry allows creation of secondary IP Addresses for each cHsrpGrpEntry row. Secondary addresses can be added by setting cHsrpExtSecAddrRowStatus to be active. The value of cHsrpExtSecAddrRowStatus may be set to destroy at any time. Entries may not be created via SNMP without explicitly setting cHsrpExtSecAddrRowStatus to either 'createAndGo' or 'createAndWait'. Entries can be created and modified via the management protocol or by the device's local management interface. If the row is not active, and a local management interface command modifies that row, the row may transition to active state. A row which is not in active state will timeout after a configurable period (five minutes by default). This timeout period can be changed by setting cHsrpConfigTimeout. Before creation of a cHsrpExtSecAddrEntry row, either cHsrpGrpConfiguredVirtualIpAddr or cHsrpGrpLearnedVirtualIpAddr must have a valid IP Address. This is because a secondary ip address cannot be created unless the primary ip address has already been set. To create a new cHsrpExtSecAddrEntry row, a management station should choose the ifIndex of the interface which is to be added as part of an HSRP group. Also, an HSRP group number and a cHsrpExtSecAddrAddress should be chosen. Deleting a {ifIndex, cHsrpGrpNumber} row in the cHsrpGrpTable will delete all corresponding rows in the cHsrpExtSecAddrTable. Deleting a primary address value in the cHsrpGrpEntry row will delete all secondary addresses for the same {ifIndex, cHsrpGrpNumber} pair." INDEX { ifIndex, cHsrpGrpNumber, cHsrpExtSecAddrAddress } ::= { cHsrpExtSecAddrTable 1 } CHsrpExtSecAddrEntry ::= SEQUENCE { cHsrpExtSecAddrAddress IpAddress, cHsrpExtSecAddrRowStatus RowStatus } cHsrpExtSecAddrAddress OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "A secondary IpAddress for the {ifIndex, cHsrpGrpNumber} pair. As explained in the DESCRIPTION for cHsrpExtSecAddrEntry, a primary address must exist before a secondary address for the same {ifIndex, cHsrpGrpNumber} pair can be created." ::= { cHsrpExtSecAddrEntry 1 } cHsrpExtSecAddrRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The control that allows modification, creation, and deletion of entries. For detailed rules see the DESCRIPTION for cHsrpExtSecAddrEntry." ::= { cHsrpExtSecAddrEntry 2 } cHsrpExtIfTable OBJECT-TYPE SYNTAX SEQUENCE OF CHsrpExtIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "HSRP-specific configurations for each physical interface." ::= { cHsrpExtIfBIA 1 } cHsrpExtIfEntry OBJECT-TYPE SYNTAX CHsrpExtIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "If HSRP entries on this interface must use the BIA (Burned In Address), there must be an entry for the interface in this table. Entries of this table are only accessible if HSRP has been enabled i.e entries can not be created if HSRP is not enabled. Also, the interfaces should be of IEEE 802 ones (Ethernet, Token Ring, FDDI,VLAN, LANE, TR-LANE). Setting cHsrpExtIfRowStatus to active initiates the entry with default value for cHsrpExtIfUseBIA as FALSE. The value of cHsrpExtIfRowStatus may be set to destroy at any time. If the row is not initiated, it is similar to having cHsrpExtIfUseBIA as FALSE. Entries may not be created via SNMP without explicitly setting cHsrpExtIfRowStatus to either 'createAndGo' or 'createAndWait'. Entries can be created and modified via the management protocol or by the device's local management interface. If the row is not active, and a local management interface command modifies that row, the row may transition to active state. A row which is not in active state will timeout after a configurable period (five minutes by default). This timeout period can be changed by setting cHsrpConfigTimeout." INDEX { ifIndex } ::= { cHsrpExtIfTable 1 } CHsrpExtIfEntry ::= SEQUENCE { cHsrpExtIfUseBIA TruthValue, cHsrpExtIfRowStatus RowStatus } cHsrpExtIfUseBIA OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If set to TRUE, the HSRP Group MAC Address for all groups on this interface will be the burned-in-address. Otherwise, this will be determined by ciscoHsrpGroupNumber. In case of sub-interfaces, UseBIA applies to all sub-interfaces on an interface and to all groups on those sub-interfaces." DEFVAL { false } ::= { cHsrpExtIfEntry 1 } cHsrpExtIfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The control that allows modification, creation, and deletion of entries. For detailed rules see the DESCRIPTION for cHsrpExtIfEntry." ::= { cHsrpExtIfEntry 2 } -- Notifications -- None -- Conformance groups cHsrpExtConformance OBJECT IDENTIFIER ::= { ciscoHsrpExtMIB 3 } cHsrpExtCompliances OBJECT IDENTIFIER ::= { cHsrpExtConformance 1 } cHsrpExtComplianceGroups OBJECT IDENTIFIER ::= { cHsrpExtConformance 2 } -- compliance statements cHsrpExtCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "the compliance statement for entities which implement the CISCO-HSRP-EXT-MIB." MODULE -- this module MANDATORY-GROUPS { cHsrpExtIfTrackedGroup, cHsrpExtSecAddrGroup, cHsrpExtIfGroup } ::= { cHsrpExtCompliances 1 } cHsrpExtIfTrackedGroup OBJECT-GROUP OBJECTS { cHsrpExtIfTrackedPriority, cHsrpExtIfTrackedRowStatus } STATUS current DESCRIPTION "The collection of objects used to add, delete and retrieve the interfaces getting tracked for HSRP groups." ::= { cHsrpExtComplianceGroups 1 } cHsrpExtSecAddrGroup OBJECT-GROUP OBJECTS { cHsrpExtSecAddrRowStatus } STATUS current DESCRIPTION "The collection of objects used to add, delete and retrieve primary and secondary Ip Addresses for HSRP groups." ::= { cHsrpExtComplianceGroups 2 } cHsrpExtIfGroup OBJECT-GROUP OBJECTS { cHsrpExtIfUseBIA, cHsrpExtIfRowStatus } STATUS current DESCRIPTION "Object which tells if HSRP entries on this interface must use BIA or not." ::= { cHsrpExtComplianceGroups 3 } END