The MIB module provides a means to monitor and configure the Cisco IOS proprietary Hot Standby Router Protocol (HSRP). Cisco HSR...
Version: 2010-09-06
module CISCO-HSRP-MIB { yang-version 1; namespace "urn:ietf:params:xml:ns:yang:smiv2:CISCO-HSRP-MIB"; prefix CISCO-HSRP-MIB; import IF-MIB { prefix if-mib; } import SNMPv2-TC { prefix snmpv2-tc; } import ietf-inet-types { prefix inet; } import ietf-yang-smiv2 { prefix smiv2; } import ietf-yang-types { prefix yang; } organization "Cisco Systems, Inc."; contact "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 MIB module provides a means to monitor and configure the Cisco IOS proprietary Hot Standby Router Protocol (HSRP). Cisco HSRP protocol is defined in RFC2281. 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 Virtual IP address. These are the designated addresses. The active router assumes (i.e. inherits) these group addresses. 'Hello' messages are sent to indicate that a router is running and is capable of becoming the active or standby router. 'Hellotime' is the interval between successive HSRP Hello messages from a given router. 'Holdtime' is the interval between the receipt of a Hello message and the presumption that the sending router has failed."; revision "2010-09-06" { description "The following changes have been made. [1] Objects cHsrpGrpIpNone has been added to the cHsrpGrpTable. [2] Added new object group cHsrpGrpGroupSup [3] Added new compliance cHsrpComplianceRev2, which deprecates cHsrpComplianceRev1."; } revision "2005-12-20" { description "Deprecated cHsrpCompliance and added cHsrpComplianceRev1 to include cHsrpNotificationsGroup; Updated the imports such that Unsigned32 is imported from SNMPv2-SMI instead of CISCO-TC, and other clean-up."; } revision "1998-08-03" { description "Initial version of this MIB."; } smiv2:alias "ciscoHsrpMIB" { smiv2:oid "1.3.6.1.4.1.9.9.106"; } smiv2:alias "ciscoHsrpMIBObjects" { smiv2:oid "1.3.6.1.4.1.9.9.106.1"; } smiv2:alias "cHsrpGlobalConfig" { smiv2:oid "1.3.6.1.4.1.9.9.106.1.1"; } smiv2:alias "cHsrpGroup" { smiv2:oid "1.3.6.1.4.1.9.9.106.1.2"; } smiv2:alias "cHsrpMIBNotificationPrefix" { smiv2:oid "1.3.6.1.4.1.9.9.106.2"; } smiv2:alias "cHsrpMIBNotifications" { smiv2:oid "1.3.6.1.4.1.9.9.106.2.0"; } smiv2:alias "cHsrpConformance" { smiv2:oid "1.3.6.1.4.1.9.9.106.3"; } smiv2:alias "cHsrpCompliances" { smiv2:oid "1.3.6.1.4.1.9.9.106.3.1"; } smiv2:alias "cHsrpComplianceGroups" { smiv2:oid "1.3.6.1.4.1.9.9.106.3.2"; } typedef HsrpState { type enumeration { enum "initial" { value 1; } enum "learn" { value 2; } enum "listen" { value 3; } enum "speak" { value 4; } enum "standby" { value 5; } enum "active" { value 6; } } description "The current state of the HSRP protocol for a given HSRP group entry."; } container CISCO-HSRP-MIB { config false; container cHsrpGlobalConfig { smiv2:oid "1.3.6.1.4.1.9.9.106.1.1"; leaf cHsrpConfigTimeout { smiv2:defval "5"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.1.1"; type uint32 { range "1..60"; } units "minutes"; description "The amount of time in minutes a row in cHsrpGrpTable can remain in a state other than active before being timed out."; } } // container cHsrpGlobalConfig container cHsrpGrpTable { smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1"; description "A table containing information on each HSRP group for each interface."; list cHsrpGrpEntry { smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1"; key "ifIndex cHsrpGrpNumber"; description "Information about an HSRP group. Management applications use cHsrpGrpRowStatus to control entry modification, creation and deletion. Setting cHsrpGrpRowStatus to 'active' causes the router to communicate using HSRP. The value of cHsrpGrpRowStatus may be set to 'destroy' at any time. Entries may not be created via SNMP without explicitly setting cHsrpGrpRowStatus to either 'createAndGo' or 'createAndWait'. Entries can be created and modified via the management protocol or by the device's local management interface. A management application wishing to create an entry should choose the ifIndex of the interface which is to be added as part of an HSRP group. Also, a cHsrpGrpNumber should be chosen. A group number is unique only amongst the groups on a particular interface. The value of the group number appears in packets which are transmitted and received on a LAN segment to which the router is connected. The application must select the group number as explained in the description for cHsrpGrpNumber. 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."; leaf ifIndex { type leafref { path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; } } leaf cHsrpGrpNumber { smiv2:max-access "not-accessible"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.1"; type uint32 { range "0..255"; } description "This object along with the ifIndex of a particular interface uniquely identifies an HSRP group. Group numbers 0,1 and 2 are the only valid group numbers for TokenRing interfaces. For other media types, numbers range from 0 to 255. Each interface has its own set of group numbers. There's no relationship between the groups configured on different interfaces. Using a group number on one interface doesn't preclude using the same group number on a different interface. For example, there can be a group 1 on an Ethernet and a group 1 on Token Ring. More details can be found from RFC 2281."; } leaf cHsrpGrpAuth { smiv2:defval "cisco"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.2"; type snmpv2-tc:DisplayString { length "0..8"; } description "This is an unencrypted authentication string which is carried in all HSRP messages. An authentication string mismatch prevents a router interface from learning the designated IP address or HSRP timer values from other HSRP-enabled routers with the same group number. The function of this object is not to supply any sort of security-like authentication but rather to confirm that what's happening is what's intended. In other words, this is meant for sanity checking only."; } leaf cHsrpGrpPriority { smiv2:defval "100"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.3"; type uint32 { range "0..255"; } description "The cHsrpGrpPriority helps to select the active and the standby routers. The router with the highest priority is selected as the active router. In the priority range of 0 to 255, 0 is the lowest priority and 255 is the highest priority. If two (or more) routers in a group have the same priority, the one with the highest ip address of the interface is the active router. When the active router fails to send a Hello message within a configurable period of time, the standby router with the highest priority becomes the active router. A router with highest priority will only attempt to overthrow a lower priority active router if it is configured to preempt. But, if there is more than one router which is not active, the highest priority non-active router becomes the standby router."; } leaf cHsrpGrpPreempt { smiv2:defval "false"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.4"; type boolean; description "This object, if TRUE, indicates that the current router should attempt to overthrow a lower priority active router and attempt to become the active router. If this object is FALSE, the router will become the active router only if there is no such router (or if an active router fails)."; } leaf cHsrpGrpPreemptDelay { smiv2:defval "0"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.5"; type uint32 { range "0..3600"; } units "seconds"; description "This delay is the time difference between a router power up and the time it can actually start preempting the currently active router. When a router first comes up, it doesn't have a complete routing table. If it's configured to preempt, then it will become the Active router, but it will not be able to provide adequate routing services. The solution to this is to allow for a configurable delay before the router actually preempts the currently active router."; } leaf cHsrpGrpUseConfiguredTimers { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.6"; type boolean; description "HSRP routers learn a group's Hellotime or Holdtime from hello messages. The Hellotime is used to determine the frequency of generating hello messages when this router becomes the active or standby router. The Holdtime is the interval between the receipt of a Hello message and the presumption that the sending router has failed. If this object is TRUE, the cHsrpGrpConfiguredHelloTime and cHsrpGrpConfiguredHoldTime will be used. If it is FALSE, the Hellotime and Holdtime values are learned."; } leaf cHsrpGrpConfiguredHelloTime { smiv2:defval "3000"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.7"; type uint32; units "milliseconds"; description "If cHsrpGrpUseConfiguredTimers is true, cHsrpGrpConfiguredHelloTime is used when this router is an active router. Otherwise, the Hellotime learned from the current active router is used. All routers on a particular LAN segment must use the same Hellotime."; } leaf cHsrpGrpConfiguredHoldTime { smiv2:defval "10000"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.8"; type uint32; units "milliseconds"; description "If cHsrpGrpUseConfiguredTimers is true, cHsrpGrpConfiguredHoldTime is used when this router is an active router. Otherwise, the Holdtime learned from the current active router is used. All routers on a particular LAN segment should use the same Holdtime. Also, the Holdtime should be at least three times the value of the Hellotime and must be greater than the Hellotime."; } leaf cHsrpGrpLearnedHelloTime { smiv2:defval "3000"; smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.9"; type uint32; units "milliseconds"; description "If the Hellotime is not configured on a router, it can be learned from the Hello messages from active router, provided the Hello message is authenticated. If the Hellotime is not learned from a Hello message from the active router and it is not manually configured, a default value of 3 seconds is recommended."; } leaf cHsrpGrpLearnedHoldTime { smiv2:defval "10000"; smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.10"; type uint32; units "milliseconds"; description "If the Holdtime is not configured on a router, it can be learned from the Hello message from the active router. Holdtime should be learned only if the Hello message is authenticated. If the Holdtime is not learned and it is not manually configured, a default value of 10 seconds is recommended."; } leaf cHsrpGrpVirtualIpAddr { smiv2:defval "'00000000'H"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.11"; type inet:ipv4-address; description "This is the primary virtual IP address used by this group. If this address is configured (i.e a non zero ip address), this value is used. Otherwise, the agent will attempt to discover the virtual address through a discovery process (which scans the hello messages)."; } leaf cHsrpGrpUseConfigVirtualIpAddr { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.12"; type boolean; description "If this object is TRUE, cHsrpGrpVirtualIpAddr was a configured one. Otherwise, it indicates that cHsrpGrpVirtualIpAddr was a learned one."; } leaf cHsrpGrpActiveRouter { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.13"; type inet:ipv4-address; description "Ip Address of the currently active router for this group."; } leaf cHsrpGrpStandbyRouter { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.14"; type inet:ipv4-address; description "Ip Address of the currently standby router for this group."; } leaf cHsrpGrpStandbyState { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.15"; type HsrpState; description "The current HSRP state of this group on this interface."; } leaf cHsrpGrpVirtualMacAddr { smiv2:max-access "read-only"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.16"; type yang:mac-address; description "Mac Addresses used are as specified in RFC 2281. For ethernet and fddi interfaces, a MAC address will be in the range 00:00:0c:07:ac:00 through 00:00:0c:07:ac:ff. The last octet is the hexadecimal equivalent of cHsrpGrpNumber (0-255). Some Ethernet and FDDI interfaces allow a unicast MAC address for each HSRP group. Certain Ethernet chipsets(LANCE Ethernet, VGANYLAN and QUICC Ethernet) only support a single Unicast Mac Address. In this case, only one HSRP group is allowed. For TokenRing interfaces, the following three MAC addresses are permitted (functional addresses): C0:00:00:01:00:00 C0:00:00:02:00:00 C0:00:00:04:00:00."; } leaf cHsrpGrpEntryRowStatus { smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.17"; type snmpv2-tc:RowStatus; description "The control that allows modification, creation, and deletion of entries. For detailed rules see the DESCRIPTION for cHsrpGrpEntry."; } leaf cHsrpGrpIpNone { smiv2:defval "false"; smiv2:max-access "read-write"; smiv2:oid "1.3.6.1.4.1.9.9.106.1.2.1.1.18"; type boolean; description "This object specifies the disable HSRP IPv4 virtual IP address."; } } // list cHsrpGrpEntry } // container cHsrpGrpTable } // container CISCO-HSRP-MIB notification cHsrpStateChange { smiv2:oid "1.3.6.1.4.1.9.9.106.2.0.1"; description "A cHsrpStateChange notification is sent when a cHsrpGrpStandbyState transitions to either active or standby state, or leaves active or standby state. There will be only one notification issued when the state change is from standby to active and vice versa."; container object-1 { leaf ifIndex { type leafref { path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex"; } } leaf cHsrpGrpNumber { type leafref { path "/CISCO-HSRP-MIB:CISCO-HSRP-MIB/CISCO-HSRP-MIB:cHsrpGrpTable/CISCO-HSRP-MIB:cHsrpGrpEntry/CISCO-HSRP-MIB:cHsrpGrpNumber"; } } leaf cHsrpGrpStandbyState { type leafref { path "/CISCO-HSRP-MIB:CISCO-HSRP-MIB/CISCO-HSRP-MIB:cHsrpGrpTable/CISCO-HSRP-MIB:cHsrpGrpEntry/CISCO-HSRP-MIB:cHsrpGrpStandbyState"; } } } // container object-1 } // notification cHsrpStateChange } // module CISCO-HSRP-MIB
© 2023 YumaWorks, Inc. All rights reserved.