CISCO-HSRP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE,
IpAddress
FROM SNMPv2-SMI
Unsigned32
FROM CISCO-TC
TEXTUAL-CONVENTION,
DisplayString, TruthValue, RowStatus, MacAddress
FROM SNMPv2-TC
MODULE-COMPLIANCE,
OBJECT-GROUP
FROM SNMPv2-CONF
ifIndex
FROM IF-MIB
ciscoMgmt
FROM CISCO-SMI;
ciscoHsrpMIB 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 MIB module for managing the Hot Standby Router
Protocol (HSRP)."
::= { ciscoMgmt 106 }
HsrpState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The current state of the HSRP protocol for a given
HSRP group entry."
SYNTAX INTEGER {
initial(1),
learn(2),
listen(3),
speak(4),
standby(5),
active(6)
}
ciscoHsrpMIBObjects OBJECT IDENTIFIER ::= { ciscoHsrpMIB 1 }
cHsrpGlobalConfig OBJECT-GROUP
OBJECTS {
cHsrpConfigTimeout
}
STATUS current
DESCRIPTION
"."
::= { ciscoHsrpMIBObjects 1 }
cHsrpGroup OBJECT-GROUP
OBJECTS {
cHsrpGrpTable
}
STATUS current
DESCRIPTION
"."
::= { ciscoHsrpMIBObjects 2 }
cHsrpConfigTimeout OBJECT-TYPE
SYNTAX Unsigned32(1..60)
UNITS "minutes"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The amount of time in minutes a row in cHsrpGrpTable can
remain in a state other than active before being timed out."
DEFVAL { 5 }
::= { cHsrpGlobalConfig 1 }
cHsrpGrpTable OBJECT-TYPE
SYNTAX SEQUENCE OF CHsrpGrpEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table containing information on each HSRP group
for each interface."
::= { cHsrpGroup 1 }
cHsrpGrpEntry OBJECT-TYPE
SYNTAX CHsrpGrpEntry
MAX-ACCESS not-accessible
STATUS current
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."
INDEX { ifIndex, cHsrpGrpNumber }
::= { cHsrpGrpTable 1 }
CHsrpGrpEntry ::=
SEQUENCE {
cHsrpGrpNumber Unsigned32,
cHsrpGrpAuth DisplayString,
cHsrpGrpPriority Unsigned32,
cHsrpGrpPreempt TruthValue,
cHsrpGrpPreemptDelay Unsigned32,
cHsrpGrpUseConfiguredTimers TruthValue,
cHsrpGrpConfiguredHelloTime Unsigned32,
cHsrpGrpConfiguredHoldTime Unsigned32,
cHsrpGrpLearnedHelloTime Unsigned32,
cHsrpGrpLearnedHoldTime Unsigned32,
cHsrpGrpVirtualIpAddr IpAddress,
cHsrpGrpUseConfigVirtualIpAddr TruthValue,
cHsrpGrpActiveRouter IpAddress,
cHsrpGrpStandbyRouter IpAddress,
cHsrpGrpStandbyState HsrpState,
cHsrpGrpVirtualMacAddr MacAddress,
cHsrpGrpEntryRowStatus RowStatus
}
cHsrpGrpNumber OBJECT-TYPE
SYNTAX Unsigned32(0..255)
MAX-ACCESS not-accessible
STATUS current
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."
::= { cHsrpGrpEntry 1 }
cHsrpGrpAuth OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..8))
MAX-ACCESS read-create
STATUS current
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."
DEFVAL { "cisco" }
::= { cHsrpGrpEntry 2 }
cHsrpGrpPriority OBJECT-TYPE
SYNTAX Unsigned32(0..255)
MAX-ACCESS read-create
STATUS current
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."
DEFVAL { 100 }
::= { cHsrpGrpEntry 3 }
cHsrpGrpPreempt OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
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)."
DEFVAL { false }
::= { cHsrpGrpEntry 4 }
cHsrpGrpPreemptDelay OBJECT-TYPE
SYNTAX Unsigned32 (0..3600)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
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."
DEFVAL { 0 }
::= { cHsrpGrpEntry 5 }
cHsrpGrpUseConfiguredTimers OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
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."
::= { cHsrpGrpEntry 6 }
cHsrpGrpConfiguredHelloTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-create
STATUS current
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."
DEFVAL { 3000 }
::= { cHsrpGrpEntry 7 }
cHsrpGrpConfiguredHoldTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-create
STATUS current
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."
DEFVAL { 10000 }
::= { cHsrpGrpEntry 8 }
cHsrpGrpLearnedHelloTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-only
STATUS current
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."
DEFVAL { 3000 }
::= { cHsrpGrpEntry 9 }
cHsrpGrpLearnedHoldTime OBJECT-TYPE
SYNTAX Unsigned32
UNITS "milliseconds"
MAX-ACCESS read-only
STATUS current
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."
DEFVAL { 10000 }
::= { cHsrpGrpEntry 10 }
cHsrpGrpVirtualIpAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
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)."
DEFVAL { '00000000'H }
::= { cHsrpGrpEntry 11 }
cHsrpGrpUseConfigVirtualIpAddr OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If this object is TRUE, cHsrpGrpVirtualIpAddr was a
configured one. Otherwise, it indicates that
cHsrpGrpVirtualIpAddr was a learned one."
::= { cHsrpGrpEntry 12 }
cHsrpGrpActiveRouter OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Ip Address of the currently active router for this group."
::= { cHsrpGrpEntry 13 }
cHsrpGrpStandbyRouter OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Ip Address of the currently standby router for this group."
::= { cHsrpGrpEntry 14 }
cHsrpGrpStandbyState OBJECT-TYPE
SYNTAX HsrpState
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current HSRP state of this group on this interface."
::= { cHsrpGrpEntry 15 }
cHsrpGrpVirtualMacAddr OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
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."
::= { cHsrpGrpEntry 16 }
cHsrpGrpEntryRowStatus 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
cHsrpGrpEntry."
::= {cHsrpGrpEntry 17 }
cHsrpMIBNotificationPrefix OBJECT IDENTIFIER ::= {ciscoHsrpMIB 2 }
cHsrpMIBNotifications OBJECT IDENTIFIER ::= {cHsrpMIBNotificationPrefix 0 }
cHsrpStateChange NOTIFICATION-TYPE
OBJECTS { cHsrpGrpStandbyState }
STATUS current
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."
::= { cHsrpMIBNotifications 1 }
cHsrpConformance OBJECT IDENTIFIER ::= { ciscoHsrpMIB 3 }
cHsrpCompliances OBJECT IDENTIFIER ::= { cHsrpConformance 1 }
cHsrpComplianceGroups OBJECT IDENTIFIER ::= { cHsrpConformance 2 }
cHsrpCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for all hosts implementing the
CISCO-HSRP-MIB."
MODULE MANDATORY-GROUPS {
cHsrpConfigGroup,
cHsrpGrpGroup
}
::= { cHsrpCompliances 1 }
cHsrpConfigGroup OBJECT-GROUP
OBJECTS {
cHsrpConfigTimeout
}
STATUS current
DESCRIPTION
"The collection of objects used to set global configuration
objects for the HSRP MIB."
::= { cHsrpComplianceGroups 1 }
cHsrpGrpGroup OBJECT-GROUP
OBJECTS {
cHsrpGrpAuth,
cHsrpGrpPriority,
cHsrpGrpPreempt,
cHsrpGrpPreemptDelay,
cHsrpGrpUseConfiguredTimers,
cHsrpGrpConfiguredHelloTime,
cHsrpGrpConfiguredHoldTime,
cHsrpGrpLearnedHelloTime,
cHsrpGrpLearnedHoldTime,
cHsrpGrpVirtualIpAddr,
cHsrpGrpUseConfigVirtualIpAddr,
cHsrpGrpActiveRouter,
cHsrpGrpStandbyRouter,
cHsrpGrpStandbyState,
cHsrpGrpVirtualMacAddr,
cHsrpGrpEntryRowStatus
}
STATUS current
DESCRIPTION
"The collection of objects used to add, delete and retrieve
information about HSRP groups."
::= { cHsrpComplianceGroups 2 }
END