Configuring HSRP and Enhanced Object Tracking


This chapter describes how to use Hot Standby Router Protocol (HSRP) on the switch to provide routing redundancy for routing IP traffic not dependent on the availability of any single router. It also provides information about configuring enhanced object tracking that enhances the HSRP tracking mechanism.


Note For complete syntax and usage information for the commands used in this chapter, see the switch command reference for this release and the Cisco IOS IP Command Reference, Volume 1 of 3: Addressing and Services, Release 12.2 from the Cisco.com page under Documentation > Cisco IOS Software > 12.2 Mainline > Command References.


This chapter consists of these sections:

Understanding HSRP

Configuring HSRP

Displaying HSRP Configurations

Configuring Enhanced Object Tracking

Understanding HSRP

HSRP is Cisco's standard method of providing high network availability by providing first-hop redundancy for IP hosts on an IEEE 802 LAN configured with a default gateway IP address. HSRP routes IP traffic without relying on the availability of any single router. It enables a set of router interfaces to work together to present the appearance of a single virtual router or default gateway to the hosts on a LAN. When HSRP is configured on a network or segment, it provides a virtual Media Access Control (MAC) address and an IP address that is shared among a group of configured routers. HSRP allows two or more HSRP-configured routers to use the MAC address and IP network address of a virtual router. The virtual router does not exist; it represents the common target for routers that are configured to provide backup to each other. One of the routers is selected to be the active router and another to be the standby router, which assumes control of the group MAC address and IP address should the designated active router fail.


Note Routers in an HSRP group can be any router interface that supports HSRP, including routed ports and switch virtual interfaces (SVIs).


HSRP provides high network availability by providing redundancy for IP traffic from hosts on networks. In a group of router interfaces, the active router is the router of choice for routing packets; the standby router is the router that takes over the routing duties when an active router fails or when preset conditions are met.

HSRP is useful for hosts that do not support a router discovery protocol and cannot switch to a new router when their selected router reloads or loses power. When HSRP is configured on a network segment, it provides a virtual MAC address and an IP address that is shared among router interfaces in a group of router interfaces running HSRP. The router selected by the protocol to be the active router receives and routes packets destined for the group's MAC address. For n routers running HSRP, there are n +1 IP and MAC addresses assigned.

HSRP detects when the designated active router fails, and a selected standby router assumes control of the Hot Standby group's MAC and IP addresses. A new standby router is also selected at that time. Devices running HSRP send and receive multicast UDP-based hello packets to detect router failure and to designate active and standby routers. When HSRP is configured on an interface, Internet Control Message Protocol (ICMP) redirect messages are disabled by default for the interface.

You can configure multiple Hot Standby groups among switches that are operating in Layer 3 to make more use of the redundant routers. To do so, specify a group number for each Hot Standby command group you configure for an interface. For example, you might configure an interface on switch 1 as an active router and one on switch 2 as a standby router and also configure another interface on switch 2 as an active router with another interface on switch 1 as its standby router.

Figure 39-1 shows a segment of a network configured for HSRP. Each router is configured with the MAC address and IP network address of the virtual router. Instead of configuring hosts on the network with the IP address of Router A, you configure them with the IP address of the virtual router as their default router. When Host C sends packets to Host B, it sends them to the MAC address of the virtual router. If for any reason, Router A stops transferring packets, Router B responds to the virtual IP address and virtual MAC address and becomes the active router, assuming the active router duties. Host C continues to use the IP address of the virtual router to address packets destined for Host B, which Router B now receives and sends to Host B. Until Router A resumes operation, HSRP allows Router B to provide uninterrupted service to users on Host C's segment that need to communicate with users on Host B's segment and also continues to perform its normal function of handling packets between the Host A segment and Host B.

Figure 39-1 Typical HSRP Configuration

HSRP Versions

Cisco IOS Release 12.2(46)SE and later support these Hot Standby Router Protocol (HSRP) versions:

HSRPv1—Version 1 of the HSRP, the default version of HSRP. It has these features:

The HSRP group number can be from 0 to 255.

HSRPv1 uses the multicast address 224.0.0.2 to send hello packets, which can conflict with Cisco Group Management Protocol (CGMP) leave processing. You cannot enable HSRPv1 and CGMP at the same time; they are mutually exclusive.

HSRPv2—Version 2 of the HSRP has these features:

To match the HSRP group number to the VLAN ID of a subinterface, HSRPv2 can use a group number from 0 to 4095 and a MAC address from 0000.0C9F.F000 to 0000.0C9F.FFFF.

HSRPv2 uses the multicast address 224.0.0.102 to send hello packets. HSRPv2 and CGMP leave processing are no longer mutually exclusive, and both can be enabled at the same time.

HSRPv2 has a different packet format than HRSPv1.

A switch running HSRPv1 cannot identify the physical router that sent a hello packet because the source MAC address of the router is the virtual MAC address.

HSRPv2 has a different packet format than HSRPv1. A HSRPv2 packet uses the type-length-value (TLV) format and has a 6-byte identifier field with the MAC address of the physical router that sent the packet.

If an interface running HSRPv1 gets an HSRPv2 packet, the type field is ignored.

HSRPv2 and HSRPv1 are mutually exclusive. HSRPv2 is not interoperable with HSRPv1 on an interface and the reverse.

Multiple HSRP

The switch also supports Multiple HSRP (MHSRP), an extension of HSRP that allows load sharing between two or more HSRP groups. You can configure MHSRP to achieve load balancing and to use two or more standby groups (and paths) from a host network to a server network. In Figure 39-2, half the clients are configured for Router A, and half the clients are configured for Router B. Together, the configuration for Routers A and B establishes two HSRP groups. For group 1, Router A is the default active router because it has the assigned highest priority, and Router B is the standby router. For group 2, Router B is the default active router because it has the assigned highest priority, and Router A is the standby router. During normal operation, the two routers share the IP traffic load. When either router becomes unavailable, the other router becomes active and assumes the packet-transfer functions of the router that is unavailable.

See the "Configuring MHSRP" section for the example configuration steps.


Note For MHSRP, you need to enter the standby preempt interface configuration command on the HSRP interfaces so that if a router fails and then comes back up, preemption restores load sharing.


Figure 39-2 MHSRP Load Sharing

Configuring HSRP

These sections contain this configuration information:

Default HSRP Configuration

HSRP Configuration Guidelines

Enabling HSRP

Configuring HSRP Priority

Configuring MHSRP

Configuring HSRP Authentication and Timers

Enabling HSRP Support for ICMP Redirect Messages

Default HSRP Configuration

Table 39-1 shows the default HSRP configuration.

Table 39-1 Default HSRP Configuration

Feature
Default Setting

HSRP version

Version 1

HSRP groups

None configured

Standby group number

0

Standby MAC address

System assigned as: 0000.0c07.acXX, where XX is the HSRP group number

Standby priority

100

Standby delay

0 (no delay)

Standby track interface priority

10

Standby hello time

3 seconds

Standby holdtime

10 seconds


HSRP Configuration Guidelines

Follow these guidelines when configuring HSRP:

HSRP can be configured on a maximum of 32 VLAN or routing interfaces.

In the procedures, the specified interface must be one of these Layer 3 interfaces:

Routed port: a physical port configured as a Layer 3 port by entering the no switchport interface configuration command.

SVI: a VLAN interface created by using the interface vlan vlan_id global configuration command and by default a Layer 3 interface.

Etherchannel port channel in Layer 3 mode: a port-channel logical interface created by using the interface port-channel port-channel-number global configuration command and binding the Ethernet interface into the channel group. For more information, see the "Configuring Layer 3 EtherChannels" section on page 34-13.

All Layer 3 interfaces must have IP addresses assigned to them. See the "Configuring Layer 3 Interfaces" section on page 10-21.

HSRPv2 and HSRPv1 can be configured on the same switch if HSRPv2 is configured on different interfaces than those on which HSRPv1 is configured.

The version of an HSRP group can be changed from HSRPv2 to HSRPv1 only if the group number is less than 256.

If you change the HSRP version on an interface, each HSRP group resets because it now has a new virtual MAC address.

Enabling HSRP

The standby ip interface configuration command activates HSRP on the configured interface. If an IP address is specified, that address is used as the designated address for the Hot Standby group. If no IP address is specified, the address is learned through the standby function. You must configure at least one Layer 3 port on the LAN with the designated address. Configuring an IP address always overrides another designated address currently in use.

When the standby ip command is enabled on an interface and proxy ARP is enabled, if the interface's Hot Standby state is active, proxy ARP requests are answered using the Hot Standby group MAC address. If the interface is in a different state, proxy ARP responses are suppressed.

Beginning in privileged EXEC mode, follow these steps to create or enable HSRP on a Layer 3 interface:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

interface interface-id

Enter interface configuration mode, and enter the Layer 3 interface on which you want to enable HSRP.

Step 3 

standby version {1 | 2}

(Optional) Configure the HSRP version on the interface.

1— Select HSRPv1.

2— Select HSRPv2.

If you do not enter this command or do not specify a keyword, the interface runs the default HSRP version, HSRP v1.

Step 4 

standby [group-number] ip [ip-address [secondary]]

Create (or enable) the HSRP group using its number and virtual IP address.

(Optional) group-number—The group number on the interface for which HSRP is being enabled. The range is 0 to 255; the default is 0. If there is only one HSRP group, you do not need to enter a group number.

(Optional on all but one interface) ip-address—The virtual IP address of the hot standby router interface. You must enter the virtual IP address for at least one of the interfaces; it can be learned on the other interfaces.

(Optional) secondary—The IP address is a secondary hot standby router interface. If neither router is designated as a secondary or standby router and no priorities are set, the primary IP addresses are compared and the higher IP address is the active router, with the next highest as the standby router.

Step 5 

end

Return to privileged EXEC mode.

Step 6 

show standby [interface-id [group]]

Verify the configuration.

Step 7 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no standby [group-number] ip [ip-address] interface configuration command to disable HSRP.

This example shows how to activate HSRP for group 1 on a port. The IP address used by the hot standby group is learned by using HSRP.


Note This procedure is the minimum number of steps required to enable HSRP. Other configuration is optional.


Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip
Switch(config-if)# end
Switch# show standby

Configuring HSRP Priority

The standby priority, standby preempt, and standby track interface configuration commands are all used to set characteristics for finding active and standby routers and behavior regarding when a new active router takes over.

When configuring HSRP priority, follow these guidelines:

Assigning priority helps select the active and standby routers. If preemption is enabled, the router with the highest priority becomes the designated active router. If priorities are equal, the primary IP addresses are compared, and the higher IP address has priority.

The highest number (1 to 255) represents the highest priority (most likely to become the active router).

When setting the priority, preempt, or both, you must specify at least one keyword (priority, preempt, or both).

The priority of the device can change dynamically if an interface is configured with the standby track command and another interface on the router goes down.

The standby track interface configuration command ties the router hot standby priority to the availability of its interfaces and is useful for tracking interfaces that are not configured for HSRP. When a tracked interface fails, the hot standby priority on the device on which tracking has been configured decreases by 10. If an interface is not tracked, its state changes do not affect the hot standby priority of the configured device. For each interface configured for hot standby, you can configure a separate list of interfaces to be tracked.

The standby track interface-priority interface configuration command specifies how much to decrement the hot standby priority when a tracked interface goes down. When the interface comes back up, the priority is incremented by the same amount.

When multiple tracked interfaces are down and interface-priority values have been configured, the configured priority decrements are cumulative. If tracked interfaces that were not configured with priority values fail, the default decrement is 10, and it is noncumulative.

When routing is first enabled for the interface, it does not have a complete routing table. If it is configured to preempt, it becomes the active router, even though it is unable to provide adequate routing services. To solve this problem, configure a delay time to allow the router to update its routing table.

Beginning in privileged EXEC mode, use one or more of these steps to configure HSRP priority characteristics on an interface:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

interface interface-id

Enter interface configuration mode, and enter the HSRP interface on which you want to set priority.

Step 3 

standby [group-number] priority priority [preempt [delay delay]]

Set a priority value used in choosing the active router. The range is 1 to 255; the default priority is 100. The highest number represents the highest priority.

(Optional) group-number—The group number to which the command applies.

(Optional) preempt—Select so that when the local router has a higher priority than the active router, it assumes control as the active router.

(Optional) delay—Set to cause the local router to postpone taking over the active role for the shown number of seconds. The range is 0 to 3600(1 hour); the default is 0 (no delay before taking over).

Use the no form of the command to restore the default values.

Step 4 

standby [group-number] [priority priority] preempt [delay delay]

Configure the router to preempt, which means that when the local router has a higher priority than the active router, it assumes control as the active router.

(Optional) group-number—The group number to which the command applies.

(Optional) priority—Enter to set or change the group priority. The range is 1 to 255; the default is 100.

(Optional) delay—Set to cause the local router to postpone taking over the active role for the number of seconds shown. The range is 0 to 3600 (1 hour); the default is 0 (no delay before taking over).

Use the no form of the command to restore the default values.

Step 5 

standby [group-number] track type number [interface-priority]

Configure an interface to track other interfaces so that if one of the other interfaces goes down, the device's Hot Standby priority is lowered.

(Optional) group-number—The group number to which the command applies.

type—Enter the interface type (combined with interface number) that is tracked.

number—Enter the interface number (combined with interface type) that is tracked.

(Optional) interface-priority—Enter the amount by which the hot standby priority for the router is decremented or incremented when the interface goes down or comes back up. The default value is 10.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show running-config

Verify the configuration of the standby groups.

Step 8 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no standby [group-number] priority priority [preempt [delay delay]] and no standby [group-number] [priority priority] preempt [delay delay] interface configuration commands to restore default priority, preempt, and delay values.

Use the no standby [group-number] track type number [interface-priority] interface configuration command to remove the tracking.

This example activates a port, sets an IP address and a priority of 120 (higher than the default value), and waits for 300 seconds (5 minutes) before attempting to become the active router:

Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby ip 172.20.128.3
Switch(config-if)# standby priority 120 preempt delay 300
Switch(config-if)# end

Configuring MHSRP

To enable MHSRP and load balancing, you configure two routers as active routers for their groups, with virtual routers as standby routers. This example shows how to enable the MHSRP configuration shown in Figure 39-2. You need to enter the standby preempt interface configuration command on each HSRP interface so that if a router fails and comes back up, the preemption occurs and restores load balancing.

Router A is configured as the active router for group 1, and Router B is configured as the active router for group 2. The HSRP interface for Router A has an IP address of 10.0.0.1 with a group 1 standby priority of 110 (the default is 100). The HSRP interface for Router B has an IP address of 10.0.0.2 with a group 2 standby priority of 110.

Group 1 uses a virtual IP address of 10.0.0.3 and group 2 uses a virtual IP address of 10.0.0.4.

Router A Configuration

Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.0.1 255.255.255.0
Switch(config-if)# standby 1 ip 10.0.0.3
Switch(config-if)# standby 1 priority 110 
Switch(config-if)# standby 1 preempt 
Switch(config-if)# standby 2 ip 10.0.0.4
Switch(config-if)# standby 2 preempt 
Switch(config-if)# end

Router B Configuration

Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.0.2 255.255.255.0
Switch(config-if)# standby 1 ip 10.0.0.3
Switch(config-if)# standby 1 preempt 
Switch(config-if)# standby 2 ip 10.0.0.4
Switch(config-if)# standby 2 priority 110 
Switch(config-if)# standby 2 preempt 
Switch(config-if)# end

Configuring HSRP Authentication and Timers

You can optionally configure an HSRP authentication string or change the hello-time interval and holdtime.

When configuring these attributes, follow these guidelines:

The authentication string is sent unencrypted in all HSRP messages. You must configure the same authentication string on all routers and access servers on a cable to ensure interoperation. Authentication mismatch prevents a device from learning the designated Hot Standby IP address and timer values from other routers configured with HSRP.

Routers or access servers on which standby timer values are not configured can learn timer values from the active or standby router. The timers configured on an active router always override any other timer settings.

All routers in a Hot Standby group should use the same timer values. Normally, the holdtime is greater than or equal to 3 times the hellotime.

Beginning in privileged EXEC mode, use one or more of these steps to configure HSRP authentication and timers on an interface:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

interface interface-id

Enter interface configuration mode, and enter the HSRP interface on which you want to set authentication.

Step 3 

standby [group-number] authentication string

(Optional) authentication string—Enter a string to be carried in all HSRP messages. The authentication string can be up to eight characters in length; the default string is cisco.

(Optional) group-number—The group number to which the command applies.

Step 4 

standby [group-number] timers hellotime holdtime

(Optional) Configure the time between hello packets and the time before other routers declare the active router to be down.

group-number—The group number to which the command applies.

hellotime—The hello interval in seconds. The range is from 1 to 255; the default is 3 seconds.

holdtime—The time in seconds before the active or standby router is declared to be down. The range is from 1 to 255; the default is 10 seconds.

Step 5 

end

Return to privileged EXEC mode.

Step 6 

show running-config

Verify the configuration of the standby groups.

Step 7 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no standby [group-number] authentication string interface configuration command to delete an authentication string. Use the no standby [group-number] timers hellotime holdtime interface configuration command to restore timers to their default values.

This example shows how to configure word as the authentication string required to allow Hot Standby routers in group 1 to interoperate:

Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 authentication word
Switch(config-if)# end

This example shows how to set the timers on standby group 1 with the time between hello packets at 5 seconds and the time after which a router is considered down to be 15 seconds:

Switch# configure terminal
Switch(config)# interface gigabitethernet0/1
Switch(config-if)# no switchport
Switch(config-if)# standby 1 ip 
Switch(config-if)# standby 1 timers 5 15
Switch(config-if)# end

Enabling HSRP Support for ICMP Redirect Messages

ICMP (Internet Control Message Protocol) is a network layer Internet protocol that provides message packets to report errors and other information relevant to IP processing. ICMP provides diagnostic functions, such as sending and directing error packets to the host.

When the switch is running HSRP, make sure hosts do not discover the interface (or real) MAC addresses of routers in the HSRP group. If a host is redirected by ICMP to the real MAC address of a router and that router later fails, packets from the host will be lost.

ICMP redirect messages are automatically enabled on interfaces configured with HSRP. This feature filters outgoing ICMP redirect messages through HSRP, in which the next hop IP address might be changed to an HSRP virtual IP address. For more information, see the Cisco IOS IP Configuration Guide, Release 12.2.

Displaying HSRP Configurations

From privileged EXEC mode, use this command to display HSRP settings:

show standby [interface-id [group]] [brief] [detail]

You can display HSRP information for the whole switch, for a specific interface, for an HSRP group, or for an HSRP group on an interface. You can also specify whether to display a concise overview of HSRP information or detailed HSRP information. The default display is detail. If there are a large number of HSRP groups, using the show standby command without qualifiers can result in an unwieldy display.

This is a an example of output from the show standby privileged EXEC command, displaying HSRP information for two standby groups (group 1 and group 100):

Switch# show standby 
VLAN1 - Group 1
   Local state is Standby, priority 105, may preempt
   Hellotime 3 holdtime 10
   Next hello sent in 00:00:02.182
   Hot standby IP address is 172.20.128.3 configured
   Active router is 172.20.128.1 expires in 00:00:09
   Standby router is local
   Standby virtual mac address is 0000.0c07.ac01
   Name is bbb
VLAN1 - Group 100
   Local state is Active, priority 105, may preempt
   Hellotime 3 holdtime 10
   Next hello sent in 00:00:02.262
   Hot standby IP address is 172.20.138.51 configured
   Active router is local
   Standby router is unknown expired
   Standby virtual mac address is 0000.0c07.ac64
   Name is test

Configuring Enhanced Object Tracking

HSRP has a mechanism for tracking the interface line-protocol state. The enhanced object tracking feature separates the tracking mechanism from HSRP. It creates a separate, standalone tracking process that can be used by processes other than HSRP. This feature allows tracking of other objects in addition to the interface line-protocol state. A client process, such as HSRP, can register an interest in tracking objects and request notification when the tracked object changes state. Several clients can track the same object, and can take different actions when the object changes state. This feature increases the availability and speed of recovery of a router system and decreases outages and outage duration.

For more information about enhanced object tracking and the commands used to configure it, see this URL:

http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a00801541be.html

This section includes this information:

Understanding Enhanced Object Tracking

Configuring Enhanced Object Tracking Features

Monitoring Enhanced Object Tracking

Understanding Enhanced Object Tracking

Each tracked object has a unique number that is specified on the tracking command-line interface (CLI). Client processes use this number to track a specific object. The tracking process periodically polls the tracked object for value changes and sends any changes (as up or down values) to interested client processes, either immediately or after a specified delay.

You can also track a combination of objects in a list by using either a weight threshold or a percentage threshold to measure the state of the list. You can combine objects using Boolean logic. A tracked list with a Boolean "AND" function requires that each object in the list be in an up state for the tracked object to be up. A tracked list with a Boolean "OR" function needs only one object in the list to be in the up state for the tracked object to be up.

Configuring Enhanced Object Tracking Features

These sections describe configuring enhanced object tracking:

Tracking Interface Line-Protocol or IP Routing State

Configuring a Tracked List

Configuring HSRP Object Tracking

Configuring Other Tracking Characteristics

Tracking Interface Line-Protocol or IP Routing State

You can track either the interface line protocol state or the interface IP routing state. When you track the IP routing state, for the object to be up, IP routing must be enabled and active on the interface, the interface line protocol state must be up, and the interface IP address must be known. All three of these conditions must met; otherwise, the IP routing state is down.

Beginning in privileged EXEC mode, follow these steps to track the line-protocol state or IP routing state of an interface:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

track object-number interface interface-id line-protocol

(Optional) Create a tracking list to track the line-protocol state of an interface and enter tracking configuration mode.

The object-number identifies the tracked object and can be from 1 to 500.

The interface interface-id is the interface being tracked.

Step 3 

delay {up seconds [down seconds] | [up seconds] down seconds}

(Optional) Specify a period of time in seconds to delay communicating state changes of a tracked object. The range is from 1 to 180 seconds.

Step 4 

exit

Return to global configuration mode.

Step 5 

track object-number interface interface-id ip routing

(Optional) Create a tracking list to track the IP routing state of an interface, and enter tracking configuration mode. IP-route tracking tracks an IP route in the routing table and the ability of an interface to route IP packets.

The object-number identifies the tracked object and can be from 1 to 500.

The interface interface-id is the interface being tracked.

Step 6 

delay {up seconds [down seconds] | [up seconds] down seconds}

(Optional) Specify a period of time in seconds to delay communicating state changes of a tracked object. The range is from 1 to 180 seconds.

Step 7 

end

Return to privileged EXEC mode.

Step 8 

show track object-number

Verify that the specified objects are being tracked.

Step 9 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

This example configures the tracking of an interface line-protocol state and verifies the configuration:

Switch(config)# track 33 interface gigabitethernet0/1 line-protocol
Switch(config-track)# end
Switch# show track 33
Track 33
  Interface GigabitEthernet0/1 line-protocol
  Line protocol is Down (hw down)
    1 change, last change 00:18:28

Configuring a Tracked List

You can configure a tracked list of objects with a Boolean expression, a weight threshold, or a percentage threshold. A tracked list contains one or more objects. An object must exist before it can be added to the tracked list.

You configure a Boolean expression to specify calculation by using either "AND" or "OR" operators. For example, when tracking multiple interfaces using the "AND" operator, up means that all interfaces are up and down means that at least one interface is down.

When you measure the tracked list state by a weight threshold, you assign a weight number to each object in the tracked list. The state of the tracked list is determined by whether or not the threshold was met. The state of each object is determined by comparing the total weight of all objects against a threshold weight for each object.

When you measure the tracked list by a percentage threshold, you assign a percentage threshold to all objects in the tracked list. The state of each object is determined by comparing the assigned percentages of each object to the list.

Boolean Expression

Configuring a tracked list with a Boolean expression enables calculation by using either "AND" or "OR" operators. For example, when tracking two interfaces using the "AND" operator, up means that both interfaces are up, and down means that either interface is down.

Beginning in privileged EXEC mode, follow these steps to configure a tracked list of objects with a Boolean expression:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

track track-number list boolean {and | or}

Configure a tracked list object, and enter tracking configuration mode. The track-number can be from 1 to 500.

boolean—Specify the state of the tracked list based on a Boolean calculation.

and—Specify that the list is up if all objects are up or down if one or more objects are down.

or—Specify that the list is up if one object is up or down if all objects are down.

Step 3 

object object-number [not]

Specify the object to be tracked. The range is from 1 to 500. The keyword not negates the state of the object, which means that when the object is up, the tracked list detects the object as down.

Note An object must exist before you can add it to a tracked list.

Step 4 

delay {up seconds [down seconds] | [up seconds] down seconds}

(Optional) Specify a period of time in seconds to delay communicating state changes of a tracked object. The range is from 1 to 180 seconds.

Step 5 

end

Return to privileged EXEC mode.

Step 6 

show track object-number

Verify that the specified objects are being tracked.

Step 7 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no track track-number global configuration command to delete the tracked list.

This example configures track list 4 with a Boolean AND expression that contains two objects with one object state negated. If the list is up, the list detects that object 2 is down:

Switch(config)# track 4 list boolean and
Switch(config-track)# object 1
Switch(config-track)# object 2 not
Switch(config-track)# exit

Weight Threshold

To track by weight threshold, configure a tracked list of objects, specify that weight is used as the threshold, and configure a weight for each of its objects. The state of each object is determined by comparing the total weight of all objects that are up against a threshold weight for each object.

You cannot use the Boolean "NOT" operator in a weight threshold list.

Beginning in privileged EXEC mode, follow these steps to configure a tracked list of objects by using a weight threshold and to configure a weight for each object:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

track track-number list threshold weight

Configure a tracked list object and enter tracking configuration mode. The track-number can be from 1 to 500.

threshold—Specify the state of the tracked list based on a threshold.

weight—Specify that the threshold is based on weight.

Step 3 

object object-number [weight weight-number]

Specify the object to be tracked. The range is from 1 to 500. The optional weight weight-number specifies a threshold weight for the object. The range is from 1 to 255.

Note An object must exist before you can add it to a tracked list.

Step 4 

threshold weight {up number | [down number]}

Specify the threshold weight.

up number—The valid range is from 1 to 255.

down number—(Optional) The range depends on the number selected for the up number. If you configure the up number as 25, the range shown for the down number is 0 to 24.

Step 5 

delay {up seconds [down seconds] | [up seconds] down seconds}

(Optional) Specify a period of time in seconds to delay communicating state changes of a tracked object. The range is from 1 to 180 seconds.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show track object-number

Verify that the specified objects are being tracked.

Step 8 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no track track-number global configuration command to delete the tracked list.

The example configures track list 4 to track by weight threshold. If object 1, and object 2 are down, then track list 4 is up, because object 3 satisfies the up threshold value of up 30. But, if object 3 is down, both objects 1 and 2 must be up in order to satisfy the threshold weight.

Switch(config)# track 4 list threshold weight
Switch(config-track)# object 1 weight 15
Switch(config-track)# object 2 weight 20
Switch(config-track)# object 3 weight 30
Switch(config-track)# threshold weight up 30 down 10
Switch(config-track)# exit

This configuration can be useful if object 1 and object 2 represent two small bandwidth connections and object 3 represents one large bandwidth connection. The configured down 10 value means that once the tracked object is up, it will not go down until the threshold value is equal to or lower than 10, which in this example means that all connections are down.

Percentage Threshold

To track by percentage threshold, configure a tracked list of objects, specify that a percentage will be used as the threshold, and specify a percentage for all objects in the list. The state of the list is determined by comparing the assigned percentage of each object to the list.

You cannot use the Boolean "NOT" operator in a percentage threshold list.

Beginning in privileged EXEC mode, follow these steps to configure a tracked list of objects by using a percentage threshold:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

track track-number list threshold percentage

Configure a tracked list object and enter tracking configuration mode. The track-number can be from 1 to 500.

threshold—Specify the state of the tracked list based on a threshold.

percentage—Specify that the threshold is based on percentage.

Step 3 

object object-number

Specify the object to be tracked. The range is from 1 to 500.

Note An object must exist before you can add it to a tracked list.

Step 4 

threshold percentage {up number | [down number]}

Specify the threshold percentage.

up number—The valid range is from 1 to 100.

down number]—(Optional) The range depends on the number selected for the up number. If you configure the up number as 25, the range shown for the down number is 0 to 24.

Step 5 

delay {up seconds [down seconds] | [up seconds] down seconds}

(Optional) Specify a period of time in seconds to delay communicating state changes of a tracked object. The range is from 1 to 180 seconds.

Step 6 

end

Return to privileged EXEC mode.

Step 7 

show track object-number

Verify that the specified objects are being tracked.

Step 8 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Use the no track track-number global configuration command to delete the tracked list.

This example configures tracked list 4 with three objects and a specified percentages to measure the state of the list:

Switch(config)# track 4 list threshold percentage
Switch(config-track)# object 1 
Switch(config-track)# object 2 
Switch(config-track)# object 3 
Switch(config-track)# threshold percentage up 51 down 10
Switch(config-track)# exit

Configuring HSRP Object Tracking

Beginning in privileged EXEC mode, follow these steps to configure a standby HSRP group to track an object and change the HSRP priority based on the object state:

 
Command
Purpose

Step 1 

configure terminal

Enter global configuration mode.

Step 2 

track object-number {interface interface-id {line-protocol | ip routing} | ip route ip-address/prefix-length {metric threshold | reachability} | list {boolean {and | or}} | {threshold {weight | percentage}}}

(Optional) Create a tracking list to track the configured state and enter tracking configuration mode.

Note Although visible in the command-line help, the rtr keyword is not supported.

The object-number range is from 1 to 500.

Enter interface interface-id to select an interface to track.

Enter line-protocol to track the interface line protocol state.

Enter ip routing to track the interface IP routing state.

Enter ip route ip-address/prefix-length to track the state of an IP route.

Enter metric threshold to track the threshold metric. The default up threshold is 254 and the default down threshold is 255.

Enter reachability to track if the route is reachable.

Enter list to track objects grouped in a list. Configure the list as described on the previous pages.

For boolean, see the "Boolean Expression" section

For threshold weight, see the "Weight Threshold" section

For threshold percentage, see the "Percentage Threshold" section

Note Repeat this step for each interface to be tracked.

Step 3 

exit

Return to global configuration mode.

Step 4 

interface interface-id

Enter interface configuration mode.

Step 5 

standby [group-number] ip [ip-address [secondary]]

Create (or enable) the HSRP group by using its number and virtual IP address.

(Optional) group-number—The group number on the interface for which HSRP is being enabled. The range is 0 to 255; the default is 0. If there is only one HSRP group, you do not need to enter a group number.

(Optional on all but one interface) ip-address—The virtual IP address of the hot standby router interface. You must enter the virtual IP address for at least one of the interfaces; it can be learned on the other interfaces.

(Optional) secondary—The IP address is a secondary hot standby router interface. If this keyword is omitted, the configured address is the primary IP address.

Step 6 

standby [group-number] track object-number [decrement [priority-decrement]]

Configure HSRP to track an object and change the hot standby priority based on the state of the object.

(Optional) group-number—The group number to which the tracking applies.

object-number—Number representing the object to be tracked. The range is from 1 to 500; the default is 1.

(Optional) decrement priority-decrement—Amount by which the hot standby priority for the router is decremented (or incremented) when the tracked object goes down (or comes back up). The range is from 1 to 255; the default is 10.

Step 7 

end

Return to privileged EXEC mode.

Step 8 

show standby

Verify the standby router IP address and tracking states.

Step 9 

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Configuring Other Tracking Characteristics

You can also use the enhanced object tracking for tracking other characteristics.

You can track the reachability of an IP route by using the track ip route reachability global configuration command.

You can use the track ip route metric threshold global configuration command to determine if a route is above or below threshold.

You can use the track resolution global configuration command to change the metric resolution default values for routing protocols.

You can use the track timer tracking configuration command to configure the tracking process to periodically poll tracked objects.

Use the show track privileged EXEC command to verify enhanced object tracking configuration.

For more information about enhanced object tracking and the commands used to configure it, see this URL:

http://www.cisco.com/en/US/products/sw/iosswrel/ps1839/products_feature_guide09186a00801541be.html

Monitoring Enhanced Object Tracking

Use the privileged EXEC or User EXEC commands in Table 39-2 to display enhanced object tracking information.

Table 39-2 Commands for Displaying Tracking Information  

Command
Purpose

show track [object-number]

Display information about the all tracking lists or the specified list.

show track brief

Display a single line of tracking information output.

show track interface [brief]

Display information about tracked interface objects.

show track ip [object-number] [brief] route

Display information about tracked IP-route objects.

show track resolution

Display the resolution of tracked parameters.

show track timers

Display tracked polling interval timers.