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.
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.
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
showpfrmasterprefix command will display PIRO routes as "RIB-PBR" in the output.
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.showpfrmastertraffic-class
4. Move to a border router to enter the next step.
Enables privileged EXEC mode. Enter your password if prompted.
Example:
Router> enable
Step 3
showpfrmastertraffic-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
showpfrmasterprefix 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
showiproute
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
showroute-mapdynamic
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
showipaccess-listdynamic
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
showroute-mapdynamic 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
debugpfrborderroutes{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.
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
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.
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.
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:
debugpfrborderroutesand
showpfrmasterprefix.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.