![]() |
Cisco IOS Performance Routing Command Reference
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A through E
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contents
Chapter A through Eactive-probe (PfR)To configure a Performance Routing (PfR) active probe for a target prefix, use the active-probe command in PfR master controller configuration mode. To disable the active probe, use the no form of this command.
active-probe
probe-type
ip-address
target-port
number
[codec codec-name]
no
active-probe
probe-type
ip-address
Syntax DescriptionUsage GuidelinesThe active-probe command is entered on a PfR master controller. This command is used to optionally configure a master controller to command a border router to transmit active probes to a target IP address or prefix. The active probe is used to measure the delay (round-trip response time) of the target prefix to determine the performance of the current exit and to detect if the prefix is out-of-policy. The border router collects these performance statistics from the active probe and transmits this information to the master controller, which uses this information to optimize the prefix and to select the best available exit based on default and user-defined policies. The performance information is applied to the most specific optimized prefix, which includes the active probe host address. If the prefix is optimized and is currently using the best in-policy exit link, the master controller does not take any action. Active probing requires you to configure a specific host or target address. The target address can also be learned by PfR through the NetFlow or Top Talker and Delay learning functionality. Active probes must be sent out of a PfR-managed external interface, which may or may not be the preferred route for an Optimized Prefix. PfR can be configured to use the following four types of active probes:
PfR uses Cisco IOS IP Service Level Agreements (SLAs), a standard feature in Cisco IOS software, to command a border router to transmit an active probe to the target address. No explicit IP SLA configuration is required on the master controller or the border router. Support for IP SLAs is enabled by default when the PfR process is created. However, a remote responder must be enabled on the target device when configuring an active probe using jitter, UDP echo messages, or when configuring an active probe using TCP connection messages that are configured to use a port other than the TCP well-known port number 23. The remote responder is enabled by configuring the ip sla monitor responder global configuration command on the target device.
ExamplesThe following example shows the commands used to configure an active probe using an ICMP reply (ping) message. The 10.4.9.1 address is the target. No explicit configuration is required on the target device. Router(config)# pfr master Router(config-pfr-mc)# active-probe echo 10.4.9.1 The following example shows the commands used to configure an active probe using jitter messages. The 10.4.9.2 address is the target. The target port number must be specified when configuring this type of probe, and a remote responder must also be enabled on the target device. An optional codec value of g711alaw is specified to be used for MOS calculations. Router(config)# pfr master Router(config-pfr-mc)# active-probe jitter 10.4.9.2 target-port 1001 codec g711alaw The following example shows the commands used to configure an active probe using a TCP connection message. The 10.4.9.3 address is the target. The target port number must be specified when configuring this type of probe. Router(config)# pfr master Router(config-pfr-mc)# active-probe tcp-conn 10.4.9.3 target-port 23 The following example shows the commands used to configure an active probe using UDP messages. The 10.4.9.4 address is the target. The target port number must be specified when configuring this type of probe, and a remote responder must also be enabled on the target device. Router(config)# pfr master Router(config-pfr-mc)# active-probe udp-echo 10.4.9.4 target-port 1001 Related Commands
active-probe address source (PfR)To configure an interface on a Performance Routing (PfR) border router as the source of the active probe, use the active-probe address source command in PfR border router configuration mode. To configure active probing to use a default exit interface, use the no form of this command. Command DefaultThe source IP address is taken from the default PfR external interface that transmits the active probe. Usage GuidelinesThe active-probe address sourcecommand is entered on a border router and allows you to specify the source interface from which active probes are transmitted. When this command is configured, the primary IP address of the specified interface is used as the active probe source. The IP address of the active probe source interface must be unique to ensure that the probe reply is routed back to the specified source interface. If the interface is not configured with an IP address, the active probe will not be generated. If the IP address is changed after the interface has been configured as an active probe source, active probing is stopped and then restarted with the new IP address. If the IP address is removed after the interface has been configured as an active probe source, active probing is stopped and is not restarted until a valid primary IP address is reconfigured. ExamplesThe following example configures Fast Ethernet interface 0/0 as the active probe source: Router(config)# pfr border Router(config-pfr-br)# active-probe address source interface FastEthernet 0/0 The following example configures Gigabit Ethernet interface 0/0/0 as the active probe source:
Router(config)# pfr border
Router(config-pfr-br)# active-probe address source interface GigabitEthernet 0/0/0 aggregation-type (PfR)To configure a Performance Routing (PfR) master controller to aggregate learned prefixes based on the type of traffic flow, use the aggregation-type command in PfR Top Talker and Top Delay learning configuration mode. To set learned prefix aggregation to the default type, use the no form of this command. Syntax Description
Command DefaultIf this command is not configured or if the no form of this command is entered, the default prefix mask for aggregating learned prefixes is 24. Usage GuidelinesThe aggregation-type command is entered on a master controller. This command is used to configure PfR to aggregate learned prefixes based on the traffic flow type. BGP prefixes or non-BGP prefixes can be aggregated, and traffic flows can be aggregated based on prefix length. Entering the bgp keyword configures the aggregation of learned prefixes based on prefix entries in the BGP routing table. This keyword is used if internal BGP (iBGP) peering is enabled in the PfR managed network. Entering the non-bgp keyword configures the aggregation of learned prefixes based on any other routing protocol. Prefix entries that are present in the BGP routing table are ignored when this keyword is entered. api provider (PfR)
To register an application programming interface (API) provider with a Performance Routing (PfR) master controller and to enter PfR master controller application interface provider configuration mode, use the api provider command in PfR master controller configuration mode. To unregister the application interface provider, use the no form of this command. Syntax Description
Command History
Usage GuidelinesThe PfR application interface defines the mode of communication and messaging between applications and the network for the purpose of optimizing the traffic associated with the applications. A provider is defined as an entity outside the network in which the router configured as a PfR master controller exists, for example, an ISP or a branch office of the same company. The provider has one or more host devices running one or more applications that use the PfR application interface to communicate with a PfR master controller. A provider must be registered with a PfR master controller before an application on a host device can interface with PfR. Use the api provider (PfR) command to register the provider, and use the host-address (PfR) command to configure a host device. After registration, a host device in the provider network can initiate a session with a PfR master controller. The PfR application interface provides an automated method for networks to be aware of applications and provides application-aware performance routing. Use the optional priority keyword to specify a priority value for the provider when multiple providers are registered with PfR. The number 1 assigns the highest priority to any requests through the application interface. If you assign a priority, each provider must be assigned a different priority number. If you try to assign the same priority number to two different providers, an error message is displayed on the console.
Use the show pfr api provider command to display information about the currently registered providers. Use the show pfr master policy command with the dynamic keyword to display information about policies created dynamically by an application using the PfR application interface. ExamplesThe following example shows the commands used to register a provider on a master controller. In this example, more than one provider is configured, so the priority is set for each provider. For the single host device configured for provider 101, no priority is set and the default priority value of 65535 is assigned, giving this host device a lower priority than each of the host devices configured for provider 102. Router(config)# pfr master Router(config-pfr-mc)# api provider 101 Router(config-pfr-mc-api-provider)# host-address 10.1.2.2 key-chain PFR_HOST Router(config-pfr-mc-api-provider)# exit Router(config-pfr-mc)# api provider 102 priority 4000 Router(config-pfr-mc-api-provider)# host-address 10.2.2.2 key-chain PFR_HOST priority 3000 Router(config-pfr-mc-api-provider)# host-address 10.2.2.3 key-chain PFR_HOST priority 4000 Router(config-pfr-mc-api-provider)# end Related Commands
application define (PfR)To configure a user-defined custom application to be monitored by Performance Routing (PfR), use the application define command in PfR master controller configuration mode. To remove the definition of a user-defined custom application to be monitored by PfR, use the no form of this command.
application
define
application-name
{access-list access-list-name | nbar}
no
application
define
application-name
Usage GuidelinesThe application define command allows a user-defined custom application to be configured on the master controller as an application that can be used in PfR configuration to create a traffic class that can be measured and controlled using PfR techniques. An access list can be used to define the traffic flows to create a custom application. PfR supports the ability to define a custom application to be identified using NBAR. NBAR includes many defined applications, but a Packet Description Language Module (PDLM) can be used to add a new protocol to the list of supported NBAR applications. A PDLM uses a mapping of static TCP and UDP port numbers to create a custom application. The application defined by a PDLM file must be recognized on a PfR border router and configured on the master controller using the application define command. The PfR master controller makes a request to the border router to determine if the application is supported. Use the show pfr master nbar application command to check if the application is supported on each border router. To display defined applications, use the show pfr master defined or the show pfr border defined commands. ExamplesThe following example, starting in global configuration mode, shows how to define a custom application named ACCESS_DEFINE using an access list. The access list is configured to identify all TCP traffic from any destination or source and from a destination port number of 500. Router(config)# ip access-list ACCESS_DEFINE Router(config-ext-nacl)# permit tcp any any 500 Router(config-ext-nacl)# exit Router(config)# pfr master Router(config-pfr-mc)# application define APP_ACCESS access-list ACCESS_DEFINE Router(config-pfr-mc)# end The following example, starting in global configuration mode, shows how to define a custom application named APP_NBAR1 to be identified using NBAR and used in PfR configuration to create a traffic class that can be measured and controlled using PfR techniques. Router(config)# pfr master Router(config-pfr-mc)# application define APP_NBAR1 nbar Router(config-pfr-mc)# end Related Commands
backoff (PfR)To set the backoff timer to adjust the time period for prefix policy decisions, use the backoff command in PfR master controller configuration mode. To set the backoff timer to the default values, use the no form of this command. Syntax Description
Command DefaultPfR uses the following default values if this command is not configured or if the no form of this command is entered: With CSCtr26978: Command History
Usage GuidelinesThe backoff command is entered on a PfR master controller. This command is used to adjust the transition period during which the master controller holds an out-of-policy prefix. The master controller waits for the transition period before making an attempt to find an in-policy exit. This command is configured with a minimum and maximum timer value and can be configured with an optional step timer.
Configuring a new timer value will immediately replace the existing value if the new value is less than the time remaining. If the new value is greater than the time remaining, the new timer value will be used when the existing timer value expires. bandwidth-resolutionTo globally enable Performance Routing (PfR) bandwidth resolution, use the bandwidth-resolution command in master controller configuration mode. To disable PfR bandwidth resolution, use the no form of this command. Use the bandwidth-resolution command entered in PfR master controller configuration mode to dynamically discover changes in receive or transmit bandwidths at remote sites. border (PfR)To enter PfR managed border router configuration mode to establish communication with a Performance Routing (PfR) border router, use the border command in PfR master controller configuration mode. To disable communication with the specified border router, use the no form of this command. Syntax Description
Command DefaultNo communication is established between a PfR border router and a master controller. Usage GuidelinesThe border command is entered on a master controller. This command is used to establish communication between a master controller and a border router. Border key-chain configuration is required during initial configuration. Once configured, the key-chain keyword is optional. Communication is established between the master controller and the border router processes to allow the master controller to monitor and control prefixes and exit links. Communication must also be established on the border router using the master command. Passive monitoring in PfR observe mode is enabled by default when communication is established between a PfR border router and a master controller. At least one border router must be configured to enable PfR. A maximum of ten border routers can be configured to communicate with a single master controller. The IP address that is used to specify the border router must be assigned to an interface that is physically located on the border router and the IP address must be reachable by the master controller. Communication between the master controller and the border router is protected by key-chain authentication. The authentication key must be configured on both the master controller and the border router before communication can be established. The key-chain configuration is defined in global configuration mode on both the master controller and the border router before key-chain authentication is enabled for master controller to border router communication. For more information about key management in Cisco IOS software, see the "Managing Authentication Keys" section in the "Configuring IP Protocol-Independent Features" chapter of the Cisco IOS IP Routing: Protocol-Independent Configuration Guide . When the border command is entered, the router enters PfR managed border router configuration mode. Local interfaces must be defined as internal or external using the interface(PfR) command. A single PfR master controller can support up to 20 interfaces.
Enabling a Border Router and Master Controller Process on the Same RouterA Cisco router can be configured to perform in dual operation and run a master controller process and a border router process on the same router. However, this router will use more memory than a router that is configured to run only a border router process. This factor should be considered when selecting a router for dual operation. ExamplesThe following example shows the commands used to define a key chain named MASTER in global configuration mode and then configure a master controller to communicate with the 10.4.9.6 border router. The master controller authenticates the border router using the defined key CISCO. Router(config)# key chain MASTER Router(config-keychain)# key 1 Router(config-keychain-key)# key-string CISCO Router(config-keychain-key)# exit Router(config-keychain)# exit Router(config)# pfr master Router(config-pfr-mc)# logging Router(config-pfr-mc)# border 10.4.9.6 key-chain MASTER Router(config-pfr-mc-br)# interface FastEthernet0/0 external Router(config-pfr-mc-br)# interface FastEthernet0/1 internal Related Commands
clear pfr borderTo reset a connection between a Performance Routing (PfR) border router and the PfR master controller, use the clear pfr border command in privileged EXEC mode. Usage GuidelinesThe clear pfr border command is entered on a border router. The border router and master controller will automatically reestablish communication after this command is entered. clear pfr masterTo reset a connection between a Performance Routing (PfR) master controller process and all active border router connections, use the clear pfr master command in privileged EXEC mode. Usage GuidelinesThe clear pfr master command is entered on a master controller. The master controller will restart all configured and default processes and reestablish communication with active border routers after this command is entered. clear pfr master borderTo reset an active Performance Routing (PfR) border router connection or all connections with a PfR master controller, use the clear pfr master border command in privileged EXEC mode. clear pfr master export statisticsTo clear the display of Performance Routing (PfR) statistics for data that is exported from a master controller, use the clear pfr master export statistics command in privileged EXEC mode. Usage GuidelinesPfR NetFlow v9 data export must be enabled before you can use this command. The clear pfr master export statistics command displays statistics for data exported from a master controller when the netflow-v9 keyword is enabled for the export-protocol command. clear pfr master prefixTo clear Performance Routing (PfR) controlled prefixes from the master controller database, use the clear pfr master prefix command in privileged EXEC mode. clear pfr master traffic-classTo clear Performance Routing (PfR) controlled traffic classes from the master controller database, use the clear pfr master traffic-class command in privileged EXEC mode. clear pfr master traffic-class[access-list access-list-name | application application-name [prefix] | inside | learned [delay | inside | list list-name | throughput] | prefix prefix | prefix-list prefix-list-name]
Syntax Description
Usage GuidelinesThe clear pfr master traffic-class command is entered on a master controller. To clear PfR-controlled traffic classes defined by an application identified using Network-Based Application Recognition (NBAR) from the master controller database, use the clear pfr master traffic-class application nbar command. The table below displays the keywords that represent the application that can be configured with the clear pfr master traffic-class command. Replace the application-name argument with the appropriate keyword from the table.
ExamplesThe following example shows how to clear traffic classes defined by the Secure Shell (SSH) application and the 10.1.1.0/24 prefix:
Router# clear pfr master traffic-class application ssh 10.1.1.0/24
The following example shows how to clear traffic classes that were learned:
Router# clear pfr master traffic-class learned
clear pfr master traffic-class application nbarTo clear Performance Routing (PfR) controlled traffic classes defined by an application identified using network-based application recognition (NBAR), from the master controller database, use the clear pfr master traffic-class application nbar command in privileged EXEC mode. Usage GuidelinesThe clear pfr master traffic-class application nbar command is entered on a master controller. To clear all other types of PfR-controlled traffic classes from the master controller database, use the clear pfr master traffic-class command. NBAR can identify applications based on the following three types of protocols:
Use the clear pfr master traffic-class application nbar ? command to determine if an application can be identified using NBAR, and replace the nbar-app-name argument with the appropriate keyword from the screen display. The list of applications identified using NBAR and available for profiling PfR traffic classes is constantly evolving. For lists of many of the NBAR applications defined using static or dynamically assigned ports, see the "Performance Routing with NBAR/CCE Application and Recognition" module. For more details about NBAR, see the "Classifying Network Traffic Using NBAR" section of the QoS: NBAR Configuration Guide. If the prefix argument is specified, only the PfR-controlled traffic class that matches the application specified by the nbar-app-name argument and the destination prefix specified by the prefix argument are cleared. If the prefix argument is not specified, all PfR-controlled traffic classes that match the application specified by the nbar-app-name argument, regardless of the destination prefix, are cleared. ExamplesThe following example shows how to determine the keyword that represents an application identified using NBAR in order to clear the PfR traffic classes defined by the application:
Router# clear pfr master traffic-class application nbar ?
The following example shows how to clear PfR traffic classes defined by the RTP-audio application that is identified using NBAR and the 10.1.1.0/24 prefix:
Router# clear pfr master traffic-class application nbar rtp-audio 10.1.1.0/24
The following example shows how to clear all PfR traffic classes defined by applications identified using NBAR:
Router# clear pfr master traffic-class application nbar
cost-minimization (PfR)To configure Performance Routing (PfR) cost-based optimization policies on a master controller, use the cost-minimization command in PfR border exit interface configuration mode. To disable a cost-based optimization policy, use the no form of this command. cost-minimization {calc {combined | separate | sum} | discard [daily] {absolute number | percent percentage} | end day-of-month day [offset [-] hh:mm] | fixed fee [cost] | nickname name | sampling period minutes [rollup minutes] | summer-time start end [offset] | tier percentage fee fee}
no cost-minimization {calc | discard | end day-of-month day [offset [-] hh:mm] | fixed fee [cost] | nickname | sampling | summer-time | tier percentage}
Syntax Description
Usage GuidelinesThe cost-minimization command is configured on a master controller. Cost-based optimization allows you to configure link policies based on the Internet service provider (ISP) financial cost of each exit link in your network. The cost-minimizationcommand allows you to configure the master controller to send traffic over exit links that provide the most cost-effective bandwidth utilization, while still maintaining the desired performance characteristics. ExamplesThe following example, starting in global configuration mode, configures cost-based optimization on a master controller. Cost optimization configuration is applied under the external interface configuration. A policy for a tiered billing cycle is configured. Calculation is configured separately for egress and ingress samples. The time interval between sampling is set to 10 minutes. These samples are configured to be rolled up every 60 minutes. In this example, summer time is configured to start the second week in March on a Sunday at 2 in the morning plus one hour, and to end on Sunday in the first week in November at 2 in the morning minus one hour. The last day of the billing cycle is on the 30th day of the month with an offset of 5 hours added to UTC to adjust for the time zone. Router(config)# pfr master Router(config-pfr-mc)# border 10.5.5.55 key-chain key Router(config-pfr-mc-br)# interface Ethernet 0/0 external Router(config-pfr-mc-br-if)# cost-minimization nickname ISP1 Router(config-pfr-mc-br-if)# cost-minimization summer-time 2 Sun Mar 02:00 1 Sun Nov 02:00 60 Router(config-pfr-mc-br-if)# cost-minimization end day-of-month 30 offset 23:59 Router(config-pfr-mc-br-if)# cost-minimization calc separate Router(config-pfr-mc-br-if)# cost-minimization sampling period 10 rollup 60 Router(config-pfr-mc-br-if)# cost-minimization tier 100 fee 1000 Router(config-pfr-mc-br-if)# cost-minimization tier 90 fee 900 Router(config-pfr-mc-br-if)# cost-minimization tier 80 fee 800 Router(config-pfr-mc-br-if)# end Related Commands
count (PfR)To set the number of traffic classes to be learned by a learn list during a Performance Routing (PfR) learn session, use the count command in learn list configuration mode. To reset the number of traffic classes to be learned by a learn list to the default values, use the no form of this command. Syntax Description
Command DefaultIf this command is not configured, the number of traffic classes to be learned by a learn list during a PfR learn session is set to the default values:number: 1000 max-number: 1000 Command History
Usage GuidelinesUse this command to set the number of traffic classes that a border router sends to the master controller for a learn list during a PfR learn session. An overall maximum number of traffic classes for a learn list can also be configured. To reflect the growth in network size, the number of prefixes/traffic classes to be learned in one learn list session was increased from 100 to 1000 with CSCto24563. The maximum number of traffic classes to be learned over all session of the learn list was also increased to 1000. The defaults for both arguments is 1000. In releases prior to CSCto24563, the number was 50 and the max-number argument was 100. ExamplesIn the following example, the number of traffic classes to be learned in the first learn list (remote login traffic class) session is set to 500, and the maximum number of traffic classes to be learned for all sessions of the first learn list is set to 900. The second traffic class for file transfer traffic is configured with a maximum number of traffic classes set to 800, with 400 traffic classes set to be learned in a single session. Starting in global configuration mode, application traffic classes are defined using two PfR learn lists, LEARN_REMOTE_LOGIN_TC and LEARN_FILE_TRANSFER_TC. The remote login traffic class is configured using keywords representing Telnet and Secure Shell (SSH) traffic, and the resulting prefixes are aggregated to a prefix length of 24. The file transfer traffic class is configured using a keyword that represents FTP and is also aggregated to a prefix length of 24. A prefix-list is applied to the file transfer traffic class to permit traffic from the 10.0.0.0/8 prefix. The master controller is configured to learn the top prefixes based on the highest outbound throughput for the filtered traffic, and the resulting traffic classes are added to the PfR application database. Router(config)# ip prefix-list INCLUDE_10_NET 10.0.0.0/8 Router(config)# pfr master Router(config-pfr-mc)# learn Router(config-pfr-mc-learn)# list seq 10 refname LEARN_REMOTE_LOGIN_TC Router(config-pfr-mc-learn-list)# count 500 max 900 Router(config-pfr-mc-learn-list)# traffic-class application telnet ssh Router(config-pfr-mc-learn-list)# aggregation-type prefix-length 24 Router(config-pfr-mc-learn-list)# throughput Router(config-pfr-mc-learn-list)# exit Router(config-pfr-mc-learn)# list seq 20 refname LEARN_FILE_TRANSFER_TC Router(config-pfr-mc-learn-list)# count 400 max 800 Router(config-pfr-mc-learn-list)# traffic-class application ftp filter INCLUDE_10_NET Router(config-pfr-mc-learn-list)# aggregation-type prefix-length 24 Router(config-pfr-mc-learn-list)# throughput Router(config-pfr-mc-learn-list)# end Related Commands
debug pfr api
To display Performance Routing (PfR) application interface debugging information, use the debug pfr api command in privileged EXEC mode. To stop the display of PfR application interface debugging information, use the no form of this command. Command History
Usage GuidelinesThe debug pfr api command is used to display messages about any configured PfR application interface providers or host devices. The PfR application interface defines the mode of communication and messaging between applications and the network for the purpose of optimizing the traffic associated with the applications. A provider is defined as an entity outside the network in which the router configured as a PfR master controller exists, for example, an ISP or a branch office of the same company. The provider has one or more host devices running one or more applications that use the PfR application interface to communicate with a PfR master controller. A provider must be registered with a PfR master controller before an application on a host device can interface with PfR. Use the api provider (PfR) command to register the provider, and use the host-address (PfR) command to configure a host device. After registration, a host device in the provider network can initiate a session with a PfR master controller. The application interface provides an automated method for networks to be aware of applications and provides application-aware performance routing. ExamplesThe following example shows the commands used to display PfR application interface debugging messages, and the output shows that a PfR policy failed due to a prefix that is not found:
Router# debug pfr api
OER api debugging is on
*May 26 01:04:07.278: OER API: Data set id received 5, data set len 9, host ip 10.3.3.3,
session id 1, requies2
*May 26 01:04:07.278: OER API: Received get current policy, session id 1 request id 22
*May 26 01:04:07.278: OER API: Recvd Appl with Prot 256 DSCP 0 SrcPrefix 0.0.0.0/0
SrcMask 0.0.0.0
*May 26 01:04:07.278: OER API: DstPrefix 10.2.0.0/24 DstMask 255.255.255.0 Sport_min 0
Sport_max 0 Dport_mi0
*May 26 01:04:07.278: OER API: get prefix policy failed - prefix not found
*May 26 01:04:07.278: OER API: Get curr policy cmd received. rc 0
*May 26 01:04:07.278: OER API: Received send status response, status 0, session id 1,
request id 22, sequence0
*May 26 01:04:07.278: OER API: rc for data set 0
The table below describes the significant fields shown in the display. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. Related Commands
debug pfr borderTo display general Performance Routing (PfR) border router debugging information, use the debug pfr border command in privileged EXEC mode. To stop the display of PfR debugging information, use the no form of this command. Usage GuidelinesThe debug pfr border command is entered on a border router. This command is used to display debugging information about the PfR border process, controlled routes, and monitored prefixes. debug pfr border active-probeTo display debugging information for active probes configured on the local border router, use the debug pfr border active-probe command in privileged EXEC mode. To stop the display of debug event information, use the no form of this command. Usage GuidelinesThe debug pfr border active-probe command is entered on a border router. This command is used to display the status and results of active probes that are configured on the local border router. ExamplesThe following example enables the display of active-probe debug information on a border router:
Router# debug pfr border active-probe
*May 4 23:47:45.633: OER BR ACTIVE PROBE: Attempting to retrieve Probe
Statistics.
probeType = echo, probeTarget = 10.1.5.1, probeTargetPort = 0
probeSource = Default, probeSourcePort = 0, probeNextHop = Default
probeIfIndex = 13
*May 4 23:47:45.633: OER BR ACTIVE PROBE: Completed retrieving Probe
Statistics.
probeType = echo, probeTarget = 10.1.5.1, probeTargetPort = 0
probeSource = Default, probeSourcePort = 0, probeNextHop = 10.30.30.2
probeIfIndex = 13, SAA index = 15
*May 4 23:47:45.633: OER BR ACTIVE PROBE: Completions 11, Sum of rtt 172,
Max rtt 36, Min rtt 12
*May 4 23:47:45.693: OER BR ACTIVE PROBE: Attempting to retrieve Probe
Statistics.
probeType = echo, probeTarget = 10.1.4.1, probeTargetPort = 0
probeSource = Default, probeSourcePort = 0, probeNextHop = Default
probeIfIndex = 13
*May 4 23:47:45.693: OER BR ACTIVE PROBE: Completed retrieving Probe
Statistics.
probeType = echo, probeTarget = 10.1.4.1, probeTargetPort = 0
probeSource = Default, probeSourcePort = 0, probeNextHop = 10.30.30.2
probeIfIndex = 13, SAA index = 14
debug pfr border bandwidth-resolutionTo display Performance Routing (PfR) bandwidth resolution debugging information on a local border router, use the debug pfr border bandwidth-resolution command in privileged EXEC mode. To stop the display of PfR bandwidth resolution debugging information, use the no form of this command. Usage GuidelinesThe debug pfr border bandwidth-resolution command is used to display debugging messages that may help troubleshoot PfR bandwidth resolution issues on a local border router. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. debug pfr border learnTo display debugging information about learned prefixes on the local border router, use the debug pfr border learn command in privileged EXEC mode. To stop the display of debug event information, use the no form of this command. Usage GuidelinesThe debug pfr border learn command is entered on a border router. This command is used to display debugging information about prefixes learned on the local border router. ExamplesThe following example enables the display of active-probe debug information on a border router:
Router# debug pfr border learn
*May 4 22:51:31.971: OER BR LEARN: Reporting prefix 1: 10.1.5.0, throughput 201
*May 4 22:51:31.971: OER BR LEARN: Reporting 1 throughput learned prefixes
*May 4 22:51:31.971: OER BR LEARN: State change, new STOPPED, old STARTED, reason Stop Learn
debug pfr border routesTo display debugging information for Performance Routing (PfR) controlled or monitored routes on the local border router, use the debug pfr border routes command in privileged EXEC mode. To stop the display of debug event information, use the no form of this command.
debug
pfr
border
routes
{bgp | eigrp [detail] | piro [detail] | static}
no
debug
pfr
border
routes
{bgp | eigrp | piro | static}
Syntax Description
Usage GuidelinesThe debug pfr border routes command is entered on a border router. This command is used to display the debugging information about PfR-controlled or monitored routes on the local border router. PIRO provides the ability for PfR to search for a parent route, defined as an exact matching route or a less specific route, in any IP Routing Information Base (RIB). If a parent route for the traffic class exists in the RIB, policy-based routing is used to control the prefix. EIGRP route control provides the ability for PfR to search for a parent route--an exact matching route, or a less specific route--in the EIGRP routing table. If a parent route for the traffic class exists in the EIGRP routing table, temporary EIGRP routes are injected and identified by adding a configurable extended community tag value. ExamplesThe following example shows how to display active-probe debug information on a border router:
Router# debug pfr border routes bgp
*May 4 22:35:53.239: OER BGP: Control exact prefix 10.1.5.0/24
*May 4 22:35:53.239: OER BGP: Walking the BGP table for 10.1.5.0/24
*May 4 22:35:53.239: OER BGP: Path for 10.1.5.0/24 is now under OER control
*May 4 22:35:53.239: OER BGP: Setting prefix 10.1.5.0/24 as OER net#
The following example shows how to display detailed debugging information for PIRO routes and shows that the parent route for the prefix 10.1.1.0 is found in the RIB and a route map is created to control the application. Note that detailed border PBR debugging is also active.
Router# debug pfr border routes piro detail
Feb 21 00:20:44.431: PIRO: Now calling ip_get_route
Feb 21 00:20:44.431: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 255.255.255.0,
nexthop 10.1.1.0 for network 10.1.1.0/24
...
Feb 21 00:22:46.771: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 255.255.255.0,
nexthop 10.1.1.0 for network 10.1.1.0/24
Feb 21 00:22:46.771: PFR PIRO: Control Route, 10.1.1.0/24, NH 0.0.0.0, IF Ethernet4/2
Feb 21 00:22:46.771: PIRO: Now calling ip_get_route
Feb 21 00:22:46.771: PIRO: Now calling ip_get_route
Feb 21 00:22:46.771: PFR PIRO: Parent lookup found parent 10.1.1.0, mask 255.255.255.0,
nexthop 10.1.1.0 for network 10.1.1.0/24
Feb 21 00:22:46.771: OER BR PBR(det): control app: 10.1.1.0/24, nh 0.0.0.0, if
Ethernet4/2,ip prot 256, dst opr 0, src opr 0, 0 0 0 0, src net 0.0.0.0/0, dscp 0/0
Feb 21 00:22:46.771: OER BR PBR(det): Create rmap 6468E488
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) T 10.1.1.0/24 EVENT Track
start
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) N 10.1.1.0/24 Adding track
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) N 10.1.1.0/24 QP Schedule
query
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) T 10.1.1.0/24 EVENT Query
found route
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) N 10.1.1.0/24 Adding route
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) R 10.1.1.0/24 d=0 p=0 ->
Updating
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) R 10.1.1.0/24 d=110 p=1 ->
Et4/2 40.40.40.2 40 Notifying
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: Adding to client notification queue
Feb 21 00:22:46.775: PfR-RIB RIB_RWATCH: (default:ipv4:base) W 10.1.1.0/24 c=0x15 Client
notified reachable
Feb 21 00:22:46.779: PFR PIRO: Route update rwinfo 680C8E14, network 10.1.1.0, mask_len 24
event Route Up
Feb 21 00:22:46.779: OER BR PBR(det): PIRO Path change notify for prefix:10.1.1.0,
masklen:24, reason:1
debug pfr border rsvpTo display debugging information for Performance Routing (PfR) Resouce Reservation Protocol (RSVP) events on a PfR border controller, use the debug pfr border rsvp command in privileged EXEC mode. To stop PfR RSVP event debugging, use the no form of this command. Usage GuidelinesThe debug pfr border rsvp command is entered on a border controller. The output displays information related to RSVP events or updates.
ExamplesThe following example shows some example debugging output for RSVP flow events on a PfR border router. The actual output depends on the commands that are entered after the debugging is turned on.
Router# debug pfr border rsvp
Jan 23 21:18:19.434 PST: PfR RSVP:RESOLVE called for src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1; tspec 1
Jan 23 21:18:19.434 PST: PfR RSVP:hash index = 618
Jan 23 21:18:19.434 PST: PfR RSVP:Searching flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1
Jan 23 21:18:19.434 PST: PfR RSVP:Add flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1
Jan 23 21:18:19.434 PST: PfR RSVP:hash index = 618
Jan 23 21:18:19.434 PST: PfR RSVP:Searching flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1
Jan 23 21:18:19.434 PST: PfR RSVP:hash index = 618
Jan 23 21:18:19.434 PST: PfR RSVP:successfully added the flow to the db
Jan 23 21:18:19.434 PST: PfR RSVP:flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1 lookup; topoid: 0
Jan 23 21:18:19.434 PST: PfR RSVP(det):ret nh: 10.185.252.1, idb: 35
Jan 23 21:18:19.434 PST: PfR RSVP:Adding new context
Jan 23 21:18:19.434 PST: PfR RSVP(det):Num contexts: 0
Jan 23 21:18:19.434 PST: PfR RSVP(det):Num contexts: 1
Jan 23 21:18:19.434 PST: PfR RSVP:flow src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1 now pending notify
Jan 23 21:18:19.434 PST: PfR RSVP:Resolve on flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1
Jan 23 21:18:19.434 PST: PfR RSVP:Filtering flow: src: 10.1.0.12 dst: 10.1.25.19
proto: 17 sport: 1 dport: 1
debug pfr border traceroute reportingTo display debugging information for traceroute probes on the local border router, use the debug pfr border traceroute reporting command in privileged EXEC mode. To stop the display of debug event information, use the no form of this command. Usage GuidelinesThe debug pfr border traceroute reporting command is entered on a border router. This command is used to display the debugging information about traceroute probes sourced on the local border router. ExamplesThe following example enables the display of active-probe debug information on a border router:
Router# debug pfr border traceroute reporting
May 19 03:46:23.807: OER BR TRACE(det): Received start message: msg1 458776,
msg2 1677787648, if index 19, host addr 100.1.2.1, flags 1, max ttl 30,
protocol 17, probe delay 0
May 19 03:46:26.811: OER BR TRACE(det): Result msg1 458776,
msg2 1677787648 num hops 30 sent May 19 03:47:20.919: OER BR TRACE(det):
Received start message: msg1 524312, msg2 1677787648, if index 2,
host addr 100.1.2.1, flags 1, max ttl 30, protocol 17, probe delay 0
May 19 03:47:23.923: OER BR TRACE(det): Result msg1 524312,
msg2 1677787648 num hops 3 sent
debug pfr border tunnelTo display Performance Routing (PfR) dynamic tunnel debugging information on a border router, use the debug pfr border tunnel command in privileged EXEC mode. To stop the display of PfR dynamic tunnel debugging information on a border router, use the no form of this command. Usage GuidelinesThe debug pfr border tunnel command is used to display debugging messages about PfR dynamic tunnel creation, removal, or status that may help troubleshoot issues. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. ExamplesThe following example shows how to display PfR dynamic tunnel debugging messages. This command is entered at a border router.
Router# debug pfr border tunnel
PfR Border Tunnel debugging is on
Router(config-pfr-br)#
*Jun 16 21:39:45.827: PFR BR TUNNEL: send the tunnel destroy status back to the MC
The table below describes the significant fields shown in the display. debug pfr ccTo display Performance Routing (PfR) communication control debugging information for master controller and border router communication, use the debug pfr cc command in privileged EXEC mode. To stop the display of PfR debugging information, use the no form of this command. Usage GuidelinesThe debug pfr cc command can be entered on a master controller or on a border router. This command is used to display messages exchanged between the master controller and the border router. These messages include control commands, configuration commands, and monitoring information. Enabling this command will cause very detailed output to be displayed and can utilize a considerable amount of system resources. This command should be enabled with caution in a production network. debug pfr master bandwidth-resolutionTo display Performance Routing (PfR) bandwidth resolution debugging information on a PfR master controller, use the debug pfr master bandwidth-resolution command in privileged EXEC mode. To stop the display of PfR bandwidth resolution debugging information, use the no form of this command. Usage GuidelinesThe debug pfr master bandwidth-resolution command is used to display debugging messages that may help troubleshoot PfR bandwidth resolution issues. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. ExamplesThe following example shows the command used to enable the display of PfR bandwidth resolution debugging messages. After the debugging is enabled, this example shows debugging messages that may be displayed after bandwidth resolution is disabled using the no bandwidth-resolution command. The example shows that PfR bandwidth resolution is torn down. Router# debug pfr master bandwidth-resolution PfR Master Bandwidth-Resolution debugging is on Device# configure terminal *Oct 5 23:06:30.548: PFR_MC_BW: prereq: wait, origin:0.0.0.0 handle:2 (pid:193) Router(config)# pfr master Router(config-pfr-mc)# no bandwidth-resolution Device(config-pfr-mc)# *Oct 5 23:07:04.592: PFR_MC_BW: BW Res teardown start, mode:5 *Oct 5 23:07:04.592: PFR_MC_BW: prereqs process killed (pid:193) by teardown *Oct 5 23:07:04.592: PFR_MC_BW: SvcUnreg: handle:2 *Oct 5 23:07:04.600: PFR_MC_BW: bwres db destroyed *Oct 5 23:07:04.600: PFR_MC_BW: BW Res teardown fin, mode:5 The table below describes the significant fields shown in the display.
debug pfr master borderTo display debugging information for Performance Routing (PfR) border router events on a PfR master controller, use the debug pfr master border command in privileged EXEC mode. To stop border router event debugging, use the no form of this command. Usage GuidelinesThe debug pfr master border command is entered on a master controller. The output displays information related to the events or updates from one or more border routers. ExamplesThe following example shows how to display the status of two border routers. Both routers are up and operating normally.
Router# debug pfr master border
OER Master Border Router debugging is on
Router#
1d05h: OER MC BR 10.4.9.7: BR I/F update, status UP, line 1 index 1, tx bw 10000
0, rx bw 100000, time, tx ld 0, rx ld 0, rx rate 0 rx bytes 3496553, tx rate 0,
tx bytes 5016033
1d05h: OER MC BR 10.4.9.7: BR I/F update, status UP, line 1 index 2, tx bw 10000
0, rx bw 100000, time, tx ld 0, rx ld 0, rx rate 0 rx bytes 710149, tx rate 0, t
x bytes 1028907
1d05h: OER MC BR 10.4.9.6: BR I/F update, status UP, line 1 index 2, tx bw 10000
0, rx bw 100000, time, tx ld 0, rx ld 0, rx rate 0 rx bytes 743298, tx rate 0, t
x bytes 1027912
1d05h: OER MC BR 10.4.9.6: BR I/F update, status UP, line 1 index 1, tx bw 10000
0, rx bw 100000, time, tx ld 0, rx ld 0, rx rate 0 rx bytes 3491383, tx rate 0,
tx bytes 5013993
debug pfr master collectorTo display data collection debugging information for PfR monitored prefixes, use the debug pfr master collector command in privileged EXEC mode. To disable the display of this debugging information, use the no form of this command.
debug
pfr
master
collector
{active-probes [detail [trace] ] | netflow}
no
debug
pfr
master
collector
{active-probes [detail [trace] ] | netflow}
Syntax Description
Usage GuidelinesThe debug pfr master collector command is entered on a master controller. The output displays data collection information for monitored prefixes. ExamplesThe following example shows how to display aggregate active probe results for the 10.1.0.0/16 prefix on all border routers that are configured to execute this active probe:
Router# debug pfr master collector active-probes
*May 4 22:34:58.221: OER MC APC: Probe Statistics Gathered for prefix 10.1.0.0/16 on all exits,
notifying the PDP
*May 4 22:34:58.221: OER MC APC: Summary Exit Data (pfx 10.1.0.0/16, bdr 10.2.2.2, if 13,
nxtHop Default):savg delay 13, lavg delay 14, sinits 25, scompletes 25
*May 4 22:34:58.221: OER MC APC: Summary Prefix Data: (pfx 10.1.0.0/16) sloss 0, lloss 0, sunreach 25,
lunreach 25, savg raw delay 15, lavg raw delay 15, sinits 6561, scompletes 6536, linits 6561, lcompletes 6536
*May 4 22:34:58.221: OER MC APC: Active OOP check done
The following example shows how to display aggregate active probe results from each target for the 10.1.0.0/16 prefix on all border routers that are configured to execute this active probe:
Router# debug pfr master collector active-probes detail
*May 4 22:36:21.945: OER MC APC: Rtrv Probe Stats: BR 10.2.2.2, Type echo,
Tgt 10.1.1.1,TgtPt 0, Src Default, SrcPt 0, NxtHp Default, Ndx 13
*May 4 22:36:22.001: OER MC APC: Remote stats received: BR 10.2.2.2, Type
echo, Tgt 10.15.1, TgtPt 0, Src Default, SrcPt 0, NxtHp Default, Ndx 13
*May 4 22:36:22.313: OER MC APC: Perf data point (pfx 10.1.0.0/16, bdr
10.2.2.2, if 13, xtHop Default): avg delay 20, loss 0, unreach 0,
initiations 2, completions 2, delay sum40, ldelay max 20, ldelay min 12
*May 4 22:36:22.313: OER MC APC: Perf data point (pfx 10.1.0.0/16, bdr
10.2.2.2, if 13, xtHop Default): avg delay 20, loss 0, unreach 0,
initiations 2, completions 2, delay sum40, ldelay max 20, ldelay min 12
*May 4 22:36:22.313: OER MC APC: Probe Statistics Gathered for prefix
10.1.0.0/16 on al exits, notifying the PDP
*May 4 22:36:22.313: OER MC APC: Active OOP check done
The following example shows how to display aggregate active probe results and historical statistics from each target for the 10.1.0.0/16 prefix on all border routers that are configured to execute this active probe:
Router# debug pfr master collector active-probes detail trace
*May 4 22:40:33.845: OER MC APC: Rtrv Probe Stats: BR 10.2.2.2, Type echo,
Tgt 10.1.5.1, TgtPt 0, Src Default, SrcPt 0, NxtHp Default, Ndx 13
*May 4 22:40:33.885: OER MC APC: Remote stats received: BR 10.2.2.2, Type
echo, Tgt 10.1.5.1, TgtPt 0, Src Default, SrcPt 0, NxtHp Default, Ndx 13
*May 4 22:40:34.197: OER MC APC: Remote stats received: BR 10.2.2.2, Type
echo, Tgt 10.1.2.1, TgtPt 0, Src Default, SrcPt 0, NxtHp Default, Ndx 13
*May 4 22:40:34.197: OER MC APC: Updating Probe (Type echo Tgt 10.1.2.1
TgtPt 0) Total Completes 1306, Total Attempts 1318
*May 4 22:40:34.197: OER MC APC: All stats gathered for pfx 10.1.0.0/16
Accumulating Stats
*May 4 22:40:34.197: OER MC APC: Updating Curr Exit Ref (pfx 10.1.0.0/16,
bdr 10.2.2.2, if 13, nxtHop Default) savg delay 17, lavg delay 14, savg loss
0, lavg loss 0, savg unreach 0, lavg unreach 0
*May 4 22:40:34.197: OER MC APC: Probe Statistics Gathered for prefix
10.1.0.0/16 on all exits, notifying the PDP
*May 4 22:40:34.197: OER MC APC: Active OOP check done
The following example shows how to display passive monitoring results for the 10.1.5.0/24 prefix:
Router# debug pfr master collector netflow
*May 4 22:31:45.739: OER MC NFC: Rcvd egress update from BR 10.1.1.2
prefix 10.1.5.0/24 Interval 75688 delay_sum 0 samples 0 bytes 20362 pkts 505 flows 359
pktloss 1 unreach 0
*May 4 22:31:45.739: OER MC NFC: Updating exit_ref; BR 10.1.1.2 i/f Et1/0, s_avg_delay 655,
l_avg_delay 655, s_avg_pkt_loss 328, l_avg_pkt_loss 328, s_avg_flow_unreach 513, l_avg_flow_unreach 513
*May 4 22:32:07.007: OER MC NFC: Rcvd ingress update from BR 10.1.1.3
prefix 10.1.5.0/24 Interval 75172 delay_sum 42328 samples 77 bytes 22040 pkts 551 flows 310
pktloss 0 unreach 0
debug pfr master cost-minimizationTo display debugging information for cost-based optimization policies, use the debug pfr master cost-minimization command in privileged EXEC mode. To disable the display of this debugging information, use the no form of this command. Usage GuidelinesThe debug pfr master cost-minimization command is entered on a master controller. The output displays debugging information for cost-minimization policies. ExamplesThe following example shows how to display detailed cost-based optimization policy debug information:
Router# debug pfr master cost-minimization detail
OER Master cost-minimization Detail debugging is on
*May 14 00:38:48.839: OER MC COST: Momentary target utilization for exit 10.1.1.2 i/f
Ethernet1/0 nickname ISP1 is 7500 kbps, time_left 52889 secs, cumulative 16 kb, rollup
period 84000 secs, rollup target 6000 kbps, bw_capacity 10000 kbps
*May 14 00:38:48.839: OER MC COST: Cost OOP check for border 10.1.1.2, current util: 0
target util: 7500 kbps
*May 14 00:39:00.199: OER MC COST: ISP1 calc separate rollup ended at 55 ingress Kbps
*May 14 00:39:00.199: OER MC COST: ISP1 calc separate rollup ended at 55 egress bytes
*May 14 00:39:00.199: OER MC COST: Target utilization for nickname ISP1 set to 6000,
rollups elapsed 4, rollups left 24
*May 14 00:39:00.271: OER MC COST: Momentary target utilization for exit 10.1.1.2 i/f
Ethernet1/0 nickname ISP1 is 7500 kbps, time_left 52878 secs, cumulative 0 kb, rollup
period 84000 secs, rollup target 6000 kbps, bw_capacity 10000 kbps
*May 14 00:39:00.271: OER MC COST: Cost OOP check for border 10.1.1.2, current util: 0
target util: 7500 kbps
Related Commands
debug pfr master exitTo display debug event information for Performance Routing (PfR) managed exits, use the debug pfr master exit command in privileged EXEC mode. To stop the display of debug event information, use the no form of this command. Usage GuidelinesThe debug pfr master exit command is entered on a master controller. This command is used to display debugging information for master controller exit selection processes. ExamplesThe following example shows output from the debug pfr master exit command, entered with the detailkeyword:
Router# debug pfr master exit detail
*May 4 11:26:51.539: OER MC EXIT: 10.1.1.1, intf Fa4/0 INPOLICY
*May 4 11:26:52.195: OER MC EXIT: 10.2.2.3, intf Se2/0 INPOLICY
*May 4 11:26:55.515: OER MC EXIT: 10.1.1.2, intf Se5/0 INPOLICY
*May 4 11:29:14.987: OER MC EXIT: 7 kbps should be moved from 10.1.1.1, intf Fa4/0
*May 4 11:29:35.467: OER MC EXIT: 10.1.1.1, intf Fa4/0 in holddown state so skip OOP check
*May 4 11:29:35.831: OER MC EXIT: 10.2.2.3, intf Se2/0 in holddown state so skip OOP check
*May 4 11:29:39.455: OER MC EXIT: 10.1.1.2, intf Se5/0 in holddown state so skip OOP check
debug pfr master exportTo display debugging information about Performance Routing (PfR) performance data that is exported in NetFlow v9 format from a master controller, use the debug pfr master export command in privileged EXEC mode. To disable this debugging information, use the no form of this command. ExamplesThe following example shows how to enable the display of debugging messages of PfR performance data that is exported in NetFlow v9 format from a master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export
debug pfr master export activeTo display debugging information for Performance Routing (PfR) master collector active export monitoring, use the debug pfr master export active command in privileged EXEC mode. To stop the display of this debugging information, use the no form of this command.
debug pfr master export active [update | performance]
[traffic-class-id]
no debug pfr master export active
ExamplesThe following example shows how to enable the display of PfR master collector active export monitoring debugging messages. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export active 1
00:29:25: debug: debug(tc_id=1)
Related Commands
debug pfr master export borderTo display debugging information for Performance Routing (PfR) border router events that are exported from a PfR master controller, use the debug pfr master export border command in privileged EXEC mode. To disable this debugging information, use the no form of this command. ExamplesThe following example shows how to enable the display of debugging information for PfR border router events that are exported from a PfR master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export border
debug pfr master export configTo display debugging information about the configuration that is used for exporting Performance Routing (PfR) performance data from a master controller, use the debug pfr master export config command in privileged EXEC mode. To disable this debugging information, use the no form of this command. ExamplesThe following example shows how to enable the display of debugging information about the configuration that is used for exporting PfR performance data from a master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export config
debug pfr master export cost-minimizationTo display debugging information for Performance Routing (PfR) cost-based optimization policies that are exported from a master controller, use the debug pfr master export cost-minimization command in privileged EXEC mode. To disable the display of this debugging information, use the no form of this command. Usage GuidelinesThe debug pfr master export cost-minimization command is entered on a master controller. The output displays debugging information for cost-minimization policies that are exported from a master controller. ExamplesThe following example shows how to enable the display of debugging information for PfR cost-based optimization policies that are exported from a master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export cost-minimization
Related Commands
debug pfr master export linkTo display debugging information for Performance Routing (PfR) master collector export links, use the debug pfr master export link command in privileged EXEC mode. To stop the display of this debugging information, use the no form of this command. ExamplesThe following example shows how to enable the display PfR master collector export links debugging messages. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export link external-link
00:29:25: debug: debug(tc_id=1)
Related Commands
debug pfr master export optionTo display debugging information about the export type that is used when Performance Routing (PfR) performance data is exported from a master controller, use the debug pfr master export option command in privileged EXEC mode. To disable this debugging information, use the no form of this command.
debug
pfr
master export option [tc-config | policy-config | external-config | internal-config | reason-config]
no debug
pfr
master export option [tc-config | policy-config | external-config | internal-config | reason-config]
Syntax Description
ExamplesThe following example shows how to enable the display of debugging information about the export type that is used when PfR performance data is exported from a master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export option
debug pfr master export passiveTo display debugging information for Performance Routing (PfR) master collector active export monitoring, use the debug pfr master export passive command in privileged EXEC mode. To stop the display of this debugging information, use the no form of this command.
debug pfr master export passive [update | performance]
[traffic-class-id]
no debug pfr master export passive
ExamplesThe following example shows how to enable the display of PfR master collector active export monitoring debugging messages. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export passive 1
00:29:25: debug: debug(tc_id=1)
Related Commands
debug pfr master export processTo display debugging information about the Performance Routing (PfR) data export process when data is exported from a master controller, use the debug pfr master export process command in privileged EXEC mode. To disable this debugging information, use the no form of this command. ExamplesThe following example shows how to enable the display of debugging information about the PfR data export process when data is exported from a master controller. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export process
debug pfr master export traffic-classTo display debugging information for Performance Routing (PfR) performance data exported from one or all master collector export traffic classes, use the debug pfr master export traffic-class command in privileged EXEC mode. To stop the display of this debugging information, use the no form of this command. Usage GuidelinesIf a specific PfR master collector export traffic class is not entered, debugging information for all master collector traffic classes is displayed. ExamplesThe following example shows how to enable the display of debugging information about PfR performance data exported from one or all master collector export traffic classes. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt.
Router# debug pfr master export traffic-class 2
00:29:25: debug: debug(tc_id=1)
Related Commands
debug pfr master learnTo display debug information for PfR master controller learning events, use the debug pfr master learn command in privileged EXEC mode. To stop the display of debug information, use the no form of this command. Usage GuidelinesThe debug pfr master learn command is entered on a master controller. This command is used to display debugging information for master controller learning events. ExamplesThe following example shows output from the debug pfr master learn command. The output shows PfR Top Talker debug events. The master controller is enabling prefix learning for new border router process:
Router# debug pfr master learn
06:13:43: OER MC LEARN: Enable type 3, state 0
06:13:43: OER MC LEARN: OER TTC: State change, new RETRY, old DISABLED, reason TT start
06:13:43: OER MC LEARN: OER TTC: State change, new RETRY, old DISABLED, reason TT start request
06:13:43: OER MC LEARN: OER TTC: State change, new RETRY, old DISABLED, reason T
T start request
06:14:13: OER MC LEARN: TTC Retry timer expired
06:14:13: OER MC LEARN: OER TTC: State change, new STARTED, old RETRY, reason At
least one BR started
06:14:13: %OER_MC-5-NOTICE: Prefix Learning STARTED
06:14:13: OER MC LEARN: MC received BR TT status as enabled
06:14:13: OER MC LEARN: MC received BR TT status as enabled
06:19:14: OER MC LEARN: OER TTC: State change, new WRITING DATA, old STARTED, reason
Updating DB
06:19:14: OER MC LEARN: OER TTC: State change, new SLEEP, old WRITING DATA, reason
Sleep state
debug pfr master prefixTo display debug events related to prefix processing on a Performance Routing (PfR) master controller, use the debug pfr master prefix command in privileged EXEC mode. To disable the display of debug information, use the no form of this command.
debug
pfr
master
prefix
[prefix | appl]
[detail]
no
debug
pfr
master
prefix
[prefix | appl]
[detail]
Syntax Description
Usage GuidelinesThe debug pfr master prefix command is entered on a master controller. This command displays debugging information related to prefix monitoring and processing. ExamplesThe following example shows the master controller searching for the target of an active probe after the target has become unreachable.
Router# debug pfr master prefix
OER Master Prefix debugging is on
06:01:28: OER MC PFX 10.4.9.0/24: APC last target deleted for prefix, no targets
left assigned and running
06:01:38: OER MC PFX 10.4.9.0/24: APC Attempting to probe all exits
06:02:59: OER MC PFX 10.4.9.0/24: APC last target deleted for prefix, no targets
left assigned and running
06:03:08: OER MC PFX 10.4.9.0/24: APC Attempting to probe all exits
06:04:29: OER MC PFX 10.4.9.0/24: APC last target deleted for prefix, no targets
left assigned and running
06:04:39: OER MC PFX 10.4.9.0/24: APC Attempting to probe all exits
06:05:59: OER MC PFX 10.4.9.0/24: APC last target deleted for prefix, no targets
left assigned and running
06:06:09: OER MC PFX 10.4.9.0/24: APC Attempting to probe all exits
debug pfr master prefix-listTo display debug events related to prefix-list processing on a Performance Routing (PfR) master controller, use the debug pfr master prefix-list command in privileged EXEC mode. To disable the display of debug information, use the no form of this command. Usage GuidelinesThe debug pfr master prefix-list command is entered on a master controller. This command displays debugging information related to prefix-list processing. ExamplesThe following example shows output from the debug pfr master prefix-list command. Router# debug pfr master prefix-list 23:02:16.283: OER MC PFX 10.1.5.0/24: Check PASS REL loss: loss 0, policy 10%, notify TRUE 23:02:16.283: OER MC PFX 10.1.5.0/24: Passive REL loss in-policy 23:02:16.283: OER MC PFX 10.1.5.0/24: Check PASS REL delay: delay 124, policy 50%, notify TRUE 23:02:16.283: OER MC PFX 10.1.5.0/24: Passive REL delay in policy 23:02:16.283: OER MC PFX 10.1.5.0/24: Prefix not OOP 23:02:16.283: OER MC PFX 10.1.5.0/24: Check PASS REL unreachable: unreachable 0, policy 50%, notify TRUE 23:02:16.283: OER MC PFX 10.1.5.0/24: Passive REL unreachable in-policy 23:02:16.283: OER MC PFX 10.1.5.0/24: Check PASS REL loss: loss 0, policy 10%, notify TRUE 23:02:16.283: OER MC PFX 10.1.5.0/24: Passive REL loss in policy debug pfr master processTo display debug information about the PfR master controller process, use the debug pfr master process command in privileged EXEC mode. To stop displaying debug information, use the no form of this command. debug pfr master rsvpTo display debugging information for Performance Routing (PfR) Resouce Reservation Protocol (RSVP) events on a PfR master controller, use the debug pfr master rsvp command in privileged EXEC mode. To stop PfR RSVP event debugging, use the no form of this command. Usage Guidelines The
debug
pfr
master
rsvp command is entered on a master controller. The output displays information related to RSVP events or updates.
ExamplesThe following example shows some example debugging output for RSVP flow events on a PfR master controller. The actual output depends on the commands that are entered after the debugging is turned on.
Router# debug pfr master rsvp
Jan 23 21:18:19.439 PST: PFR_MC_RSVP: recvd a RSVP flow
Jan 23 21:18:19.439 PST: PFR_MC_RSVP: Processing 1 rsvp flows
Jan 23 21:18:19.439 PST: PFR_MC_RSVP: Resolve: src: 10.1.0.12 dst: 10.1.25.19 pr
oto: 17 sport min: 1 sport max: 1 dport min: 1 dport max: 1 from BR 10.1.0.23
Jan 23 21:18:19.439 PST: PFR_MC_RSVP: Marking: 10.1.0.23, FastEthernet1/0
Jan 23 21:18:19.439 PST: %OER_MC-5-NOTICE: Uncontrol Prefix 10.1.25.19/32, Probe frequency changed
Jan 23 21:18:19.439 PST: PFR_MC_RSVP: Marked: 10.1.0.23, FastEthernet1/0 as current
Jan 23 21:18:19.467 PST: PFR_MC_RSVP: recv new pool size
Jan 23 21:18:19.467 PST: PFR_MC_RSVP: Update from 10.1.0.23, Fa1/0: pool 8999
Jan 23 21:18:20.943 PST: %OER_MC-5-NOTICE: Prefix Learning WRITING DATA
Jan 23 21:18:21.003 PST: %OER_MC-5-NOTICE: Prefix Learning STARTED
Jan 23 21:18:22.475 PST: PFR_MC_RSVP: RSVP resolver invoked
Jan 23 21:18:22.475 PST: PFR RSVP MC: 10.1.25.19/32 Appl 17 [1, 1][1, 1] 0:
BR 10.1.0.23, Exit Fa1/0, is current exit
Jan 23 21:18:22.475 PST: PFR RSVP MC: 10.1.25.19/32 Appl 17 [1, 1][1, 1] 0:
BR 10.1.0.23, Exit Fa1/0, is current exit
Jan 23 21:18:22.475 PST: PFR_MC_RSVP: BR:10.1.0.23 Exit:Fa1/0pool size : 8999
est : 8999 tc->tspec: 1, fit: 8999
Jan 23 21:18:22.475 PST: PFR_MC_RSVP: BR:10.1.0.24 Exit:Tu24pool size : 9000
est : 9000 tc->tspec: 1, fit: 8999
Jan 23 21:18:22.475 PST: PFR_MC_RSVP: BR:10.1.0.23 Exit:Fa1/1pool size : 9000
est : 9000 tc->tspec: 1, fit: 8999
debug pfr master target-discoveryTo display Performance Routing (PfR) target-discovery debugging information, use the debug pfr master target-discovery command in privileged EXEC mode. To stop the display of PfR target-discovery debugging information, use the no form of this command. Usage GuidelinesThe debug pfr master target-discovery command is used to display debugging messages about PfR target-discovery configuration that may help troubleshoot issues. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. ExamplesThe following example shows how to enable the display of PfR target-discovery debugging messages. After the debugging is enabled, this example shows debugging messages that may be displayed after the PfR master controller peering command, mc-peer, has been issued, changing the MC peering designation and causing PfR target-discovery to be shut down and restarted. Router# debug pfr master target-discovery PfR Master Target-Discovery debugging is on Router(config)# pfr master Router(config-pfr-mc)# mc-peer description branch office Router(config-pfr-mc)# *Oct 26 20:00:34.084: PFR_MC_TD: mc-peer cli chg, op:0/1 idb:0/115967296 ip:0.0.0.0/0.0.0.0 dom:59501/45000 *Oct 26 20:00:34.084: PFR_MC_TD: mc-peer cli transition, shutting down TD *Oct 26 20:00:34.084: PFR_MC_TD: TD teardown start, mode:4 *Oct 26 20:00:34.084: PFR_MC_TD: SvcUnreg: handle:5 *Oct 26 20:00:34.084: PFR_MC_TD: TD teardown fin, mode:4 *Oct 26 20:00:35.089: PFR_MC_TD: mc-peer cli enabled, starting TD, domain:59501 *Oct 26 20:00:35.089: PFR_MC_TD: TD startup, origin:192.168.3.1 handle:0 dyn_pid:4294967295 *Oct 26 20:00:35.089: PFR_MC_TD: Static mode start <------- *Oct 26 20:00:35.090: PFR_MC_TD: Static Target list: 10.101.1.2, 10.101.1.1 *Oct 26 20:00:35.090: PFR_MC_TD: Static Prefix list: 10.101.2.0/24, 10.101.1.0/24 *Oct 26 20:00:35.090: PFR_MC_TD: SvcReg: handle:7 *Oct 26 20:00:35.093: PFR_MC_TD: SvcSub: success 102:1:FFFFFFFF.FFFFFFFF.FFFFFFFF.FFFFFFFF *Oct 26 20:00:35.093: PFR_MC_TD: SvcSub: handle:7 subscription handle:6 *Oct 26 20:00:35.093: PFR_MC_TD: local data encode, pre-publish *Oct 26 20:00:35.094: PFR_MC_TD: SvcPub: success 102:1:0.0.0.C0A80301 *Oct 26 20:00:35.094: PFR_MC_TD: SvcPub: handle:7 size:336 seq:3 reach via 192.168.3.1 *Oct 26 20:00:35.094: PFR_MC_TD: prereqs met, origin:192.168.3.1 handle:7 sub:6 pub(s:1/r:0) The table below describes the significant fields shown in the display. debug pfr master traceroute reportingTo display debug information about traceroute probes, use the debug pfr master traceroute reporting command in privileged EXEC mode. To stop displaying debug information, use the no form of this command. Usage GuidelinesThe debug pfr master traceroute reporting command is entered on a master controller. This command is used to display traceroute events on a master controller. ExamplesThe following is sample debug output for a master controller process:
Router# debug pfr master traceroute reporting detail
*May 12 18:55:14.239: OER MC TRACE: sent start message msg1 327704, msg2 167838976, if index 2,
host add 10.1.5.2, flags 1, max ttl 30, protocol 17
*May 12 18:55:16.003: OER MC TRACE: sent start message msg1 393240, msg2 167838976, if index 2,
host add 10.1.5.2, flags 1, max ttl 30, protocol 17
master#
*May 12 18:55:17.303: OER MC TRACE: Received result: msg_id1 327704, prefix 10.1.5.0/24, hops 4, flags 1
*May 12 18:55:19.059: OER MC TRACE: Received result: msg_id1 393240, prefix 10.1.5.0/24, hops 4, flags 1
debug pfr master tunnelTo display Performance Routing (PfR) dynamic tunnel debugging information on a master controller, use the debug pfr master tunnel command in privileged EXEC mode. To stop the display of PfR dynamic tunnel debugging information on a master controller, use the no form of this command. Usage GuidelinesThe debug pfr master tunnel command is used to display debugging messages about PfR dynamic tunnel creation, removal, or status that may help troubleshoot issues. The content of the debugging messages depends on the commands that are subsequently entered at the router prompt. ExamplesThe following example shows how to display PfR dynamic tunnel debugging messages. This command is entered at a master controller.
Router# debug pfr master tunnel
PfR Master Tunnel debugging is on
Router(config-pfr-mc)#
*Jun 16 21:40:33.335: PFR MC TUNNEL: Received tunnel create from BR (101.1.1.4) tunnel_id = 0
The table below describes the significant fields shown in the display. debug pfr mib errorTo display debugging information about Performance Routing (PfR) SNMP MIBs, use the debug pfr mib error command in privileged EXEC mode. To stop the display of PfR SNMP MIB error debugging information, use the no form of this command. Usage GuidelinesThe debug pfr mib error command is used to display CISCO-PfR-MIB error debugging messages. debug pfr mib infoTo display debugging information for Performance Routing (PfR) SNMP MIBs, use the debug pfr mib info command in privileged EXEC mode. To stop the display of PfR SNMP MIB debugging information, use the no form of this command. Usage GuidelinesThe debug pfr mib info command is used to display CISCO-PfR-MIB information debugging messages. delay (PfR)To configure PfR traffic class learning based on highest delay times or to set a delay threshold for a Performance Routing (PfR) policy, use the delay command in master controller, Top Talker and Top Delay learning, or learn list configuration mode. To reset the delay values to their default, use the no form of this command. Master Controller Configuration Mode
delay
{relative percentage | threshold maximum}
no
delay
Top Talker and Top Delay Learning and Learn List Configuration Modes
delay
no
delay
Syntax Description
Master Controller Configuration ModePfR uses the default values if this command is not configured or if the no form of this command is entered. Default values: percentage : 500 (50 percent)maximum: 5000 None Command ModesMaster controller configuration (config-pfr-mc) Top Talker and Top Delay learning configuration (config-pfr-mc-learn) Learn list configuration (config-pfr-mc-learn-list) Configuring in Master Controller Configuration ModeUse the delay command entered in PfR master controller configuration mode to set the delay threshold for a traffic class within a PfR policy as a relative percentage or as an absolute value. If the configured delay threshold is exceeded, the traffic class is out-of-policy. The relative keyword is used to configure a relative delay percentage. The relative delay percentage is based on a comparison of short-term and long-term measurements. The short-term measurement reflects the delay percentage within a 5-minute period. The long-term measurement reflects the delay percentage within a 60-minute period. The following formula is used to calculate this value: Relative delay measurement = ((short-term measurement - long-term measurement) / long-term measurement) * 100 The master controller measures the difference between these two values as a percentage. If the percentage exceeds the user-defined or default value, the delay percentage is determined to be out-of-policy. For example, if the long-term delay measurement is 100 milliseconds and the short-term delay measurement is 120 milliseconds, the relative delay percentage is 20 percent. The threshold keyword is used to configure the absolute maximum delay period in milliseconds. Configuring in Top Talker and Top Delay Learning and Learn List Configuration ModesUse the delay command under the Top Talker and Top Delay learning or learn list configuration mode to enable traffic class learning based on the highest delay time. PfR measures the delay for optimized prefixes when this command is enabled, and the master controller creates a list of traffic classes based on the highest delay time. ExamplesMaster Controller Configuration ModeThe following example shows how to set a 20 percent relative delay threshold: Router(config)# pfr master Router(config-pfr-mc)# delay relative 200 The following example shows how to configure a master controller to learn traffic classes based on the highest delay times: Router(config)# pfr master Router(config-pfr-mc)# learn Router(config-pfr-mc-learn)# delay The following example shows how to configure a master controller to learn traffic classes based on the highest delay times for a learn list named LEARN_REMOTE_LOGIN_TC for Telnet and Secure Shell (ssh) application traffic classes: Router(config)# pfr master Router(config-pfr-mc)# learn Router(config-pfr-mc-learn)# list seq 10 refname LEARN_REMOTE_LOGIN_TC Router(config-pfr-mc-learn-list)# traffic-class application telnet ssh Router(config-pfr-mc-learn-list)# aggregation-type prefix-length 24 Router(config-pfr-mc-learn-list)# delay Related Commands
downgrade bgp (PfR)To specify route downgrade options for a Performance Routing (PfR) managed interface using Border Gateway Protocol (BGP) advertisements, use the downgrade bgp command in PfR border exit interface configuration mode. To remove the route downgrade options, use the no form of this command. Syntax Description
Usage GuidelinesUse the downgrade bgp command to attach a BGP prepend community number to an inside prefix BGP advertisement from the network to another autonomous system such as an Internet service provider (ISP). The BGP prepend community will increase the number of autonomous system hops in the advertisement of the inside prefix from the ISP to its peers. Autonomous system prepend BGP community is the preferred method to be used for PfR BGP inbound optimization because there is no risk of the local ISP filtering the extra autonomous system hops. ExamplesThe following example shows how to enforce an entrance link selection for learned inside prefixes using the BGP autonomous system number community prepend technique. The downgrade bgp command is configured under PfR border exit interface configuration mode to add the BGP community number 3:1 to BGP advertisements to packets that travel through this entrance link on the border router. Router> enable Router# configure terminal Router(config)# pfr master Router(config-pfr-mc)# max range receive percent 35 Router(config-pfr-mc)# border 10.1.1.2 key-chain PFR_KEY Router(config-pfr-mc-br)# interface ethernet1/0 external Router(config-pfr-mc-br-if)# maximum utilization receive absolute 2500 Router(config-pfr-mc-br-if)# downgrade bgp community 3:1 Router(config-pfr-mc-br-if)# exit Router(config-pfr-mc-br)# exit Router(config-pfr-mc)# exit Router(config)# pfr-map INSIDE_LEARN 10 Router(config-pfr-map)# match pfr learn inside Router(config-pfr-map)# set delay threshold 400 Router(config-pfr-map)# set resolve delay priority 1 Router(config-pfr-map)# set mode route control Router(config-pfr-map)# end Related Commands
expire after (PfR)To set the length of time for which Performance Routing (PfR) learned prefixes are kept in the central policy database, use the expire after command in PfR Top Talker and Top Delay learning configuration mode. To disable the expiration timer and restore default behavior, use the no form of this command. Command DefaultNew prefixes are not learned if router memory utilization is greater than 90 percent. Inactive prefixes are removed (oldest first) from the central policy database as memory is needed. Usage GuidelinesThe expire after command is entered on a PfR master controller in PfR Top Talker and Top Delay learning configuration mode. This command is used to configure a session- or time-based expiration period for learned prefixes. Each session is equal to one monitoring period plus a periodic interval time that separates monitoring periods. The time-based expiration timer is configured in minutes. ExamplesThe following example configures learned prefixes to be removed from the central policy database after 100 monitoring periods: Router(config)# pfr master Router(config-pfr-mc)# learn Router(config-pfr-mc-learn)# expire after session 100 Related Commands
exporter (PfR)To configure a flow exporter for Performance Routing (PfR), use the exporter command in PfR master controller configuration mode. To remove a flow exporter, use the no form of this command. © 2012 Cisco Systems, Inc. All rights reserved.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|