Cisco Nexus 7000 Series NX-OS Unicast Routing Configuration Guide, Release 5.x
Configuring Object Tracking
Downloads: This chapterpdf (PDF - 170.0KB) The complete bookPDF (PDF - 4.49MB) | Feedback

Configuring Object Tracking

Table Of Contents

Configuring Object Tracking

Information About Object Tracking

Object Tracking Overview

Object Track List

High Availability

Virtualization Support

Licensing Requirements for Object Tracking

Prerequisites for Object Tracking

Guidelines and Limitations

Default Settings

Configuring Object Tracking

Configuring Object Tracking for an Interface

Deleting a Tracking Object

Configuring Object Tracking for Route Reachability

Configuring an Object Track List with a Boolean Expression

Configuring an Object Track List with a Percentage Threshold

Configuring an Object Track List with a Weight Threshold

Configuring an Object Tracking Delay

Configuring Object Tracking for a Nondefault VRF

Verifying the Object Tracking Configuration

Configuration Examples for Object Tracking

Related Topics

Additional References

Related Documents

Standards

Feature History for Object Tracking


Configuring Object Tracking


This chapter describes how to configure object tracking on the Cisco NX-OS device.

This chapter includes the following sections:

Information About Object Tracking

Licensing Requirements for Object Tracking

Prerequisites for Object Tracking

Guidelines and Limitations

Default Settings

Configuring Object Tracking

Verifying the Object Tracking Configuration

Configuration Examples for Object Tracking

Related Topics

Additional References

Feature History for Object Tracking

Information About Object Tracking

Object tracking allows you to track specific objects on the device, such as the interface line protocol state, IP routing, and route reachability, and to take action when the tracked object's state changes. This feature allows you to increase the availability of the network and shorten recovery time if an object state goes down.

This section includes the following topics:

Object Tracking Overview

Object Track List

High Availability

Virtualization Support

Object Tracking Overview

The object tracking feature allows you to create a tracked object that multiple clients can use to modify the client behavior when a tracked object changes. Several clients register their interest with the tracking process, track the same object, and take different actions when the object state changes.

Clients include the following features:

Embedded Event Manager (EEM)

Gateway Load Balancing Protocol (GLBP)

Hot Standby Redundancy Protocol (HSRP)

Virtual port channel (vPC)

Virtual Router Redundancy Protocol (VRRP)

The object tracking monitors the status of the tracked objects and communicates any changes made to interested clients. Each tracked object is identified by a unique number that clients can use to configure the action to take when a tracked object changes state.

Cisco NX-OS tracks the following object types:

Interface line protocol state—Tracks whether the line protocol state is up or down.

Interface IP routing state—Tracks whether the interface has an IPv4 or IPv6 address and if IPv4 or IPv6 routing is enabled and active.

IP route reachability—Tracks whether an IPv4 or IPv6 route exists and is reachable from the local device.

For example, you can configure HSRP to track the line protocol of the interface that connects one of the redundant routers to the rest of the network. If that link protocol goes down, you can modify the priority of the affected HSRP router and cause a switchover to a backup router that has better network connectivity.

Object Track List

An object track list allows you to track the combined states of multiple objects. Object track lists support the following capabilities:

Boolean "and" function—Each object defined within the track list must be in an up state so that the track list object can become up.

Boolean "or" function—At least one object defined within the track list must be in an up state so that the tracked object can become up.

Threshold percentage—The percentage of up objects in the tracked list must be greater than the configured up threshold for the tracked list to be in the up state. If the percentage of down objects in the tracked list is above the configured track list down threshold, the tracked list is marked as down.

Threshold weight—Assign a weight value to each object in the tracked list, and a weight threshold for the track list. If the combined weights of all up objects exceeds the track list weight up threshold, the track list is in an up state. If the combined weights of all the down objects exceeds the track list weight down threshold, the track list is in the down state.

Other entities, such as virtual Port Channels (vPCs) can use an object track list to modify the state of a vPC based on the state of the multiple peer links that create the vPC. See the Cisco Nexus 7000 Series NX-OS Interfaces Configuration Guide, Release 5.x, for more information on vPCs.

See the "Configuring an Object Track List with a Boolean Expression" section for more information on track lists.

High Availability

Object tracking supports high availability through stateful restarts. A stateful restart occurs when the object tracking process crashes. Object tracking also supports a stateful switchover on a dual supervisor system. Cisco NX-OS applies the runtime configuration after the switchover.

You can also use object tracking to modify the behavior of a client to improve overall network availability.

Virtualization Support

Object tracking supports Virtual Routing and Forwarding (VRF) instances. VRFs exist within virtual device contexts (VDCs). By default, Cisco NX-OS places you in the default VDC and default VRF unless you specifically configure another VDC and VRF. By default, Cisco NX-OS tracks the route reachability state of objects in the default VRF. If you want to track objects in another VRF, you must configure the object to be a member of that VRF (see the "Configuring Object Tracking for a Nondefault VRF" section).

For more information, see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide, Release 5.x, and see Chapter 14 "Configuring Layer 3 Virtualization."

Licensing Requirements for Object Tracking

The following table shows the licensing requirements for this feature:

Product
License Requirement

Cisco NX-OS

Object tracking requires no license. Any feature not included in a license package is bundled with the Cisco NX-OS system images and is provided at no extra charge to you. For a complete explanation of the Cisco NX-OS licensing scheme, see the Cisco NX-OS Licensing Guide.


Prerequisites for Object Tracking

Object tracking has the following prerequisites:


Note For a full list of feature-specific prerequisites, see the platform-specific documentation.

If you configure VDCs, install the Advanced Services license and enter the desired VDC (see the Cisco Nexus 7000 Series NX-OS Virtual Device Context Configuration Guide, Release 5.x).

Guidelines and Limitations

Object tracking has the following configuration guidelines and limitations:

Supports up to 500 tracked objects per VDC.

Supports Ethernet, subinterfaces, tunnels, port channels, loopback interfaces, and VLAN interfaces.

Supports one tracked object per HSRP group or GLBP group.

Default Settings

Table 21-1 lists the default settings for object tracking parameters.

Table 21-1 Default Object Tracking Parameters 

Parameters
Default

Tracked Object VRF

Member of default VRF


Configuring Object Tracking

This section includes the following topics:

Configuring Object Tracking for an Interface

Deleting a Tracking Object

Configuring Object Tracking for Route Reachability

Configuring an Object Track List with a Boolean Expression

Configuring an Object Track List with a Percentage Threshold

Configuring an Object Track List with a Weight Threshold

Configuring an Object Tracking Delay

Configuring Object Tracking for a Nondefault VRF


Note If you are familiar with the Cisco IOS CLI, be aware that the Cisco NX-OS commands for this feature might differ from the Cisco IOS commands that you would use.

Configuring Object Tracking for an Interface

You can configure Cisco NX-OS to track the line protocol or IPv4 or IPv6 routing state of an interface.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track object-id interface interface-type number {{ip | ipv6} routing | line-protocol}

3. (Optional) show track [object-id]

4. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track object-id interface interface-type number {{ip | ipv6} routing | line-protocol}

Example:

switch(config)# track 1 interface ethernet 1/2 line-protocol

switch(config-track)#

Creates a tracked object for an interface and enters tracking configuration mode. The object-id range is from 1 to 500.

Step 3 

show track [object-id]

Example:

switch(config-track)# show track 1

(Optional) Displays object tracking information.

Step 4 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure object tracking for the line protocol state on Ethernet 1/2:

switch# configure terminal

switch(config)# track 1 interface ethernet 1/2 line-protocol

switch(config-track)# copy running-config startup-config

This example shows how to configure object tracking for the IPv4 routing state on Ethernet 1/2:

switch# configure terminal

switch(config)# track 2 interface ethernet 1/2 ip routing

switch(config-track)# copy running-config startup-config

This example shows how to configure object tracking for the IPv6 routing state on Ethernet 1/2:

switch# configure terminal

switch(config)# track 3 interface ethernet 1/2 ipv6 routing

switch(config-track)# copy running-config startup-config

Deleting a Tracking Object

You can delete a object tracking.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. no track object-id

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

no track object-id

Example:

switch(config)# no track 1 switch(config-track)#

Deletes a tracked object for an interface. The object-id range is from 1 to 500.

This example shows how to delete a object tracking:

switch# configure terminal
switch(config)# no track 1
switch(config-track)# copy running-config startup-config

Configuring Object Tracking for Route Reachability

You can configure Cisco NX-OS to track the existence and reachability of an IP route or IPv6 route.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track object-id {ip | ipv6} route prefix/length reachability

3. (Optional) show track [object-id]

4. (Optional) copy running-config startup-config

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track object-id {ip | ipv6} route prefix/length reachability

Example:

Switch(config)# track 3 ipv6 route 2::5/64 reachability

switch(config-track)#

Creates a tracked object for a route and enters tracking configuration mode. The object-id range is from 1 to 500. The prefix format for IP is A.B.C.D/length, where the length range is from 1 to 32. The prefix format for IPv6 is A:B::C:D/length, where the length range is from 1 to 128.

Step 3 

show track [object-id]

Example:

switch(config-track)# show track 1

(Optional) Displays object tracking information.

Step 4 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure object tracking for an IPv4 route in the default VRF.

switch# configure terminal

switch(config)# track 4 ip route 192.0.2.0/8 reachability

switch(config-track)# copy running-config startup-config

 
   

This example shows how to configure object tracking for an IPv6 route in the default VRF.

switch# configure terminal

switch(config)# track 5 ipv6 route 10::10/128 reachability

switch(config-track)# copy running-config startup-config

 
   

Configuring an Object Track List with a Boolean Expression

You can configure an object track list that contains multiple tracked objects. A tracked list contains one or more objects. The Boolean expression enables two types of 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

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track track-number list boolean {and | or}

3. object object-number [not]

4. (Optional) show track

5. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track track-number list boolean {and | or}

Example:

switch(config)# track 1 list boolean and

switch(config-track)#

Configures a tracked list object and enters tracking configuration mode. Specifies that the state of the tracked list is based on a Boolean calculation. The keywords are as follows:

and—Specifies that the list is up if all objects are up or down if one or more objects are down. For example, when tracking two interfaces, up means that both interfaces are up, and down means that either interface is down.

or—Specifies that the list is up if at least one object is up. For example, when tracking two interfaces, up means that either interface is up, and down means that both interfaces are down.

The track-number range is from 1 to 500.

Step 3 

object object-id [not]

Example:

switch(config-track)# object 10

Adds a tracked object to the track list. The object-id range is from 1 to 500. The not keyword optionally negates the tracked object state.

Note The example means that when object 10 is up, the tracked list detects object 10 as down.

Step 4 

show track

Example:

switch(config-track)# show track

(Optional) Displays object tracking information.

Step 5 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure a track list with multiple objects as a Boolean "and":

switch# configure terminal

switch(config)# track 1 list boolean and

switch(config-track)# object 10

switch(config-track)# object 20 not

Configuring an Object Track List with a Percentage Threshold

You can configure an object track list that contains a percentage threshold. A tracked list contains one or more objects. The percentage of up objects must exceed the configured track list up percent threshold before the track list is in an up state. For example, if the tracked list has three objects, and you configure an up threshold of 60 percent, two of the objects must be in the up state (66 percent of all objects) for the track list to be in the up state.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track track-number list threshold percentage

3. threshold percentage up up-value down down-value

4. object object-number

5. (Optional) show track

6. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track track-number list threshold percentage

Example:

switch(config)# track 1 list threshold percentage

switch(config-track)#

Configures a tracked list object and enters tracking configuration mode. Specifies that the state of the tracked list is based on a configured threshold percent.

The track-number range is from 1 to 500.

Step 3 

threshold percentage up up-value down down-value

Example:

switch(config-track)# threshold percentage up 70 down 30

Configures the threshold percent for the tracked list. The range from 0 to 100 percent.

Step 4 

object object-id

Example:

switch(config-track)# object 10

Adds a tracked object to the track list. The object-id range is from 1 to 500.

Step 5 

show track

Example:

switch(config-track)# show track

(Optional) Displays object tracking information.

Step 6 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure a track list with an up threshold of 70 percent and a down threshold of 30 percent:

switch# configure terminal

switch(config)# track 1 list threshold percentage

switch(config-track)# threshold percentage up 70 down 30

switch(config-track)# object 10

switch(config-track)# object 20

switch(config-track)# object 30

Configuring an Object Track List with a Weight Threshold

You can configure an object track list that contains a weight threshold. A tracked list contains one or more objects. The combined weight of up objects must exceed the configured track list up weight threshold before the track list is in an up state. For example, if the tracked list has three objects with the default weight of 10 each, and you configure an up threshold of 15, two of the objects must be in the up state (combined weight of 20) for the track list to be in the up state.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track track-number list threshold weight

3. threshold weight up up-value down down-value

4. object object-id weight value

5. (Optional) show track

6. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track track-number list threshold weight

Example:

switch(config)# track 1 list threshold weight

switch(config-track)#

Configures a tracked list object and enters tracking configuration mode. Specifies that the state of the tracked list is based on a configured threshold weight.

The track-number range is from 1 to 500.

Step 3 

threshold weight up up-value down down-value

Example:

switch(config-track)# threshold weight up 30 down 10

Configures the threshold weight for the tracked list. The range from 1 to 255.

Step 4 

object object-id weight value

Example:

switch(config-track)# object 10 weight 15

Adds a tracked object to the track list. The object-id range is from 1 to 500. The value range is from 1 to 255. The default weight value is 10.

Step 5 

show track

Example:

switch(config-track)# show track

(Optional) Displays object tracking information.

Step 6 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure a track list with an up weight threshold of 30 and a down threshold of 10:

switch# configure terminal

switch(config)# track 1 list threshold weight

switch(config-track)# threshold weight up 30 down 10

switch(config-track)# object 10 weight 15

switch(config-track)# object 20 weight 15

switch(config-track)# object 30

In this example, the track list is up if object 10 and object 20 are up, and the track list goes to the down state if all three objects are down.

Configuring an Object Tracking Delay

You can configure a delay for a tracked object or an object track list that delays when the object or list triggers a stage change. The tracked object or track list starts the delay timer when a state change occurs but does not recognize a state change until the delay timer expires. At that point, Cisco NX-OS checks the object state again and records a state change only if the object or list currently has a changed state. Object tracking ignores any intermediate state changes before the delay timer expires.

For example, for an interface line-protocol tracked object that is in the up state with a 20 second down delay, the delay timer starts when the line protocol goes down. The object is not in the down state unless the line protocol is down 20 seconds later.

You can configure independent up delay and down delay for a tracked object or track list. When you delete the delay, object tracking deletes both the up and down delay.

You can change the delay at any point. If the object or list is already counting down the delay timer from a triggered event, the new delay is computed as the following:

If the new configuration value is less than the old configuration value, the timer starts with the new value.

If the new configuration value is more than the old configuration value, the timer is calculated as the new configuration value minus the current timer countdown minus the old configuration value.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

SUMMARY STEPS

1. configure terminal

2. track object-id {parameters}

3. track track-number list {parameters}

4. delay {up up-time [down down-time] | down down-time [up up-time]}

5. (Optional) show track

6. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track object-id {parameters}

Example:

switch(config)# track 2 ip route 192.0.2.0/8 reachability

switch(config-track)#

Creates a tracked object for a route and enters tracking configuration mode. The object-id range is from 1 to 500. The prefix format for IP is A.B.C.D/length, where the length range is from 1 to 32. The prefix format for IPv6 is A:B::C:D/length, where the length range is from 1 to 128.

Step 3 

track track-number list {parameters}

Example:

switch(config)# track 1 list threshold weight

switch(config-track)#

Configures a tracked list object and enters tracking configuration mode. Specifies that the state of the tracked list is based on a configured threshold weight.

The track-number range is from 1 to 500.

Step 4 

delay {up up-time [down down-time] | down down-time [up up-time]}

Example:

switch(config-track)# delay up 20 down 30

Configures the object delay timers. The range is from 0 to 180 seconds.

Step 5 

show track

Example:

switch(config-track)# show track 3

(Optional) Displays object tracking information.

Step 6 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure object tracking for a route and use delay timers:

switch# configure terminal

switch(config)# track 2 ip route 209.165.201.0/8 reachability

switch(config-track)# delay up 20 down 30

switch(config-track)# copy running-config startup-config

 
   

This example shows how to configure a track list with an up weight threshold of 30 and a down threshold of 10 with delay timers:

switch# configure terminal

switch(config)# track 1 list threshold weight

switch(config-track)# threshold weight up 30 down 10

switch(config-track)# object 10 weight 15

switch(config-track)# object 20 weight 15

switch(config-track)# object 30

switch(config-track)# delay up 20 down 30

This example shows the delay timer in the show track command output before and after an interface is shut down:

switch(config-track)# show track

Track 1

Interface loopback1 Line Protocol

Line Protocol is UP

1 changes, last change 00:00:13

Delay down 10 secs

qadc3-fhrp-ind45(config-track)# interface loopback 1

qadc3-fhrp-ind45(config-if)# shutdown

qadc3-fhrp-ind45(config-if)# show track

Track 1

Interface loopback1 Line Protocol

Line Protocol is delayed DOWN (8 secs remaining)<------- delay timer counting down

1 changes, last change 00:00:22

Delay down 10 secs

Configuring Object Tracking for a Nondefault VRF

You can configure Cisco NX-OS to track an object in a specific VRF.

BEFORE YOU BEGIN

Ensure that you are in the correct VDC (or use the switchto vdc command).

Ensure that nondefault VRFs are created first.

SUMMARY STEPS

1. configure terminal

2. track object-id {ip | ipv6} route prefix/length reachability

3. vrf member vrf-name

4. (Optional) show track [object-id]

5. (Optional) copy running-config startup-config

DETAILED STEPS

 
Command
Purpose

Step 1 

configure terminal

Example:

switch# configure terminal

switch(config)#

Enters configuration mode.

Step 2 

track object-id {ip | ipv6} route prefix/length reachability

Example:

Switch# conf t

Switch(config)# track 3 ipv6 route 1::2/64 reachability

Switch(config-track)#

Creates a tracked object for a route and enters tracking configuration mode. The object-id range is from 1 to 500. The prefix format for IP is A.B.C.D/length, where the length range is from 1 to 32. The prefix format for IPv6 is A:B::C:D/length, where the length range is from 1 to 128.

Step 3 

vrf member vrf-name

Example:

switch(config-track)# vrf member Red

Configures the VRF to use for tracking the configured object.

Step 4 

show track [object-id]

Example:

switch(config-track)# show track 3

(Optional) Displays object tracking information.

Step 5 

copy running-config startup-config

Example:

switch(config-track)# copy running-config startup-config

(Optional) Saves this configuration change.

This example shows how to configure object tracking for a route and use VRF Red to look up reachability information for this object:

switch# configure terminal

switch(config)# track 2 ip route 209.165.201.0/8 reachability

switch(config-track)# vrf member Red

switch(config-track)# copy running-config startup-config

This example shows how to configure object tracking for an IPv6 route and use VRF Red to look up reachability information for this object:

Switch# configure terminal

Switch(config)# track 3 ipv6 route 1::2/64 reachability

Switch(config-track)# vrf member Red

Switch(config-track)# copy running-config startup-config

 
   

This example shows how to modify tracked object 2 to use VRF Blue instead of VRF Red to look up reachability information for this object:

switch# configure terminal

switch(config)# track 2

switch(config-track)# vrf member Blue

switch(config-track)# copy running-config startup-config

 
   

Verifying the Object Tracking Configuration

To display object tracking configuration information, perform one the following tasks:

Command
Purpose

show track [object-id] [brief]

Displays the object tracking information for one or more objects.

show track [object-id] interface [brief]

Displays the interface-based object tracking information.

show track [object-id] {ip | ipv6} route [brief]

Displays the IPv4 or IPv6 route-based object tracking information.

show trun track

Displays the IP route IPv6 object tracking configuration information.


Configuration Examples for Object Tracking

This example shows how to configure object tracking for route reachability and use VRF Red to look up reachability information for this route:

switch# configure terminal

switch(config)# track 2 ip route 209.165.201.0/8 reachability

switch(config-track)# vrf member Red

switch(config-track)# copy running-config startup-config

Related Topics

See the following topics for information related to object tracking:

Chapter 14 "Configuring Layer 3 Virtualization"

Chapter 18 "Configuring GLBP"

Chapter 19 "Configuring HSRP"

Additional References

For additional information related to implementing object tracking, see the following sections:

Related Documents

Standards

Related Documents

Related Topic
Document Title

Object Tracking CLI commands

Cisco Nexus 7000 Series NX-OS Unicast Routing Command Reference, Release 5.x

Configuring the Embedded Event Manager

Cisco Nexus 7000 Series NX-OS System Management Configuration Guide, Release 5.x


Standards

Standards
Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.


Feature History for Object Tracking

Table 21-2 lists the release history for this feature.

Table 21-2 Feature History for Object Tracking

Feature Name
Releases
Feature Information

IPv6 support

5.0(2)

Added support for IPv6.

Tracking delay

4.2(4)

Added support for delaying a tracked object update.

Object track list

4.2(1)

Added support for object track lists and Boolean expressions.

Object tracking

4.0(1)

This feature was introduced.