Configuring Enhanced Object Tracking
This chapter describes how to configure enhanced object tracking on the Cisco Industrial Ethernet 2000U Series Switches, hereafter referred to as IE 2000U or 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 or Gateway Local Balancing Protocol (GLBP), 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.
For more information about enhanced object tracking and the commands used to configure it, see the “Related Documents” section.
The chapter includes these sections:
Information About 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.
Prerequisites
Your IP network is operational and you can access the destination device.
Guidelines and Limitations
Although up to 500 tracked objects can be configured, each tracked object uses CPU resources. The amount of available CPU resources on a switch is dependent upon variables such as traffic load and how other protocols are configured and run. The ability to use 500 tracked objects is dependent upon the available CPU. Testing should be conducted on site to ensure that the service works under the specific site traffic conditions.
Default Settings
No type of object tracking is configured.
Configuring Enhanced Object Tracking Features
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.
BEFORE YOU BEGIN
An object must exist before it can be added to a tracked list.
DETAILED STEPS
|
|
|
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. The range is 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. The range is 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.
|
EXAMPLE
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 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.
-
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.
BEFORE YOU BEGIN
An object must exist before it can be added to a tracked list.
DETAILED STEPS
|
|
|
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.
|
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.
EXAMPLE
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.
BEFORE YOU BEGIN
An object must exist before it can be added to a tracked list.
DETAILED STEPS
|
|
|
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.
-
weight
weight-number
—(Optional) Specify a threshold weight for the object. The range is from 1 to 255.
|
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.
EXAMPLE
This 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 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.
BEFORE YOU BEGIN
An object must exist before it can be added to a tracked list.
DETAILED STEPS
|
|
|
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.
EXAMPLE
This example configures tracked list 4 with three objects and 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
Follow this procedure to configure the Hot Standby Router Protocol (HSRP) to track an object and change the Hot Standby priority on the basis of the state of the object.
BEFORE YOU BEGIN
An object must exist before it can be added to a tracked list.
DETAILED STEPS
|
|
|
Step 1
|
configure terminal
|
Enter global configuration mode.
|
Step 2
|
track
object-number
{
interface
interface-id
{
line-protocol
| i
p 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.
-
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 or 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 or enter
reachability
to track if the route is reachable.
The default up threshold is 254 and the default down threshold is 255.
-
Enter
list
to track objects grouped in a list. Configure the list as described on the previous pages.
– For
boolean
, see the
“Configuring a Tracked List with a Boolean Expression” section
– For
threshold weight
, see the
“Configuring a Tracked List with a Weight Threshold” section
– For
threshold percentage
, see the
“Configuring a Tracked List with a 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
—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.
|
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
—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.
|
EXAMPLE
In the following example, the tracking process is configured to track the line-protocol state of GigabitEthernet interface 1/0/0. HSRP on GigabitEthernet interface 0/0/0 then registers with the tracking process to be informed of any changes to the line-protocol state of GigabitEthernet interface 1/0/0. If the line protocol on GigabitEthernet interface 1/0/0 goes down, the priority of the HSRP group is reduced by 10.
Router A:
Device(config)# track 100 interface GigabitEthernet1/0/0 line-protocol Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.21 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 110 Device(config-if)# standby 1 track 100 decrement 10
Router B:
Device(config)# track 100 interface GigabitEthernet1/0/0 line-protocol Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.22 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 105 Device(config-if)# standby 1 track 100 decrement 10
In the following example, the tracking process is configured to track the IP-routing capability of GigabitEthernet interface 1/0/0. HSRP on GigabitEthernet interface 0/0/0 then registers with the tracking process to be informed of any changes to the IP-routing state of GigabitEthernet interface 1/0/0. If the IP-routing state on GigabitEthernet interface 1/0/0 goes down, the priority of the HSRP group is reduced by 10.
If both serial interfaces are operational, Router A will be the HSRP active router because it has the higher priority. However, if IP on GigabitEthernet interface 1/0/0 in Router A fails, the HSRP group priority will be reduced and Router B will take over as the active router, thus maintaining a default virtual gateway service to hosts on the 10.1.0.0 subnet.
Router A:
Device(config)# track 100 interface GigabitEthernet1/0/0 ip routing Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.21 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 110 Device(config-if)# standby 1 track 100 decrement 10
Router B:
Device(config)# track 100 interface GigabitEthernet1/0/0 ip routing Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.22 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 105 Device(config-if)# standby 1 track 100 decrement 10
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.
Verifying Configuration
|
|
show ip route track table
|
Display information about the IP route track table.
|
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.
|
Configuration Example
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 Interface GigabitEthernet0/1 line-protocol Line protocol is Down (hw down) 1 change, last change 00:18:28
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
This 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 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.
This example configures tracked list 4 with three objects and 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
In the following example, the tracking process is configured to track the line-protocol state of GigabitEthernet interface 1/0/0. HSRP on GigabitEthernet interface 0/0/0 then registers with the tracking process to be informed of any changes to the line-protocol state of GigabitEthernet interface 1/0/0. If the line protocol on GigabitEthernet interface 1/0/0 goes down, the priority of the HSRP group is reduced by 10.
Router A:
Device(config)# track 100 interface GigabitEthernet1/0/0 line-protocol Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.21 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 110 Device(config-if)# standby 1 track 100 decrement 10
Router B:
Device(config)# track 100 interface GigabitEthernet1/0/0 line-protocol Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.22 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 105 Device(config-if)# standby 1 track 100 decrement 10
In the following example, the tracking process is configured to track the IP-routing capability of GigabitEthernet interface 1/0/0. HSRP on GigabitEthernet interface 0/0/0 then registers with the tracking process to be informed of any changes to the IP-routing state of GigabitEthernet interface 1/0/0. If the IP-routing state on GigabitEthernet interface 1/0/0 goes down, the priority of the HSRP group is reduced by 10.
If both serial interfaces are operational, Router A will be the HSRP active router because it has the higher priority. However, if IP on GigabitEthernet interface 1/0/0 in Router A fails, the HSRP group priority will be reduced and Router B will take over as the active router, thus maintaining a default virtual gateway service to hosts on the 10.1.0.0 subnet.
Router A:
Device(config)# track 100 interface GigabitEthernet1/0/0 ip routing Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.21 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 110 Device(config-if)# standby 1 track 100 decrement 10
Router B:
Device(config)# track 100 interface GigabitEthernet1/0/0 ip routing Device(config)# interface GigabitEthernet0/0/0 Device(config-if)# ip address 10.1.0.22 255.255.0.0 Device(config-if)# standby 1 preempt Device(config-if)# standby 1 ip 10.1.0.1 Device(config-if)# standby 1 priority 105 Device(config-if)# standby 1 track 100 decrement 10