PBR Support for Multiple Tracking Options

The PBR Support for Multiple Tracking Options feature extends the capabilities of object tracking using Cisco Discovery Protocol (CDP) to allow the policy-based routing (PBR) process to verify object availability by using additional methods. The verification method can be an Internet Control Message Protocol (ICMP) ping, a User Datagram Protocol (UDP) ping, or an HTTP GET request.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Information About PBR Support for Multiple Tracking Options

Object Tracking

Object tracking is an independent process that monitors objects such as the following:

  • State of the line protocol of an interface

  • Existence of an entry in the routing table

  • Results of a Service Assurance Agent (SAA) operation, such as a ping

Clients such as Hot Standby Router Protocol (HSRP), Virtual Router Redundancy Protocol (VRRP), Gateway Load Balancing Protocol (GLBP), and (with this feature) PBR can register their interest in specific, tracked objects and then take action when the state of the objects changes.

PBR Support for Multiple Tracking Options Feature Design

The PBR Support for Multiple Tracking Options feature gives PBR access to all the objects that are available through the tracking process. The tracking process provides the ability to track individual objects--such as ICMP ping reachability, routing adjacency, an application running on a remote device, a route in the Routing Information Base (RIB)--or to track the state of an interface line protocol.

Object tracking functions in the following manner. PBR will inform the tracking process that a certain object should be tracked. The tracking process will in turn notify PBR when the state of that object changes.

How to Configure PBR Support for Multiple Tracking Options

The tasks in this section are divided according to the Cisco IOS release that you are running because Cisco IOS Release 12.3(14)T introduced new syntax for IP Service Level Agreements (SLAs). To use this feature, you must be running Cisco IOS Release 12.3(4)T, 12.2(25)S, or a later release. This section contains the following tasks:

Cisco IOS Release 12.3(11)T 12.2(25)S and Earlier

Perform this task to configure PBR support for multiple tracking options. In this task, a route map is created and configured to verify the reachability of the tracked object.

Before You Begin

This task requires the networking device to be running Cisco IOS Release 12.3(11)T, 12.2(25)S, or prior releases.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    rtr operation-number

    4.    type echo protocol protocol-type target [source-ipaddr ip-address]

    5.    exit

    6.    rtr schedule operation-number [life {forever | seconds}] [start-time {hh : mm[: ss] [month day | day month] | pending | now | after hh : mm : ss}] [ageout seconds]

    7.    track object-number rtr entry-number [reachability]

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

    9.    exit

    10.    interface type number

    11.    ip address ip-address mask [secondary]

    12.    ip policy route-map map-tag

    13.    exit

    14.    route-map map-tag [permit | deny] [sequence-number]

    15.    set ip next-hop verify-availability [next-hop-address sequence track object]

    16.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 rtr operation-number


    Example:
    Router(config)# rtr 1
     

    Enters SAA RTR configuration mode and configures an SAA operation.

     
    Step 4 type echo protocol protocol-type target [source-ipaddr ip-address]


    Example:
    Router(config-rtr)# type echo protocol ipicmpecho 10.1.1.10
     

    Configures an SAA end-to-end echo response time probe operation.

     
    Step 5 exit


    Example:
    Router(config-rtr)# exit
     

    Exits SAA RTR configuration mode and returns the router to global configuration mode.

     
    Step 6 rtr schedule operation-number [life {forever | seconds}] [start-time {hh : mm[: ss] [month day | day month] | pending | now | after hh : mm : ss}] [ageout seconds]


    Example:
    Router(config)# rtr schedule 1 life forever start-time now
     

    Configures the time parameters for the SAA operation.

     
    Step 7 track object-number rtr entry-number [reachability]


    Example:
    Router(config)# track 123 rtr 1 reachability
     

    Tracks the reachability of a Response Time Reporter (RTR) object and enters tracking configuration mode.

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


    Example:
    Router(config-track)# delay up 60 down 30
     

    (Optional) Specifies a period of time (in seconds) to delay communicating state changes of a tracked object.

     
    Step 9 exit


    Example:
    Router(config-track)# exit
     

    Exits tracking configuration mode and returns the router to global configuration mode.

     
    Step 10 interface type number


    Example:
    Router(config)# interface ethernet 0
     

    Specifies an interface type and number and enters interface configuration mode.

     
    Step 11 ip address ip-address mask [secondary]


    Example:
    Router(config-if)# ip address 10.1.1.11 255.0.0.0 
     

    Specifies a primary or secondary IP address for an interface.

    • See the "Configuring IPv4 Addresses" chapter of the Cisco IOS IP Addressing Services Configuration Guide for information on configuring IPv4 addresses.

     
    Step 12 ip policy route-map map-tag


    Example:
    Router(config-if)# ip policy route-map alpha
     

    Enables policy routing and identifies a route map to be used for policy routing.

     
    Step 13 exit


    Example:
    Router(config-if)# exit
     

    Exits interface configuration mode and returns the router to global configuration mode.

     
    Step 14 route-map map-tag [permit | deny] [sequence-number]


    Example:
    Router(config)# route-map alpha
     

    Specifies a route map and enters route-map configuration mode.

     
    Step 15 set ip next-hop verify-availability [next-hop-address sequence track object]


    Example:
    Router(config-route-map)# set ip next-hop verify-availability 10.1.1.1 10 track 123
     

    Configures the route map to verify the reachability of the tracked object.

     
    Step 16 end


    Example:
    Router(config-route-map)# end
     

    Exits route-map configuration mode and returns the router to privileged EXEC mode.

     

    Configuring PBR Support for Multiple Tracking Options

    Perform this task to configure PBR support for multiple tracking options. In this task, a route map is created and configured to verify the reachability of the tracked object.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    ip sla monitor operation-number

      4.    type echo protocol ipIcmpEcho {destination-ip-address| destination-hostname}[source-ipaddr {ip-address| hostname} | source-interface interface-name]

      5.    exit

      6.    ip sla monitor schedule operation-number [life {forever | seconds}] [start-time {hh : mm[: ss] [month day | day month] | pending | now | after hh : mm : ss}] [ageout seconds] [recurring]

      7.    track object-number rtr entry-number [reachability| state]

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

      9.    exit

      10.    interface type number

      11.    ip address ip-address mask [secondary]

      12.    ip policy route-map map-tag

      13.    exit

      14.    route-map map-tag [permit | deny] [sequence-number]

      15.    set ip next-hop verify-availability [next-hop-address sequence track object]

      16.    end

      17.    show track object-number

      18.    show route-map [map-name| all| dynamic]


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3 ip sla monitor operation-number


      Example:
      Device(config)# ip sla monitor 1
       

      Starts a Cisco IOS IP Service Level Agreement (SLA) operation configuration and enters IP SLA monitor configuration mode.

       
      Step 4 type echo protocol ipIcmpEcho {destination-ip-address| destination-hostname}[source-ipaddr {ip-address| hostname} | source-interface interface-name]


      Example:
      Device(config-sla-monitor)# type echo protocol ipIcmpEcho 10.1.1.1
       

      Configures an IP SLA Internet Control Message Protocol (ICMP) echo probe operation.

       
      Step 5 exit


      Example:
      Device(config-sla-monitor)# exit
       

      Exits IP SLA monitor configuration mode and returns the device to global configuration mode.

       
      Step 6 ip sla monitor schedule operation-number [life {forever | seconds}] [start-time {hh : mm[: ss] [month day | day month] | pending | now | after hh : mm : ss}] [ageout seconds] [recurring]


      Example:
      Device(config)# ip sla monitor schedule 1 life forever start-time now
       

      Configures the scheduling parameters for a single Cisco IOS IP SLA operation.

      • In this example, the time parameters for the IP SLA operation are configured.

       
      Step 7 track object-number rtr entry-number [reachability| state]


      Example:
      Device(config)# track 123 rtr 1 reachability
       

      Tracks the reachability of a Response Time Reporter (RTR) object and enters tracking configuration mode.

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


      Example:
      Device(config-track)# delay up 60 down 30
       

      (Optional) Specifies a period of time, in seconds, to delay communicating state changes of a tracked object.

       
      Step 9 exit


      Example:
      Device(config-track)# exit
       

      Exits tracking configuration mode and returns the device to global configuration mode.

       
      Step 10 interface type number


      Example:
      Device(config)# interface serial 2/0
       

      Specifies an interface type and number and enters interface configuration mode.

       
      Step 11 ip address ip-address mask [secondary]


      Example:
      Device(config-if)# ip address 192.168.1.1 255.255.255.0 
       

      Specifies a primary or secondary IP address for an interface.

      • See the "Configuring IPv4 Addresses" chapter of the Cisco IOS IP Addressing Services Configuration Guide for information on configuring IPv4 addresses.

      • In this example, the IP address of the incoming interface is specified. This is the interface on which policy routing is to be enabled.

       
      Step 12 ip policy route-map map-tag


      Example:
      Device(config-if)# ip policy route-map alpha
       

      Enables policy routing and identifies a route map to be used for policy routing.

       
      Step 13 exit


      Example:
      Device(config-if)# exit
       

      Exits interface configuration mode and returns the device to global configuration mode.

       
      Step 14 route-map map-tag [permit | deny] [sequence-number]


      Example:
      Device(config)# route-map alpha
       

      Specifies a route map and enters route-map configuration mode.

       
      Step 15 set ip next-hop verify-availability [next-hop-address sequence track object]


      Example:
      Device(config-route-map)# set ip next-hop verify-availability 10.1.1.1 10 track 123
       

      Configures the route map to verify the reachability of the tracked object.

      • In this example, the policy is configured to forward packets received on serial interface 2/0 to 10.1.1.1 if that device is reachable.

       
      Step 16 end


      Example:
      Device(config-route-map)# end
       

      Exits route-map configuration mode and returns the device to privileged EXEC mode.

       
      Step 17 show track object-number


      Example:
      Device# show track 123
       

      (Optional) Displays tracking information.

      • Use this command to verify the configuration. See the display output in the "Examples" section of this task.

       
      Step 18 show route-map [map-name| all| dynamic]


      Example:
      Device# show route-map alpha
       

      (Optional) Displays route map information.

      • In this example, information about the route map named alpha is displayed. See the display output in the "Examples" section of this task.

       

      Examples

      The following output from the show track command shows that the tracked object 123 is reachable.

      Device# show track 123
      Track 123
        Response Time Reporter 1 reachability
        Reachability is Up
          2 changes, last change 00:00:33
        Delay up 60 secs, down 30 secs
        Latest operation return code: OK
        Latest RTT (millisecs) 20
        Tracked by:
          ROUTE-MAP 0
      

      The following output from the show route-map command shows information about the route map named alpha that was configured in the task.

      Device# show route-map alpha
      route-map alpha, permit, sequence 10
        Match clauses:
        Set clauses:
          ip next-hop verify-availability 10.1.1.1 10 track 123  [up]
        Policy routing matches: 0 packets, 0 bytes

      Configuration Examples for PBR Support for Multiple Tracking Options

      Cisco IOS Release 12.3(11)T 12.2(25)S and Earlier

      In the following example, object tracking is configured for PBR on routers that are running Cisco IOS Release 12.3(11)T, 12.2(25)S, or earlier releases.

      The configured policy is that packets received on Ethernet interface 0, should be forwarded to 10.1.1.1 only if that device is reachable (responding to pings). If 10.1.1.1 is not up, then the packets should be forwarded to 10.2.2.2. If 10.2.2.2 is also not reachable, then the policy routing fails and the packets are routed according to the routing table.

      Two Response Time Reporters (RTRs) are configured to ping the remote devices. The RTRs are then tracked. Policy routing will monitor the state of the tracked RTRs and make forwarding decisions based on their state.

      ! Define and start the RTRs.
      rtr 1
       type echo protocol ipicmpecho 10.1.1.1
      rtr schedule 1 start-time now life forever
      !
      rtr 2
       type echo protocol ipicmpecho 10.2.2.2
      rtr schedule 2 start-time now life forever
      !
      ! Track the RTRs.
      track 123 rtr 1 reachability
      track 124 rtr 2 reachability
      !
      ! Enable policy routing on the incoming interface.
      interface ethernet 0
       ip address 10.4.4.4 255.255.255.0
       ip policy route-map beta
      !
      ! 10.1.1.1 is via this interface.
      interface ethernet 1
       ip address 10.1.1.254 255.255.255.0
      !
      ! 10.2.2.2 is via this interface.
      interface ethernet 2
       ip address 10.2.2.254 255.255.255.0
      !
      ! Define a route map to set the next-hop depending on the state of the tracked RTRs.
      route-map beta
       set ip next-hop verify-availability 10.1.1.1 10 track 123
       set ip next-hop verify-availability 10.2.2.2 20 track 124

      Example: Configuring PBR Support for Multiple Tracking Options

      The following example shows how to configure PBR support for multiple tracking options.

      The configured policy is that packets received on Ethernet interface 0, should be forwarded to 10.1.1.1 only if that device is reachable (responding to pings). If 10.1.1.1 is not up, then the packets should be forwarded to 10.2.2.2. If 10.2.2.2 is also not reachable, then the policy routing fails and the packets are routed according to the routing table.

      Two RTRs are configured to ping the remote devices. The RTRs are then tracked. Policy routing will monitor the state of the tracked RTRs and make forwarding decisions based on their state.

      ! Define and start the RTRs.
      ip sla monitor 1
       type echo protocol ipicmpecho 10.1.1.1
      ip sla monitor schedule 1 start-time now life forever
      !
      ip sla monitor 2
       type echo protocol ipicmpecho 10.2.2.2
      ip sla monitor schedule 2 start-time now life forever
      !
      ! Track the RTRs.
      track 123 rtr 1 reachability
      track 124 rtr 2 reachability
      !
      ! Enable policy routing on the incoming interface.
      interface ethernet 0
       ip address 10.4.4.4 255.255.255.0
       ip policy route-map beta
      !
      ! 10.1.1.1 is via this interface.
      interface ethernet 1
       ip address 10.1.1.254 255.255.255.0
      !
      ! 10.2.2.2 is via this interface.
      interface ethernet 2
       ip address 10.2.2.254 255.255.255.0
      !
      ! Define a route map to set the next-hop depending on the state of the tracked RTRs.
      route-map beta
       set ip next-hop verify-availability 10.1.1.1 10 track 123
       set ip next-hop verify-availability 10.2.2.2 20 track 124

      Additional References

      The following sections provide references related to the PBR Support for Multiple Tracking Options feature.

      Related Documents

      Related Topic

      Document Title

      Cisco IOS commands

      Cisco IOS Master Command List, All Releases

      Object tracking within Cisco IOS software

      Configuring Enhanced Object Tracking" chapter of the Cisco IOS IP Application Services Configuration Guide

      Configuring IP addresses

      "Configuring IPv4 Addresses" chapter of the Cisco IOS IP Addressing Services Configuration Guide

      Technical Assistance

      Description

      Link

      The Cisco Support website provides extensive online resources, including documentation and tools for troubleshooting and resolving technical issues with Cisco products and technologies.

      To receive security and technical information about your products, you can subscribe to various services, such as the Product Alert Tool (accessed from Field Notices), the Cisco Technical Services Newsletter, and Really Simple Syndication (RSS) Feeds.

      Access to most tools on the Cisco Support website requires a Cisco.com user ID and password.

      http:/​/​www.cisco.com/​techsupport

      Command Reference

      The following commands are introduced or modified in the feature or features documented in this module. For information about these commands, see the Cisco IOS IP Routing: Protocol-Independent Command Reference. For information about all Cisco IOS commands, use the Command Lookup Tool at http:/​/​tools.cisco.com/​Support/​CLILookup or the Cisco IOS Master Command List, All Releases , at http:/​/​www.cisco.com/​en/​US/​docs/​ios/​mcl/​allreleasemcl/​all_​book.html.

      • set ip next-hop verify-availability

      Feature Information for PBR Support for Multiple Tracking Options

      The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

      Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

      Table 1 Feature Information for PBR Support for Multiple Tracking Options

      Feature Name

      Releases

      Feature Information

      PBR Support for Multiple Tracking Options

      The PBR Support for Multiple Tracking Options feature extends the capabilities of object tracking using Cisco Discovery Protocol (CDP) to allow the policy-based routing (PBR) process to verify object availability by using additional methods. The verification method can be an Internet Control Message Protocol (ICMP) ping, a User Datagram Protocol (UDP) ping, or an HTTP GET request.

      The following commands were introduced or modified by this feature: set ip next-hop verify-availability.