Performance Routing - Protocol Independent Route Optimization (PIRO)

Protocol Independent Route Optimization (PIRO) introduced the ability of Performance Routing (PfR) to search for a parent route--an exact matching route, or a less specific route--in the IP Routing Information Base (RIB), allowing PfR to be deployed in any IP-routed environment including Interior Gateway Protocols (IGPs) such as OSPF and IS-IS.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest feature information and caveats, see 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 document.

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 Performance Routing PIRO

Protocol Independent Route Optimization (PIRO)

The PfR - Protocol Independent Route Optimization (PIRO) feature was introduced to extend the ability of PfR to identify and control traffic classes. Prior to PIRO, PfR optimizes paths for traffic classes that have a parent route--an exact matching route, or a less specific route--in BGP or static route databases. PIRO enables PfR to search the IP Routing Information Base (RIB) for a parent route allowing PfR to be deployed in any IP-routed environment including Interior Gateway Protocols (IGPs) such as OSPF and IS-IS.

The search for a parent route starts in the BGP routing database and, if no parent route is found, the static route database is searched. If a parent route is still not located, the RIB is searched. When a match is found after a parent route search of the RIB, route control is applied to the traffic class using policy-based routing (PBR) where a dynamic route map is created.

After PfR route control mode is enabled, no new customer configuration is required to enable PIRO.

On the master controller the show pfr master prefix command will display PIRO routes as “RIB-PBR” in the output.

How to Configure Performance Routing PIRO

Verifying and Debugging Protocol Independent Route Optimization Route Control Changes

After PfR route control mode is enabled, no new customer configuration is required to enable PIRO.Perform the steps in this optional task if you want to debug PIRO routes where the parent route exists in the RIB and is controlled using policy-based routing. All the steps are optional and are not in any order. The information from these steps can verify that a specific prefix associated with a traffic class has been identified using PIRO and that it is being controlled by PfR. The first two CLI commands are entered at the master controller, and the other commands are entered at a border router.

SUMMARY STEPS

    1.    Start at the master controller.

    2.    enable

    3.    show pfr master traffic-class

    4.    Move to a border router to enter the next step.

    5.    enable

    6.    show ip route

    7.    show route-map dynamic

    8.    show ip access-list dynamic

    9.    debug pfr border routes {bgp | static | piro[detail]}


DETAILED STEPS
    Step 1   Start at the master controller.
    Step 2   enable

    Enables privileged EXEC mode. Enter your password if prompted.



    Example:
    Router> enable
    
    Step 3   show pfr master traffic-class

    This command is used to display information about traffic classes that are monitored and controlled by a PfR master controller. The output from this command includes information about the destination IP address and prefix length for the traffic class, the IP address and the interface of the border router through which the prefix associated with this traffic class is being currently routed, the state of the traffic class, and the protocol. In this example, the protocol displayed for the prefix 10.1.1.0 is RIB-PBR and this means that the parent route for the traffic class exists in the RIB and policy-based routing is being used to control the prefix. Only syntax relevant to this task is shown in this step. You can also use the show pfr master prefix command to display similar information.



    Example:
    Router# show pfr master traffic-class
    
    OER Prefix Statistics:
     Pas - Passive, Act - Active, S - Short term, L - Long term, Dly - Delay (ms),
     P - Percentage below threshold, Jit - Jitter (ms), 
     MOS - Mean Opinion Score
     Los - Packet Loss (packets-per-million), Un - Unreachable (flows-per-million),
     E - Egress, I - Ingress, Bw - Bandwidth (kbps), N - Not applicable
     U - unknown, * - uncontrolled, + - control more specific, @ - active probe all
     # - Prefix monitor mode is Special, & - Blackholed Prefix
     % - Force Next-Hop, ^ - Prefix is denied
    DstPrefix           Appl_ID Dscp Prot     SrcPort     DstPort SrcPrefix         
               Flags             State     Time            CurrBR  CurrI/F Protocol
             PasSDly  PasLDly   PasSUn   PasLUn  PasSLos  PasLLos      EBw      IBw
             ActSDly  ActLDly   ActSUn   ActLUn  ActSJit  ActPMOS  ActSLos  ActLLos
    --------------------------------------------------------------------------------
    10.1.1.0/24               N defa    N           N           N N                 
                              INPOLICY        0           10.2.1.2 Gi0/0/1  RIB-PBR
                   N        N        N        N        N        N        N        N
                   1        1        0        0        N        N        N        N
    
    Step 4   Move to a border router to enter the next step.

    The next command is entered on a border router, not the master controller.

    Step 5   enable

    Enables privileged EXEC mode. Enter your password if prompted.



    Example:
    Router> enable
    
    Step 6   show ip route

    Displays the current state of the routing table. Use this command to verify that a parent route exists in the RIB.



    Example:
    Router# show ip route
    
    Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
           D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
           N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
           E1 - OSPF external type 1, E2 - OSPF external type 2
           i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
           ia - IS-IS inter area, * - candidate default, U - per-user static route
           o - ODR, P - periodic downloaded static route
     
    Gateway of last resort is not set
     
         10.0.0.0/24 is subnetted, 1 subnets
    C       10.1.1.0 is directly connected, GigabitEthernet0/0/1
         192.168.0.0/24 is subnetted, 1 subnets
    O       192.168.50.0 [110/20] via 10.10.10.3, 00:20:32, GigabitEthernet0/2/2
         10.0.0.0/8 is variably subnetted, 10 subnets, 4 masks
    O       10.1.4.1/32 [110/31] via 10.40.40.2, 00:20:32, GigabitEthernet0/0/2
    O       10.1.5.1/32 [110/31] via 10.40.40.2, 00:20:32, GigabitEthernet0/0/2
    O       10.1.6.1/32 [110/31] via 10.40.40.2, 00:20:32, GigabitEthernet0/0/2
    B       10.1.1.0/24 [20/0] via 10.40.40.2, 00:38:08
         10.1.0.0/24 is subnetted, 1 subnets
    O       10.1.1.0 [110/40] via 10.40.40.2, 00:20:33, GigabitEthernet0/0/2
    
    Step 7   show route-map dynamic

    Viewing a dynamic route map is another method of verifying how the route control is being applied for PIRO routes. In the output of this dynamic route map, note the access list named pfr#6. Only syntax relevant to this task is shown in this step.



    Example:
    Router# show route-map dynamic
    
     route-map OER-04/21/09-21:42:55.543-6-OER, permit, sequence 0, identifier 1755354068
      Match clauses:
        ip address (access-lists): pfr#6 
      Set clauses:
        ip next-hop 10.40.40.2
        interface GigatbitEthernet0/0/2
      Policy routing matches: 2314 packets, 138840 bytes
     Current active dynamic routemaps = 1
    
    Step 8   show ip access-list dynamic

    This command displays dynamic IP access lists created on this border router. In the output, a dynamic access list named pfr#6, that permits traffic for the prefix 10.1.1.0 to be routed through this border router, is displayed. The access list, pfr#6, was identified in the show route-map dynamic command in the previous step. Only syntax relevant to this task is shown in this step.



    Example:
    Router# show ip access-list dynamic
    
    Extended IP access list pfr#6
        1073741823 permit ip any 10.1.1.0 0.0.0.255 (2243 matches)
    
    Step 9   debug pfr border routes {bgp | static | piro[detail]}

    This command is entered on a border router. This command is used to debug parent route lookup and route changes to existing parent routes when the parent route is identified from the RIB. In this example, the detailed debugging information shows that the parent route for the prefix 10.1.1.0--shown in the output for Step 2--is found in the RIB and a route map is created to control the application. Note that static and BGP route control, and detailed border PBR debugging is also active.



    Example:
    Router# debug pfr border routes piro detail
    
    Apr 21 21:41:25.667: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 24, nexthop
    10.40.40.2
    Apr 21 21:42:55.539: OER STATIC: No parent found, network 10.1.1.0/24
    Apr 21 21:42:55.539: PFR PIRO: Control Route, 10.1.1.0/24, NH 0.0.0.0, 
    IF GigabitEthernet0/0/2
    Apr 21 21:42:55.539: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 24, nexthop
    10.40.40.2
    Apr 21 21:42:55.539: OER BR PBR(det): control app: 10.1.1.0/24, nh 0.0.0.0, if
    GigabitEthernet0/0/2,ip prot 256,dst opr 0,src opr 0, 0 0 0 0,rc net 0.0.0.0/0,dscp 0/0
    Apr 21 21:42:55.543: OER BR PBR(det): Create rmap 65DC1CE8
    Apr 21 21:42:55.547: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 24, nexthop
    10.40.40.2

    Where to Go Next

    For information about other Performance Routing features or general conceptual material, see the documents in the “Related Documents” section.

    Additional References

    Related Documents

    Related Topic

    Document Title

    Cisco IOS commands

    Cisco IOS Master Command List, All Releases

    Cisco PfR commands: complete command syntax, command mode, command history, defaults, usage guidelines and examples

    Cisco IOS Performance Routing Command Reference

    Basic PfR configuration

    "Configuring Basic Performance Routing" module

    Concepts required to understand the Performance Routing operational phases

    "Understanding Performance Routing" module

    Advanced PfR configuration

    "Configuring Advanced Performance Routing" module

    IP SLAs overview

    IP SLAs Configuration Guide

    PfR home page with links to PfR-related content on our DocWiki collaborative environment

    PfR:Home

    Technical Assistance

    Description

    Link

    The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

    http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

    Feature Information for Performance Routing PIRO

    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 Performance Routing PIRO

    Feature Name

    Releases

    Feature Information

    PfR - Protocol Independent Route Optimization (PIRO)

    12.2(33)SRE 12.4(24)T

    PIRO introduced the ability of PfR to search for a parent route--an exact matching route, or a less specific route--in the IP Routing Information Base (RIB), allowing PfR to be deployed in any IP-routed environment including Interior Gateway Protocols (IGPs) such as OSPF and IS-IS.

    The following commands were modified by this feature: debug pfr border routesand show pfr master prefix.