Configuring Enhanced Object Tracking

This chapter describes how to configure enhanced object tracking on the Catalyst 3750-X or 3560-X switch. This feature provides a more complete alternative to the Hot Standby Routing Protocol (HSRP) tracking mechanism. which allows you to track the line-protocol state of an interface. If the line protocol state of an interface goes down, the HSRP priority of the interface is reduced and another HSRP device with a higher priority becomes active. The enhanced object tracking feature separates the tracking mechanism from HSRP and creates a separate, standalone tracking process that can be used by processes other than HSRP. This allows tracking 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.This feature increases the availability and speed of recovery of a routing system and decreases outages and outage duration.

Understanding Enhanced Object Tracking

Each tracked object has a unique number that is specified in 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. Several clients can track the same object, and can take different actions when the object changes state.

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.

Default Configuration

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, these three conditions are required for the object to be up:

•IP routing must be enabled and active on the interface.

•The interface line-protocol state must be up.

•The interface IP address must be known.

If all three of these conditions are not met, 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 {upseconds [downseconds] | [upseconds] downseconds}

(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 {upseconds [downseconds] | [upseconds] downseconds}

(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:

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.

•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.

Configuring a Tracked List with a 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 {upseconds [downseconds] | [upseconds] downseconds}

(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 notrack 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

Configuring a Tracked List with a 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 {upnumber | [downnumber]}

Specify the threshold weight.

•upnumber—The valid range is from 1 to 255.

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

Step 5

delay {upseconds [downseconds] | [upseconds] downseconds}

(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 notrack 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.

Configuring a Tracked List with a 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 {upnumber | [downnumber]}

Specify the threshold percentage.

•upnumber—The valid range is from 1 to 100.

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

Step 5

delay {upseconds [downseconds] | [upseconds] downseconds}

(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 notrack 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:

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

•(Optional) group-number—Enter a 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—Specify 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—Specify that the IP address is a secondary hot standby router interface. If this keyword is omitted, the configured address is the primary IP address.

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

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

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

•(Optional) decrement priority-decrement—Specify the 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:

Object tracking of IP SLAs operations allows clients to track the output from IP SLAs objects and use this information to trigger an action. Every IP SLAs operation maintains an SNMP operation return-code value, such as OK or OverThreshold, that can be interpreted by the tracking process. You can track two aspects of IP SLAs operation: state and reachability. For state, if the return code is OK, the track state is up; if the return code is not OK, the track state is down. For reachability, if the return code is OK or OverThreshold, reachability is up; if not OK, reachability is down.

Beginning in privileged EXEC mode, follow these steps to track the state of an IP SLAs operation or the reachability of an IP SLAs IP host:

Command

Purpose

Step 1

configure terminal

Enter global configuration mode.

Step 2

track object-numberrtr operation-numberstate

Enter tracking configuration mode to track the state of an IP SLAs operation.

•The object-number range is from 1 to 500.

•The operation-number range is from 1 to 2147483647.

Step 3

delay {upseconds [downseconds] | [upseconds] downseconds}

(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.

(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

Display tracking information to verify the configuration.

Step 9

copy running-config startup-config

(Optional) Save your entries in the configuration file.

This example shows how to configure and display IP SLAs state tracking:

Switch(config)# track 2 200 state

Switch(config)# end

Switch# show track 2

Track 2

Response Time Reporter 1 state

State is Down

1 change, last change 00:00:47

Latest operation return code: over threshold

Latest RTT (millisecs) 4

Tracked by:

HSRP Ethernet0/1 3

This example output shows whether a route is reachable:

Switch(config)# track 3 500 reachability

Switch(config)# end

Switch# show track 3

Track 3

Response Time Reporter 1 reachability

Reachability is Up

1 change, last change 00:00:47

Latest operation return code: over threshold

Latest RTT (millisecs) 4

Tracked by:

HSRP Ethernet0/1 3

Configuring Static Routing Support

Switches that are running the IP services feature set with Cisco IOS release 12.2(46)SE or later support enhanced object tracking static routing. Static routing support using enhanced object tracking provides the ability for the switch to use ICMP pings to identify when a preconfigured static route or a DHCP route goes down. When tracking is enabled, the system tracks the state of the route and informs the client when that state changes. Static route object tracking uses Cisco IP SLAs to generate ICMP pings to monitor the state of the connection to the primary gateway.

Track the state of a Cisco IOS IP SLAs operation and enter tracking configuration mode.

Step 10

end

Return to privileged EXEC mode.

Step 11

show track object-number

Display tracking information to verify the configuration.

Step 12

copy running-config startup-config

(Optional) Save your entries in the configuration file.

Configuring a Routing Policy and Default Route

Beginning in privileged EXEC mode, follow these steps to configure a routing policy for backup static routing by using object tracking. For more details about the commands in the procedure, see this URL:

Enter route-map configuration mode and define conditions for redistributing routes from one routing protocol to another.

Step 4

match ip address {access-list number | access-list name}

Distribute any routes that have a destination network number address that is permitted by a standard or extended access list or performs policy routing on packets. You can enter multiple numbers or names.

Step 5

set ip next-hop dynamic dhcp

For DHCP networks only. Set the next hop to the gateway that was most recently learned by the DHCP client.

Step 6

set interface interface-id

For static routing networks only. Indicate where to send output packets that pass a match clause of a route map for policy routing.