Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x CISCO sur FNAC.COM

 

 

Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x
 
Click the links on the left to view the individual chapters in HTML format.


Voir également d'autres Guide CISCO :

Cisco-Security-Appliance-Command-Line-ASA-5500-version-7-2

Cisco-Introduction-to-the-Security-Appliance

Cisco-ASR-9000-Series-Aggregation-Configuration-Guide-Release-4-2-x

Cisco-IOS-XR-Carrier-Grade-NAT-Configuration-Guide-for-the-Cisco-CRS-Router-Release-4-2-x

Cisco-ASR-9000-Series-Aggregation-Services-Router-Interface-and-Hardware-Component-Configuration-Guide-Release-4-2-x

Cisco-ASR-9000-Series-Aggregation-Services-Router-IP-Addresses-and-Services-Configuration-Guide-Release-4-2-x

Cisco-ASR-9000-Series-Aggregation-Services-Router-L2VPN-et-services-Ethernet-Configuration-Guide-version-4-2-x

Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883 Text Part Number: OL-26056-02THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY. The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 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: http:// 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 used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental. © 2012 Cisco Systems, Inc. All rights reserved.C O N T E N T S P r e f a c e Preface xiii Changes to This Document xiii Obtaining Documentation and Submitting a Service Request xiii C H A P T E R 1 Implementing MPLS Label Distribution Protocol 1 Prerequisites for Implementing Cisco MPLS LDP 2 Information About Implementing Cisco MPLS LDP 2 Overview of Label Distribution Protocol 2 Label Switched Paths 2 LDP Control Plane 3 Exchanging Label Bindings 4 LDP Forwarding 5 LDP Graceful Restart 6 Control Plane Failure 7 Phases in Graceful Restart 8 Recovery with Graceful-Restart 9 Label Advertisement Control (Outbound Filtering) 10 Label Acceptance Control (Inbound Filtering) 10 Local Label Allocation Control 11 Session Protection 11 IGP Synchronization 12 IGP Auto-configuration 13 LDP Nonstop Routing 13 IP LDP Fast Reroute Loop Free Alternate 14 Downstream on Demand 15 Explicit-Null and Implicit-Null Labels 16 How to Implement MPLS LDP 16 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 iiiConfiguring LDP Discovery Parameters 17 Configuring LDP Discovery Over a Link 19 Configuring LDP Discovery for Active Targeted Hellos 20 Configuring LDP Discovery for Passive Targeted Hellos 22 Configuring Label Advertisement Control (Outbound Filtering) 24 Setting Up LDP Neighbors 26 Setting Up LDP Forwarding 29 Setting Up LDP NSF Using Graceful Restart 31 Configuring Label Acceptance Control (Inbound Filtering) 34 Configuring Local Label Allocation Control 36 Configuring Session Protection 37 Configuring LDP IGP Synchronization: OSPF 39 Configuring LDP IGP Synchronization: ISIS 40 Enabling LDP Auto-Configuration for a Specified OSPF Instance 42 Enabling LDP Auto-Configuration in an Area for a Specified OSPF Instance 44 Disabling LDP Auto-Configuration 46 Configuring LDP Nonstop Routing 48 Configuring LDP Downstream on Demand mode 50 Redistributing MPLS LDP Routes into BGP 51 Setting Up Implicit-Null-Override Label 52 Configuration Examples for Implementing MPLS LDP 54 Configuring LDP with Graceful Restart: Example 54 Configuring LDP Discovery: Example 54 Configuring LDP Link: Example 54 Configuring LDP Discovery for Targeted Hellos: Example 55 Configuring Label Advertisement (Outbound Filtering): Example 55 Configuring LDP Neighbors: Example 56 Configuring LDP Forwarding: Example 56 Configuring LDP Nonstop Forwarding with Graceful Restart: Example 56 Configuring Label Acceptance (Inbound Filtering): Example 57 Configuring Local Label Allocation Control: Example 57 Configuring LDP Session Protection: Example 58 Configuring LDP IGP Synchronization—OSPF: Example 58 Configuring LDP IGP Synchronization—ISIS: Example 58 Configuring LDP Auto-Configuration: Example 59 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x iv OL-26056-02 ContentsConfigure IP LDP Fast Reroute Loop Free Alternate: Example 59 Verify IP LDP Fast Reroute Loop Free Alternate: Example 61 Additional References 63 C H A P T E R 2 Implementing RSVP for MPLS-TE 65 Prerequisites for Implementing RSVP for MPLS-TE 66 Information About Implementing RSVP for MPLS-TE 66 Overview of RSVP for MPLS-TE 66 LSP Setup 67 High Availability 67 Graceful Restart 67 Graceful Restart: Standard and Interface-Based 68 Graceful Restart: Figure 69 ACL-based Prefix Filtering 70 RSVP MIB 70 Information About Implementing RSVP Authentication 71 RSVP Authentication Functions 71 RSVP Authentication Design 71 Global, Interface, and Neighbor Authentication Modes 72 Security Association 73 Key-source Key-chain 74 Guidelines for Window-Size and Out-of-Sequence Messages 75 Caveats for Out-of-Sequence 75 How to Implement RSVP 75 Configuring Traffic Engineering Tunnel Bandwidth 76 Confirming DiffServ-TE Bandwidth 76 Enabling Graceful Restart 78 Configuring ACL-based Prefix Filtering 80 Configuring ACLs for Prefix Filtering 80 Configuring RSVP Packet Dropping 81 Verifying RSVP Configuration 83 Enabling RSVP Traps 86 How to Implement RSVP Authentication 88 Configuring Global Configuration Mode RSVP Authentication 88 Enabling RSVP Authentication Using the Keychain in Global Configuration Mode 88 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 v ContentsConfiguring a Lifetime for RSVP Authentication in Global Configuration Mode 90 Configuring the Window Size for RSVP Authentication in Global Configuration Mode 91 Configuring an Interface for RSVP Authentication 93 Specifying the RSVP Authentication Keychain in Interface Mode 93 Configuring a Lifetime for an Interface for RSVP Authentication 95 Configuring the Window Size for an Interface for RSVP Authentication 96 Configuring RSVP Neighbor Authentication 98 Specifying the Keychain for RSVP Neighbor Authentication 98 Configuring a Lifetime for RSVP Neighbor Authentication 100 Configuring the Window Size for RSVP Neighbor Authentication 102 Verifying the Details of the RSVP Authentication 104 Eliminating Security Associations for RSVP Authentication 104 Configuration Examples for RSVP 104 Bandwidth Configuration (Prestandard): Example 104 Bandwidth Configuration (MAM): Example 104 Bandwidth Configuration (RDM): Example 105 Refresh Reduction and Reliable Messaging Configuration: Examples 105 Refresh Interval and the Number of Refresh Messages Configuration: Example 105 Retransmit Time Used in Reliable Messaging Configuration: Example 105 Acknowledgement Times Configuration: Example 105 Summary Refresh Message Size Configuration: Example 106 Disable Refresh Reduction: Example 106 Configure Graceful Restart: Examples 106 Enable Graceful Restart: Example 106 Enable Interface-Based Graceful Restart: Example 106 Change the Restart-Time: Example 107 Change the Hello Interval: Example 107 Configure ACL-based Prefix Filtering: Example 107 Set DSCP for RSVP Packets: Example 107 Enable RSVP Traps: Example 108 Configuration Examples for RSVP Authentication 108 RSVP Authentication Global Configuration Mode: Example 108 RSVP Authentication for an Interface: Example 109 RSVP Neighbor Authentication: Example 109 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x vi OL-26056-02 ContentsRSVP Authentication by Using All the Modes: Example 110 Additional References 110 C H A P T E R 3 Implementing MPLS Forwarding 113 Prerequisites for Implementing Cisco MPLS Forwarding 113 Restrictions for Implementing Cisco MPLS Forwarding 113 Information About Implementing MPLS Forwarding 114 MPLS Forwarding Overview 114 Label Switching Functions 114 Distribution of Label Bindings 115 MFI Control-Plane Services 115 MFI Data-Plane Services 115 MPLS Maximum Transmission Unit 116 Additional References 116 C H A P T E R 4 Implementing MPLS Traffic Engineering 119 Prerequisites for Implementing Cisco MPLS Traffic Engineering 120 Restrictions for Implementing Cisco MPLS Traffic Engineering 120 Information About Implementing MPLS Traffic Engineering 121 Overview of MPLS Traffic Engineering 121 Benefits of MPLS Traffic Engineering 121 How MPLS-TE Works 121 MPLS Traffic Engineering 123 Backup AutoTunnels 123 AutoTunnel Attribute-set 123 Link Protection 124 Node Protection 124 Backup AutoTunnel Assignment 125 Explicit Paths 126 Periodic Backup Promotion 126 Protocol-Based CLI 126 Differentiated Services Traffic Engineering 127 Prestandard DS-TE Mode 127 IETF DS-TE Mode 127 Bandwidth Constraint Models 128 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 vii ContentsMaximum Allocation Bandwidth Constraint Model 128 Russian Doll Bandwidth Constraint Model 128 TE Class Mapping 129 Flooding 129 Flooding Triggers 129 Flooding Thresholds 130 Fast Reroute 130 MPLS-TE and Fast Reroute over Link Bundles 131 Ignore Intermediate System-to-Intermediate System Overload Bit Setting in MPLS-TE 131 Flexible Name-based Tunnel Constraints 132 MPLS Traffic Engineering Interarea Tunneling 133 Interarea Support 133 Multiarea Support 134 Loose Hop Expansion 134 Loose Hop Reoptimization 135 ABR Node Protection 135 Fast Reroute Node Protection 135 MPLS-TE Forwarding Adjacency 135 MPLS-TE Forwarding Adjacency Benefits 136 MPLS-TE Forwarding Adjacency Restrictions 136 MPLS-TE Forwarding Adjacency Prerequisites 136 Path Computation Element 136 Path Protection 138 Prerequisites for Path Protection 138 Restrictions for Path Protection 139 MPLS-TE Automatic Bandwidth 139 MPLS-TE Automatic Bandwidth Overview 139 Adjustment Threshold 141 Overflow Detection 141 Restrictions for MPLS-TE Automatic Bandwidth 141 Point-to-Multipoint Traffic-Engineering 142 Point-to-Multipoint Traffic-Engineering Overview 142 Point-to-Multipoint RSVP-TE 144 Point-to-Multipoint Fast Reroute 144 Point-to-Multipoint Label Switch Path 144 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x viii OL-26056-02 ContentsPath Option for Point-to-Multipoint RSVP-TE 145 MPLS Traffic Engineering Shared Risk Link Groups 146 Explicit Path 147 Fast ReRoute with SRLG Constraints 148 Importance of Protection 149 Delivery of Packets During a Failure 150 Multiple Backup Tunnels Protecting the Same Interface 150 SRLG Limitations 150 Soft-Preemption 151 Path Option Attributes 151 Configuration Hierarchy of Path Option Attributes 152 Traffic Engineering Bandwidth and Bandwidth Pools 152 Path Option Switchover 153 Path Option and Path Protection 153 Auto-Tunnel Mesh 154 Destination List (Prefix-List) 154 How to Implement Traffic Engineering 155 Building MPLS-TE Topology 155 Creating an MPLS-TE Tunnel 158 Configuring Forwarding over the MPLS-TE Tunnel 161 Protecting MPLS Tunnels with Fast Reroute 164 Enabling an AutoTunnel Backup 169 Removing an AutoTunnel Backup 170 Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPs 172 Establishing Next-Hop Tunnels with Link Protection 174 Configuring a Prestandard DS-TE Tunnel 176 Configuring an IETF DS-TE Tunnel Using RDM 178 Configuring an IETF DS-TE Tunnel Using MAM 181 Configuring MPLS -TE and Fast-Reroute on OSPF 184 Configuring the Ignore Integrated IS-IS Overload Bit Setting in MPLS-TE 187 Configuring Flexible Name-based Tunnel Constraints 188 Assigning Color Names to Numeric Values 188 Associating Affinity-Names with TE Links 190 Associating Affinity Constraints for TE Tunnels 192 Configuring IS-IS to Flood MPLS-TE Link Information 193 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 ix ContentsConfiguring an OSPF Area of MPLS-TE 195 Configuring Explicit Paths with ABRs Configured as Loose Addresses 197 Configuring MPLS-TE Forwarding Adjacency 199 Configuring a Path Computation Client and Element 200 Configuring a Path Computation Client 200 Configuring a Path Computation Element Address 202 Configuring PCE Parameters 203 Configuring Path Protection on MPLS-TE 206 Enabling Path Protection for an Interface 206 Assigning a Dynamic Path Option to a Tunnel 208 Forcing a Manual Switchover on a Path-Protected Tunnel 210 Configuring the Delay the Tunnel Takes Before Reoptimization 210 Configuring the Automatic Bandwidth 212 Configuring the Collection Frequency 212 Forcing the Current Application Period to Expire Immediately 214 Configuring the Automatic Bandwidth Functions 215 Configuring the Shared Risk Link Groups 218 Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link 218 Creating an Explicit Path With Exclude SRLG 220 Using Explicit Path With Exclude SRLG 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint 229 Configuring Point-to-Multipoint TE 232 Enabling Multicast Routing on the Router 232 Configuring the Static Group for the Point-to-Multipoint Interface 235 Configuring Destinations for the Tunnel Interface 237 Disabling Destinations 241 Logging Per Destinations for Point-to-Multipoint 243 Enabling Soft-Preemption on a Node 245 Enabling Soft-Preemption on a Tunnel 247 Configuring Attributes within a Path-Option Attribute 249 Configuring Auto-Tunnel Mesh Tunnel ID 251 Configuring Auto-tunnel Mesh Unused Timeout 252 Configuring Auto-Tunnel Mesh Group 254 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x x OL-26056-02 ContentsConfiguring Tunnel Attribute-Set Templates 256 Enabling LDP on Auto-Tunnel Mesh 258 Configuration Examples for Cisco MPLS-TE 260 Build MPLS-TE Topology and Tunnels: Example 260 Configure IETF DS-TE Tunnels: Example 261 Configure MPLS-TE and Fast-Reroute on OSPF: Example 262 Configure the Ignore IS-IS Overload Bit Setting in MPLS-TE: Example 262 Configure Flexible Name-based Tunnel Constraints: Example 263 Configure an Interarea Tunnel: Example 264 Configure Forwarding Adjacency: Example 265 Configure PCE: Example 265 Configure Tunnels for Path Protection: Example 266 Configure Automatic Bandwidth: Example 267 Configure the MPLS-TE Shared Risk Link Groups: Example 267 Configure the MPLS-TE Auto-Tunnel Backup: Example 269 Configure Point-to-Multipoint TE: Examples 276 P2MP Topology Scenario: Example 276 Configure Point-to-Multipoint for the Source: Example 278 Configure the Point-to-Multipoint Tunnel: Example 278 Disable a Destination: Example 279 Configure the Point-to-Multipoint Solution: Example 279 Additional References 283 C H A P T E R 5 Implementing MPLS OAM 285 Prerequisites for MPLS LSP Ping and Traceroute for P2MP 285 MPLS Network Management with MPLS LSP Ping and MPLS LSP Traceroute 286 Roles of Various Routers 286 P2MP Ping 287 P2MP Traceroute 288 Configure the Ping and Traceroute: Example 288 C H A P T E R 6 Implementing MPLS Transport Profile 295 Restrictions for MPLS-TP 295 Information About Implementing MPLS Transport Profile 296 MPLS Transport Profile 296 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 xi ContentsBidirectional LSPs 297 MPLS-TP Path Protection 297 Fault OAM Support 297 MPLS-TP Links and Physical Interfaces 299 Tunnel LSPs 299 MPLS-TP IP-less support 300 How to Implement MPLS Transport Profile 300 Configuring the Node ID and Global ID 300 Configuring Pseudowire OAM Attributes 301 Configuring the Pseudowire Class 302 Configuring the Pseudowire 303 Configuring the MPLS TP Tunnel 304 Configuring MPLS-TP LSPs at Midpoint 307 Configuring MPLS-TP Links and Physical Interfaces 309 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x xii OL-26056-02 ContentsPreface The Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide preface contains these sections: • Changes to This Document, page xiii • Obtaining Documentation and Submitting a Service Request, page xiii Changes to This Document This table lists the technical changes made to this document since it was first printed. Table 1: Changes to This Document Revision Date Change Summary Republished with documentation updates for Cisco IOS XR Release 4.2.1. OL-26056-02 June 2012 OL-26056-01 December 2011 Initial release of this document. Obtaining Documentation and Submitting a Service Request For information on obtaining documentation,submitting a service request, and gathering additional information, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at: http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 xiii Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x xiv OL-26056-02 Preface Obtaining Documentation and Submitting a Service RequestC H A P T E R 1 Implementing MPLS Label Distribution Protocol This module describes how to implement MPLS Label Distribution Protocol on Cisco ASR 9000 Series Aggregation Services Routers. The Multiprotocol Label Switching (MPLS) is a standards-based solution driven by the Internet Engineering Task Force (IETF) that was devised to convert the Internet and IP backbones from best-effort networks into business-class transport mediums. MPLS, with its label switching capabilities, eliminates the need for an IP route look-up and creates a virtual circuit (VC)switching function, allowing enterprisesthe same performance on their IP-based network services as with those delivered over traditional networks such as Frame Relay or ATM. Label Distribution Protocol (LDP) performs label distribution in MPLS environments. LDP provides the following capabilities: • LDP performs hop-by-hop or dynamic path setup; it does not provide end-to-end switching services. • LDP assigns labels to routes using the underlying Interior Gateway Protocols (IGP) routing protocols. • LDP provides constraint-based routing using LDP extensions for traffic engineering. Finally, LDP is deployed in the core of the network and is one of the key protocols used in MPLS-based Layer 2 and Layer 3 virtual private networks (VPNs). Feature History for Implementing MPLS LDP Release Modification Release 3.7.2 This feature was introduced. Support was added for these features: • IP LDP Fast Reroute Loop Free Alternate • Downstream on Demand Release 4.0.1 Release 4.2.1 Support was added for LDP Implicit Null for IGP Routes. • Prerequisites for Implementing Cisco MPLS LDP, page 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 1• Information About Implementing Cisco MPLS LDP, page 2 • How to Implement MPLS LDP , page 16 • Configuration Examples for Implementing MPLS LDP, page 54 • Additional References, page 63 Prerequisites for Implementing Cisco MPLS LDP These prerequisites are required to implement MPLS LDP: • You must be in a user group associated with a task group that includesthe proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • You must be running Cisco IOS XR software. • You must install a composite mini-image and the MPLS package. • You must activate IGP. • We recommend to use a lower session holdtime bandwidth such as neighbors so that a session down occurs before an adjacency-down on a neighbor. Therefore, the following default values for the hello times are listed: • Holdtime is 15 seconds. • Interval is 5 seconds. For example, the LDP session holdtime can be configured as 30 seconds by using the holdtime command. Information About Implementing Cisco MPLS LDP To implement MPLS LDP, you should understand these concepts: Overview of Label Distribution Protocol LDP performs label distribution in MPLS environments. LDP uses hop-by-hop or dynamic path setup, but does not provide end-to-end switching services. Labels are assigned to routesthat are chosen by the underlying IGP routing protocols. The Label Switched Paths (LSPs) that result from the routes, forward labeled traffic across the MPLS backbone to adjacent nodes. Label Switched Paths LSPs are created in the network through MPLS. They can be created statically, by RSVP traffic engineering (TE), or by LDP. LSPs created by LDP perform hop-by-hop path setup instead of an end-to-end path. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 2 OL-26056-02 Implementing MPLS Label Distribution Protocol Prerequisites for Implementing Cisco MPLS LDPLDP Control Plane The control plane enableslabelswitched routers(LSRs) to discover their potential peer routers and to establish LDP sessions with those peers to exchange label binding information. This figure shows the control messages exchanged between LDP peers. Figure 1: LDP Control Protocol LDP uses the hello discovery mechanism to discover its neighbor or peer on the network. When LDP is enabled on an interface, it sends hello messages to a link-local multicast address, and joins a specific multicast group to receive hellos from other LSRs present on the given link. When LSRs on a given link receive hellos, their neighbors are discovered and the LDP session (using TCP) is established. Hellos are not only used to discover and trigger LDP sessions; they are also required to maintain LDP sessions. If a certain number of hellos from a given peer are missed in sequence, LDP sessions are brought down until the peer is discovered again. Note LDP also supports non-link neighbors that could be multiple hops away on the network, using the targeted hello mechanism. In these cases, hellos are sent on a directed, unicast address. The first message in the session establishment phase is the initialization message, which is used to negotiate session parameters. After session establishment, LDP sends a list of all its interface addresses to its peers in an address message.Whenever a new address becomes available or unavailable, the peers are notified regarding such changes via ADDRESS or ADDRESS_WITHDRAW messages respectively. When MPLS LDP learns an IGP prefix it allocates a label locally as the inbound label. The local binding between the prefix label is conveyed to its peers via LABEL_MAPPING message. If the binding breaks and becomes unavailable, a LABEL_WITHDRAW message is sent to all its peers, which responds with LABEL_RELEASE messages. The local label binding and remote label binding received from its peer(s) is used to setup forwarding entries. Using routing information from the IGP protocol and the forwarding information base (FIB), the next active hop isselected. Label binding islearned from the next hop peer, and is used asthe outbound label while setting up the forwarding plane. The LDP session is also kept alive using the LDP keepalive mechanism, where an LSR sends a keepalive message periodically to its peers. If no messages are received and a certain number of keepalive messages are missed from a peer, the session is declared dead, and brought down immediately. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 3 Implementing MPLS Label Distribution Protocol Overview of Label Distribution ProtocolRelated Topics Configuring LDP Discovery Parameters, on page 17 Configuring LDP Discovery Over a Link, on page 19 Configuring LDP Link: Example, on page 54 Configuring LDP Discovery for Active Targeted Hellos, on page 20 Configuring LDP Discovery for Passive Targeted Hellos, on page 22 Configuring LDP Discovery for Targeted Hellos: Example, on page 55 Exchanging Label Bindings LDP creates LSPs to perform the hop-by-hop path setup so that MPLS packets can be transferred between the nodes on the MPLS network. This figure illustrates the process of label binding exchange for setting up LSPs. Figure 2: Setting Up Label Switched Paths For a given network (10.0.0.0), hop-by-hop LSPs are set up between each of the adjacent routers (or, nodes) and each node allocates a local label and passes it to its neighbor as a binding: 1 R4 allocates local label L4 for prefix 10.0.0.0 and advertises it to its neighbors (R3). 2 R3 allocates local label L3 for prefix 10.0.0.0 and advertises it to its neighbors (R1, R2, R4). 3 R1 allocates local label L1 for prefix 10.0.0.0 and advertises it to its neighbors (R2, R3). 4 R2 allocates local label L2 for prefix 10.0.0.0 and advertises it to its neighbors (R1, R3). 5 R1’s label information base (LIB) keeps local and remote labels bindings from its neighbors. 6 R2’s LIB keeps local and remote labels bindings from its neighbors. 7 R3’s LIB keeps local and remote labels bindings from its neighbors. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 4 OL-26056-02 Implementing MPLS Label Distribution Protocol Overview of Label Distribution Protocol8 R4’s LIB keeps local and remote labels bindings from its neighbors. Related Topics Setting Up LDP Neighbors, on page 26 Configuring LDP Neighbors: Example, on page 56 LDP Forwarding Once label bindings are learned, the LDP control plane is ready to setup the MPLS forwarding plane as shown in the following figure. Once label bindings are learned, the LDP control plane is ready to setup the MPLS forwarding plane as shown in this figure. Figure 3: Forwarding Setup 1 Because R3 is next hop for 10.0.0.0 as notified by the FIB, R1 selects label binding from R3 and installs forwarding entry (Layer 1, Layer 3). 2 Because R3 is next hop for 10.0.0.0 (as notified by FIB), R2 selects label binding from R3 and installs forwarding entry (Layer 2, Layer 3). 3 Because R4 is next hop for 10.0.0.0 (as notified by FIB), R3 selects label binding from R4 and installs forwarding entry (Layer 3, Layer 4). 4 Because next hop for 10.0.0.0 (as notified by FIB) is beyond R4, R4 uses NO-LABEL as the outbound and installs the forwarding entry (Layer 4); the outbound packet is forwarded IP-only. 5 Incoming IP traffic on ingress LSR R1 gets label-imposed and is forwarded as an MPLS packet with label L3. 6 Incoming IP traffic on ingress LSR R2 gets label-imposed and is forwarded as an MPLS packet with label L3. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 5 Implementing MPLS Label Distribution Protocol Overview of Label Distribution Protocol7 R3 receives an MPLS packet with label L3, looks up in the MPLS label forwarding table and switches this packet as an MPLS packet with label L4. 8 R4 receives an MPLS packet with label L4, looks up in the MPLS label forwarding table and finds that it should be Unlabeled, pops the top label, and passes it to the IP forwarding plane. 9 IP forwarding takes over and forwards the packet onward. Related Topics Setting Up LDP Forwarding, on page 29 Configuring LDP Forwarding: Example, on page 56 LDP Graceful Restart LDP (Label Distribution Protocol) graceful restart provides a control plane mechanism to ensure high availability and allows detection and recovery from failure conditions while preserving Nonstop Forwarding (NSF)services. Graceful restart is a way to recover from signaling and control plane failures without impacting forwarding. Without LDP graceful restart, when an established session fails, the corresponding forwarding states are cleaned immediately from the restarting and peer nodes. In this case LDP forwarding restarts from the beginning, causing a potential loss of data and connectivity. The LDP graceful restart capability is negotiated between two peers during session initialization time, in FT SESSION TLV. In this typed length value (TLV), each peer advertises the following information to its peers: Reconnect time Advertises the maximum time that other peer will wait for this LSR to reconnect after control channel failure. Recovery time Advertises the maximum time that the other peer has on its side to reinstate or refresh its states with this LSR. This time is used only during session reestablishment after earlier session failure. FT flag Specifies whether a restart could restore the preserved (local) node state for this flag. Once the graceful restart session parameters are conveyed and the session is up and running, graceful restart procedures are activated. When configuring the LDP graceful restart process in a network with multiple links, targeted LDP hello adjacencies with the same neighbor, or both, make sure that graceful restart is activated on the session before any hello adjacency times out in case of neighbor control plane failures. One way of achieving this is by configuring a lower session hold time between neighbors such that session timeout occurs before hello adjacency timeout. It is recommended to set LDP session hold time using the following formula: Session Holdtime <= (Hello holdtime - Hello interval) * 3 This meansthat for default values of 15 seconds and 5 secondsfor link Hello holdtime and interval respectively, session hold time should be set to 30 seconds at most. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 6 OL-26056-02 Implementing MPLS Label Distribution Protocol LDP Graceful RestartFor more information about LDP commands,see the Implementing MPLS Label Distribution Protocol module of the Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide. Related Topics Setting Up LDP NSF Using Graceful Restart, on page 31 Configuring LDP Nonstop Forwarding with Graceful Restart: Example, on page 56 Control Plane Failure When a control plane failure occurs, connectivity can be affected. The forwarding statesinstalled by the router control planes are lost, and the in-transit packets could be dropped, thus breaking NSF. Thisfigure illustrates a control plane failure and showsthe process and results of a control plane failure leading to loss of connectivity. Figure 4: Control Plane Failure 1 The R4 LSR control plane restarts. 2 LIB is lost when the control plane restarts. 3 The forwarding states installed by the R4 LDP control plane are immediately deleted. 4 Any in-transit packets flowing from R3 to R4 (still labeled with L4) arrive at R4. 5 The MPLS forwarding plane at R4 performs a lookup on local label L4 which fails. Because of thisfailure, the packet is dropped and NSF is not met. 6 The R3 LDP peer detects the failure of the control plane channel and deletes its label bindings from R4. 7 The R3 control plane stops using outgoing labels from R4 and deletes the corresponding forwarding state (rewrites), which in turn causes forwarding disruption. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 7 Implementing MPLS Label Distribution Protocol LDP Graceful Restart8 The established LSPs connected to R4 are terminated at R3, resulting in broken end-to-end LSPs from R1 to R4. 9 The established LSPs connected to R4 are terminated at R3, resulting in broken LSPs end-to-end from R2 to R4. Phases in Graceful Restart The graceful restart mechanism is divided into different phases: Control communication failure detection Control communication failure is detected when the system detects either: • Missed LDP hello discovery messages • Missed LDP keepalive protocol messages • Detection of Transmission Control Protocol (TCP) disconnection a with a peer Forwarding state maintenance during failure Persistent forwarding states at each LSR are achieved through persistent storage (checkpoint) by the LDP control plane. While the control plane is in the process of recovering, the forwarding plane keeps the forwarding states, but marks them as stale. Similarly, the peer control plane also keeps (and marks as stale) the installed forwarding rewrites associated with the node that is restarting. The combination of local node forwarding and remote node forwarding plane states ensures NSF and no disruption in the traffic. Control state recovery Recovery occurs when the session isreestablished and label bindings are exchanged again. This process allows the peer nodes to synchronize and to refresh stale forwarding states. Related Topics Setting Up LDP NSF Using Graceful Restart, on page 31 Configuring LDP Nonstop Forwarding with Graceful Restart: Example, on page 56 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 8 OL-26056-02 Implementing MPLS Label Distribution Protocol LDP Graceful RestartRecovery with Graceful-Restart This figure illustrates the process of failure recovery using graceful restart. Figure 5: Recovering with Graceful Restart 1 The router R4 LSR control plane restarts. 2 With the control plane restart, LIB is gone but forwarding states installed by R4’s LDP control plane are not immediately deleted but are marked as stale. 3 Any in-transit packets from R3 to R4 (still labeled with L4) arrive at R4. 4 The MPLS forwarding plane at R4 performs a successful lookup for the local label L4 as forwarding is still intact. The packet is forwarded accordingly. 5 The router R3 LDP peer detects the failure of the control plane and channel and deletes the label bindings from R4. The peer, however, does not delete the corresponding forwarding states but marks them as stale. 6 At this point there are no forwarding disruptions. 7 The peer also starts the neighbor reconnect timer using the reconnect time value. 8 The established LSPs going toward the router R4 are still intact, and there are no broken LSPs. When the LDP control plane recovers, the restarting LSR starts its forwarding state hold timer and restores its forwarding state from the checkpointed data. This action reinstates the forwarding state and entries and marks them as old. The restarting LSR reconnects to its peer, indicated in the FT Session TLV, that it either was or was not able to restore its state successfully. If it was able to restore the state, the bindings are resynchronized. The peer LSR stops the neighbor reconnect timer (started by the restarting LSR), when the restarting peer connects and starts the neighbor recovery timer. The peer LSR checks the FT Session TLV if the restarting Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 9 Implementing MPLS Label Distribution Protocol LDP Graceful Restartpeer was able to restore its state successfully. It reinstates the corresponding forwarding state entries and receives binding from the restarting peer. When the recovery timer expires, any forwarding state that is still marked as stale is deleted. If the restarting LSR fails to recover (restart), the restarting LSR forwarding state and entries will eventually timeout and is deleted, while neighbor-related forwarding states or entries are removed by the Peer LSR on expiration of the reconnect or recovery timers. Related Topics Setting Up LDP NSF Using Graceful Restart, on page 31 Configuring LDP Nonstop Forwarding with Graceful Restart: Example, on page 56 Label Advertisement Control (Outbound Filtering) By default, LDP advertises labels for all the prefixes to all its neighbors. When this is not desirable (for scalability and security reasons), you can configure LDP to perform outbound filtering for local label advertisement for one or more prefixes to one more peers. This feature is known as LDP outbound label filtering, or local label advertisement control. Related Topics Configuring Label Advertisement Control (Outbound Filtering), on page 24 Configuring Label Advertisement (Outbound Filtering): Example, on page 55 Label Acceptance Control (Inbound Filtering) By default, LDP accepts labels (as remote bindings) for all prefixes from all peers. LDP operates in liberal label retention mode, which instructs LDP to keep remote bindings from all peers for a given prefix. For security reasons, or to conserve memory, you can override this behavior by configuring label binding acceptance for set of prefixes from a given peer. The ability to filter remote bindings for a defined set of prefixes is also referred to as LDP inbound label filtering. Inbound filtering can also be implemented using an outbound filtering policy; however, you may not be able to implement this system if an LDP peer resides under a different administration domain. When both inbound and outbound filtering options are available, we recommend that you use outbound label filtering. Note Related Topics Configuring Label Acceptance Control (Inbound Filtering), on page 34 Configuring Label Acceptance (Inbound Filtering): Example, on page 57 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 10 OL-26056-02 Implementing MPLS Label Distribution Protocol Label Advertisement Control (Outbound Filtering)Local Label Allocation Control By default, LDP allocates local labels for all prefixes that are not Border Gateway Protocol (BGP) prefixes 1 . This is acceptable when LDP is used for applications other than Layer 3 virtual private networks (L3VPN) core transport. When LDP is used to set up transport LSPs for L3VPN traffic in the core, it is not efficient or even necessary to allocate and advertise local labels for, potentially, thousands of IGP prefixes. In such a case, LDP is typically required to allocate and advertise local label for loopback /32 addresses for PE routers. This is accomplished using LDP local label allocation control, where an access list can be used to limit allocation of local labels to a set of prefixes. Limiting local label allocation provides several benefits, including reduced memory usage requirements, fewer local forwarding updates, and fewer network and peer updates. You can configure label allocation using an IP access list to specify a set of prefixes that local labels can allocate and advertise. Tip Related Topics Configuring Local Label Allocation Control, on page 36 Configuring Local Label Allocation Control: Example, on page 57 Session Protection When a link comes up, IP converges earlier and much faster than MPLS LDP and may result in MPLS traffic loss until MPLS convergence. If a link flaps, the LDP session will also flap due to loss of link discovery. LDP session protection minimizestraffic loss, providesfaster convergence, and protects existing LDP (link)sessions by means of “parallel” source of targeted discovery hello. An LDP session is kept alive and neighbor label bindings are maintained when links are down. Upon reestablishment of primary link adjacencies, MPLS convergence is expedited as LDP need not relearn the neighbor label bindings. LDP session protection lets you configure LDP to automatically protect sessions with all or a given set of peers (as specified by peer-acl). When configured, LDP initiates backup targeted hellos automatically for neighbors for which primary link adjacencies already exist. These backup targeted hellos maintain LDP sessions when primary link adjacencies go down. The Session Protection figure illustrates LDP session protection between neighbors R1 and R3. The primary link adjacency between R1 and R3 is directly connected link and the backup; targeted adjacency is maintained between R1 and R3. If the direct link fails, LDP link adjacency is destroyed, but the session is kept up and 1 For L3VPN Inter-AS option C, LDP may also be required to assign local labels for some BGP prefixes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 11 Implementing MPLS Label Distribution Protocol Local Label Allocation Controlrunning using targeted hello adjacency (through R2). When the direct link comes back up, there is no change in the LDP session state and LDP can converge quickly and begin forwarding MPLS traffic. Figure 6: Session Protection When LDP session protection is activated (upon link failure), protection is maintained for an unlimited period time. Note Related Topics Configuring Session Protection, on page 37 Configuring LDP Session Protection: Example, on page 58 IGP Synchronization Lack of synchronization between LDP and IGP can cause MPLS traffic loss. Upon link up, for example, IGP can advertise and use a link before LDP convergence has occurred; or, a link may continue to be used in IGP after an LDP session goes down. LDP IGP synchronization synchronizes LDP and IGP so that IGP advertises links with regular metrics only when MPLS LDP is converged on that link. LDP considers a link converged when at least one LDP session is up and running on the link for which LDP has sent its applicable label bindings and received at least one label binding from the peer. LDP communicates this information to IGP upon link up or session down events and IGP acts accordingly, depending on sync state. In the event of an LDP graceful restart session disconnect, a session is treated as converged as long as the graceful restart neighbor is timed out. Additionally, upon local LDP restart, a checkpointed recovered LDP graceful restart session is used and treated as converged and is given an opportunity to connect and resynchronize. Under certain circumstances, it might be required to delay declaration of resynchronization to a configurable interval. LDP provides a configuration option to delay declaring synchronization up for up to 60 seconds. LDP communicates this information to IGP upon linkup or session down events. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 12 OL-26056-02 Implementing MPLS Label Distribution Protocol IGP SynchronizationThe configuration for LDP IGP synchronization resides in respective IGPs (OSPF and IS-IS) and there is no LDP-specific configuration for enabling of thisfeature. However, there is a specific LDP configuration for IGP sync delay timer. Note Related Topics Configuring LDP IGP Synchronization: OSPF, on page 39 Configuring LDP IGP Synchronization—OSPF: Example, on page 58 Configuring LDP IGP Synchronization: ISIS, on page 40 Configuring LDP IGP Synchronization—ISIS: Example, on page 58 IGP Auto-configuration To enable LDP on a large number of interfaces, IGP auto-configuration lets you automatically configure LDP on all interfaces associated with a specified IGP interface; for example, when LDP is used for transport in the core network. However, there needs to be one IGP set up to enable LDP auto-configuration. Typically, LDP assigns and advertises labels for IGP routes and must often be enabled on all active interfaces by an IGP. Without IGP auto-configuration, you must define the set of interfaces under LDP, a procedure that is time-intensive and error-prone. LDP auto-configuration is supported for IPv4 unicast family in the default VRF. The IGP is responsible for verifying and applying the configuration. Note You can also disable auto-configuration on a per-interface basis. This permits LDP to enable all IGP interfaces except those that are explicitly disabled and prevents LDP from enabling an interface when LDP auto-configuration is configured under IGP. Related Topics Enabling LDP Auto-Configuration for a Specified OSPF Instance, on page 42 Enabling LDP Auto-Configuration in an Area for a Specified OSPF Instance, on page 44 Disabling LDP Auto-Configuration, on page 46 Configuring LDP Auto-Configuration: Example, on page 59 LDP Nonstop Routing LDP nonstop routing (NSR) functionality makes failures, such as Route Processor (RP) or Distributed Route Processor (DRP) failover, invisible to routing peers with minimal to no disruption of convergence performance. By default, NSR is globally enabled on all LDP sessions except AToM. A disruption in service may include any of these events: • Route processor (RP) or distributed route processor (DRP) failover • LDP process restart • In-service system upgrade (ISSU) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 13 Implementing MPLS Label Distribution Protocol IGP Auto-configuration• Minimum disruption restart (MDR) Unlike graceful restart functionality, LDP NSR does not require protocol extensions and does not force software upgrades on other routers in the network, nor does LDP NSR require peer routers to support NSR. L2VPN configuration is not supported on NSR. Note Process failures of active TCP or LDP results in session loss and, as a result, NSR cannot be provided unless RP switchover is configured as a recovery action. For more information about how to configure switchover as a recovery action for NSR, see the Configuring Transports module in Cisco ASR 9000 Series Aggregation Services Router IP Addresses and Services Configuration Guide . Related Topics Configuring LDP Nonstop Routing, on page 48 IP LDP Fast Reroute Loop Free Alternate The IP Fast Reroute is a mechanism that enables a router to rapidly switch traffic, after an adjacent link failure, node failure, or both, towards a pre-programmed loop-free alternative (LFA) path. This LFA path is used to switch traffic until the router installs a new primary next hop again, as computed for the changed network topology. The goal of LFA FRR is to reduce failure reaction time to 50 milliseconds by using a pre-computed alternate next hop, in the event that the currently selected primary next hop fails, so that the alternate can be rapidly used when the failure is detected. This feature targets to address the fast convergence ability by detecting, computing, updating or enabling prefix independent pre-computed alternate loop-free paths at the time of failure. IGP pre-computes a backup path per IGP prefix. IGP selects one and only one backup path per primary path. RIB installs the best path and download path protection information to FIB by providing correct annotation for protected and protecting paths. FIB pre-installsthe backup path in dataplane. Upon the link or node failure, the routing protocol detects the failure, all the backup paths of the impacted prefixes are enabled in a prefix-independent manner. Prerequisites The Label Distribution Protocol (LDP) can use the loop-free alternates as long as these prerequisites are met: The Label Switching Router (LSR) running LDP must distribute its labels for the Forwarding Equivalence Classes (FECs) it can provide to all its neighbors, regardless of whether they are upstream, or not. There are two approaches in computing LFAs: • Link-based (per-link)--In link-based LFAs, all prefixes reachable through the primary (protected) link share the same backup information. This means that the whole set of prefixes, sharing the same primary, also share the repair or fast reroute (FRR) ability. The per-link approach protects only the next hop address. The per-link approach is suboptimal and not the best for capacity planning. This is because all traffic is redirected to the next hop instead of being spread over multiple paths, which may lead to potential congestion on link to the next hop. The per-link approach does not provide support for node protection. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 14 OL-26056-02 Implementing MPLS Label Distribution Protocol IP LDP Fast Reroute Loop Free Alternate• Prefix-based (per-prefix)--Prefix-based LFAs allow computing backup information per prefix. It protects the destination address. The per-prefix approach is the preferred approach due to its greater applicability, and the greater protection and better bandwidth utilization that it offers. The repair or backup information computed for a given prefix using prefix-based LFA may be different from the computed by link-based LFA. Note The per-prefix LFA approach is preferred for LDP IP Fast Reroute LFA for these reasons: • Better node failure resistance • Better capacity planning and coverage Features Not Supported These interfaces and features are not supported for the IP LDP Fast Reroute Loop Free Alternate feature: • BVI interface (IRB) is not supported either as primary or backup path. • GRE tunnel is not supported either as primary or backup path. • Cisco ASR 9000 Series SPA Interface Processor-700 POS line card on Cisco ASR 9000 Series Router is not supported as primary link. It can be used as LFA backup only on main interface. • In a multi-topology scenerio, the route in topology T can only use LFA within topology T. Hence, the availability of a backup path depends on the topology. For more information about configuring the IP Fast Reroute Loop-free alternate , see Implementing IS-IS on Cisco IOS XR Software module of the Cisco ASR 9000 Series Aggregation Services Router Routing Configuration Guide. Related Topics Configure IP LDP Fast Reroute Loop Free Alternate: Example, on page 59 Verify IP LDP Fast Reroute Loop Free Alternate: Example, on page 61 Downstream on Demand This Downstream on demand feature adds support for downstream-on-demand mode, where the label is not advertised to a peer, unlessthe peer explicitly requestsit. At the same time,since the peer does not automatically advertise labels, the label request is sent whenever the next-hop points out to a peer that no remote label has been assigned. In order to enable downstream-on-demand mode, this configuration must be applied at mplsldp configuration mode: mpls ldp downstream-on-demand with ACL The ACL contains a list of peer IDs that are configured for downstream-on-demand mode. When the ACL is changed or configured, the list of established neighbors is traversed. If a session's downstream-on-demand Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 15 Implementing MPLS Label Distribution Protocol Downstream on Demandconfiguration has changed, the session is reset in order that the new down-stream-on-demand mode can be configured. The reason for resetting the session is to ensure that the labels are properly advertised between the peers. When a new session is established, the ACL is verified to determine whether the session should negotiate for downstream-on-demand mode. If the ACL does not exist or is empty, downstream-on-demand mode is not configured for any neighbor. For it to be enabled, the Downstream on demand feature has to be configured on both peers of the session. If only one peer in the session has downstream-on-demand feature configured, then the session does not use downstream-on-demand mode. If, after, a label request is sent, and no remote label is received from the peer, the router will periodically resend the label request. After the peer advertises a label after receiving the label request, it will automatically readvertise the label if any label attribute changes subsequently. Related Topics Configuring LDP Downstream on Demand mode, on page 50 Explicit-Null and Implicit-Null Labels Cisco MPLS LDP uses null label, implicit or explicit, as local label for routes or prefixes that terminate on the given LSR. These routes include all local, connected, and attached networks. By default, the null label is implicit-null that allows LDP control plane to implement penultimate hop popping (PHOP) mechanism. When thisis not desirable, you can configure explicit-null that allows LDP control plane to implement ultimate hop popping (UHOP) mechanism. You can configure this explicit-null feature on the ultimate hop LSR. This configuration knob includes an access-list to specify the IP prefixes for which PHOP is desired. This new enhancement allows you to configure implicit-null local label for non-egress (ultimate hop LSR) prefixes by using the implicit-null-override command. This enforces implicit-null local label for a specific prefix even if the prefix requires a non-null label to be allocated by default. For example, by default, an LSR allocates and advertises a non-null label for an IGP route. If you wish to terminate LSP for this route on penultimate hop of the LSR, you can enforce implicit-null label allocation and advertisement for this prefix using implicit-null-override feature. If a given prefix is permitted in both explicit-null and implicit-null-override feature, then implicit-null-override supercedes and an implicit-null label is allocated and advertised for the prefix. Note In order to enable implicit-null-override mode, this configuration must be applied at MPLS LDP label configuration mode: mpls ldp label implicit-null-override for ! This feature works with any prefix including static, IGP, and BGP, when specified in the ACL. How to Implement MPLS LDP A typical MPLS LDP deployment requires coordination among several global neighbor routers. Various configuration tasks are required to implement MPLS LDP : Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 16 OL-26056-02 Implementing MPLS Label Distribution Protocol Explicit-Null and Implicit-Null LabelsConfiguring LDP Discovery Parameters Perform this task to configure LDP discovery parameters (which may be crucial for LDP operations). Note The LDP discovery mechanism is used to discover or locate neighbor nodes. SUMMARY STEPS 1. configure 2. mpls ldp 3. router-id { type number | ip-address } 4. discovery { hello | targeted-hello } holdtime seconds 5. discovery { hello | targeted-hello } interval seconds 6. Use one of the following commands: • end • commit 7. (Optional) show mpls ldp parameters DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Step 3 router-id { type number | ip-address } Specifies the router ID of the local node. Example: RP/0/RSP0/CPU0:router(config-ldp)# router-id loopback 1 • In Cisco IOS XR software, the router ID is specified as an interface name or IP address. By default, LDP uses the global router ID (configured by the global router ID process). Specifies the time that a discovered neighbor is kept without receipt of any subsequent hello messages. The default value for the seconds discovery { hello | targeted-hello } holdtime seconds Step 4 argument is 15 seconds for link hello and 90 seconds for targeted hello messages. Example: RP/0/RSP0/CPU0:router(config-ldp)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 17 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery ParametersCommand or Action Purpose discovery hello holdtime 30 RP/0/RSP0/CPU0:router(config-ldp)# discovery targeted-hello holdtime 180 Selects the period of time between the transmission of consecutive hello messages. The default value for the seconds argument is 5 discovery { hello | targeted-hello } interval seconds Step 5 seconds for link hello messages and 10 seconds for targeted hello messages. Example: RP/0/RSP0/CPU0:router(config-ldp)# discovery hello interval 15 RP/0/RSP0/CPU0:router(config-ldp)# discovery targeted-hello interval 20 Step 6 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. RP/0/RSP0/CPU0:router (config-ldp)# end or ? Entering no exits the configuration session and returns the router to EXEC mode without committing the RP/0/RSP0/CPU0:router configuration changes. (config-ldp)# commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays all the current MPLS LDP parameters. show mpls ldp parameters Example: Step 7 RP/0/RSP0/CPU0:router # show mpls ldp parameters Related Topics LDP Control Plane, on page 3 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 18 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery ParametersConfiguring LDP Discovery Over a Link Perform this task to configure LDP discovery over a link. Note There is no need to enable LDP globally. Before You Begin A stable router ID is required at either end of the link to ensure the link discovery (and session setup) is successful. If you do not assign a router ID to the routers, the system will default to the global router ID. Default router IDs are subject to change and may cause an unstable discovery. SUMMARY STEPS 1. configure 2. mpls ldp 3. router-id ip-address 4. interface type interface-path-id 5. Use one of the following commands: • end • commit 6. (Optional) show mpls ldp discovery DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Step 3 router-id ip-address Specifies the router ID of the local node. Example: RP/0/RSP0/CPU0:router(config-ldp)# router-id loopback 1 • In Cisco IOS XR software, the router ID is specified as an interface name or IP address. By default, LDP uses the global router ID (configured by the global router ID process). Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 19 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery Over a LinkCommand or Action Purpose Enters interface configuration mode for the LDP protocol. Interface type must be Tunnel-TE. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-ldp)# Step 4 interface tunnel-te 12001 RP/0/RSP0/CPU0:router(config-ldp-if)# Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-ldp-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the status of the LDP discovery process. This command, without an interface filter, generates a list of interfaces over which the LDP show mpls ldp discovery Example: RP/0/RSP0/CPU0:router# show mpls ldp discovery Step 6 discovery process is running. The output information contains the state of the link (xmt/rcv hellos), local LDP identifier, the discovered peer’s LDP identifier, and holdtime values. Related Topics LDP Control Plane, on page 3 Configuring LDP Link: Example, on page 54 Configuring LDP Discovery for Active Targeted Hellos Perform this task to configure LDP discovery for active targeted hellos. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 20 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery for Active Targeted HellosNote The active side for targeted hellos initiates the unicast hello toward a specific destination. Before You Begin These prerequisites are required to configure LDP discovery for active targeted hellos: • Stable router ID is required at either end of the targeted session. If you do not assign a router ID to the routers, the system will default to the global router ID. Please note that default router IDs are subject to change and may cause an unstable discovery. • One or more MPLS Traffic Engineering tunnels are established between non-directly connected LSRs. SUMMARY STEPS 1. configure 2. mpls ldp 3. router-id ip-address 4. interface type interface-path-id 5. Use one of the following commands: • end • commit 6. (Optional) show mpls ldp discovery DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Step 3 router-id ip-address Specifies the router ID of the local node. Example: RP/0/RSP0/CPU0:router(config-ldp)# router-id loopback 1 In Cisco IOS XR software, the router ID is specified as an interface name or IP address. By default, LDP uses the global router ID (configured by global router ID process). Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 21 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery for Active Targeted HellosCommand or Action Purpose interface type interface-path-id Enters interface configuration mode for the LDP protocol. Example: RP/0/RSP0/CPU0:router(config-ldp)# interface tunnel-te 12001 Step 4 Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the status of the LDP discovery process. This command, without an interface filter, generates a list of interfaces over which the LDP show mpls ldp discovery Example: RP/0/RSP0/CPU0:router# show mpls ldp discovery Step 6 discovery process is running. The output information contains the state of the link (xmt/rcv hellos), local LDP identifier, the discovered peer’s LDP identifier, and holdtime values. Related Topics LDP Control Plane, on page 3 Configuring LDP Discovery for Targeted Hellos: Example, on page 55 Configuring LDP Discovery for Passive Targeted Hellos Perform this task to configure LDP discovery for passive targeted hellos. A passive side for targeted hello is the destination router (tunnel tail), which passively waits for an incoming hello message. Because targeted hellos are unicast, the passive side waits for an incoming hello message to respond with hello toward its discovered neighbor. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 22 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery for Passive Targeted HellosBefore You Begin Stable router ID is required at either end of the link to ensure that the link discovery (and session setup) is successful. If you do not assign a router ID to the routers, the system defaults to the global router ID. Default router IDs are subject to change and may cause an unstable discovery. SUMMARY STEPS 1. configure 2. mpls ldp 3. router-id ip-address 4. discovery targeted-hello accept 5. Use one of the following commands: • end • commit 6. (Optional) show mpls ldp discovery DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Step 3 router-id ip-address Specifies the router ID of the local node. Example: RP/0/RSP0/CPU0:router(config-ldp)# router-id loopback 1 • In Cisco IOS XR software, the router ID is specified as an interface name or IP address. By default, LDP uses the global router ID (configured by global router ID process). Directs the system to accept targeted hello messages from any source and activates passive mode on the LSR for targeted hello acceptance. discovery targeted-hello accept Example: RP/0/RSP0/CPU0:router(config-ldp)# discovery targeted-hello accept Step 4 • This command is executed on the receiver node (with respect to a given MPLS TE tunnel). • You can control the targeted-hello acceptance using the discovery targeted-hello accept command. Step 5 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 23 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery for Passive Targeted HellosCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the status of the LDP discovery process. This command, without an interface filter, generates a list of interfaces over which the LDP discovery show mpls ldp discovery Example: RP/0/RSP0/CPU0:router# show mpls ldp discovery Step 6 process is running. The output information contains the state of the link (xmt/rcv hellos), local LDP identifier, the discovered peer’s LDP identifier, and holdtime values. Related Topics LDP Control Plane, on page 3 Configuring LDP Discovery for Targeted Hellos: Example, on page 55 Configuring Label Advertisement Control (Outbound Filtering) Perform this task to configure label advertisement (outbound filtering). By default, a label switched router (LSR) advertises all incoming label prefixes to each neighboring router. You can control the exchange of label binding information using the mpls ldp label advertise command. Using the optional keywords, you can advertise selective prefixesto all neighbors, advertise selective prefixes to defined neighbors, or disable label advertisement to all peers for all prefixes. Note Prefixes and peers advertised selectively are defined in the access list. Before You Begin Before configuring label advertisement, enable LDP and configure an access list. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 24 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring Label Advertisement Control (Outbound Filtering)SUMMARY STEPS 1. configure 2. mpls ldp 3. label advertise { disable | for prefix-acl [ to peer-acl ] | interface type interface-path-id } 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 label advertise { disable | for prefix-acl [ Configureslabel advertisement by specifying one of the following options: to peer-acl ] | interface type interface-path-id } Step 3 disable Disables label advertisement to all peers for all prefixes (if there Example: are no other conflicting rules). RP/0/RSP0/CPU0:router(config-ldp)# label interface advertise interface POS 0/1/0/0 RP/0/RSP0/CPU0:router(config-ldp)# for pfx_acl1 to peer_acl1 Specifies an interface for label advertisement of an interface address. for prefix-acl to peer-acl Specifies neighbors to advertise and receive label advertisements. Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 25 Implementing MPLS Label Distribution Protocol Configuring Label Advertisement Control (Outbound Filtering)Command or Action Purpose Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Label Advertisement Control (Outbound Filtering), on page 10 Configuring Label Advertisement (Outbound Filtering): Example, on page 55 Setting Up LDP Neighbors Perform this task to set up LDP neighbors. Before You Begin Stable router ID isrequired at either end of the link to ensure the link discovery (and session setup) issuccessful. If you do not assign a router ID to the routers, the system will default to the global router ID. Default router IDs are subject to change and may cause an unstable discovery. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 26 OL-26056-02 Implementing MPLS Label Distribution Protocol Setting Up LDP NeighborsSUMMARY STEPS 1. configure 2. mpls ldp 3. interface type interface-path-id 4. discovery transport-address [ ip-address | interface ] 5. exit 6. holdtime seconds 7. neighbor ip-address password [ encryption ] password 8. backoff initial maximum 9. Use one of the following commands: • end • commit 10. (Optional) show mpls ldp neighbor DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 interface type interface-path-id Enters interface configuration mode for the LDP protocol. Example: RP/0/RSP0/CPU0:router(config-ldp)# interface POS 0/1/0/0 Step 3 discovery transport-address [ ip-address | Provides an alternative transport address for a TCP connection. interface ] Step 4 • Default transport address advertised by an LSR (for TCP connections) to its peer is the router ID. Example: RP/0/RSP0/CPU0:router(config-ldp-if)# discovery transport-address 192.168.1.42 • Transport address configuration is applied for a given LDP-enabled interface. or RP/0/RSP0/CPU0:router(config-ldp)# discovery transport-address interface • If the interface version of the command is used, the configured IP address of the interface is passed to its neighbors as the transport address. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 27 Implementing MPLS Label Distribution Protocol Setting Up LDP NeighborsCommand or Action Purpose exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-ldp-if)# exit Step 5 Changes the time for which an LDP session is maintained in the absence of LDP messages from the peer. holdtime seconds Example: RP/0/RSP0/CPU0:router(config-ldp)# holdtime 30 Step 6 • Outgoing keepalive interval is adjusted accordingly (to make three keepalives in a given holdtime) with a change in session holdtime value. • Session holdtime is also exchanged when the session is established. • In this example holdtime is set to 30 seconds, which causes the peer session to timeout in 30 seconds, as well as transmitting outgoing keepalive messages toward the peer every 10 seconds. Configures password authentication (using the TCP MD5 option) for a given neighbor. neighbor ip-address password [ encryption ] password Example: RP/0/RSP0/CPU0:router(config-ldp)# neighbor 192.168.2.44 password secretpasswd Step 7 Configures the parameters for the LDP backoff mechanism. The LDP backoff mechanism preventstwo incompatibly configured LSRsfrom backoff initial maximum Example: RP/0/RSP0/CPU0:router(config-ldp)# backoff 10 20 Step 8 engaging in an unthrottled sequence of session setup failures. If a session setup attempt fails due to such incompatibility, each LSR delays its next attempt (backs off), increasing the delay exponentially with each successive failure until the maximum backoff delay is reached. Step 9 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 28 OL-26056-02 Implementing MPLS Label Distribution Protocol Setting Up LDP NeighborsCommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the status of the LDP session with its neighbors. This command can be run with various filters as well as with the brief option. show mpls ldp neighbor Example: RP/0/RSP0/CPU0:router# show mpls ldp neighbor Step 10 Related Topics Configuring LDP Neighbors: Example, on page 56 Setting Up LDP Forwarding Perform this task to set up LDP forwarding. By default, the LDP control plane implements the penultimate hop popping (PHOP) mechanism. The PHOP mechanism requires that label switched routers use the implicit-null label as a local label for the given Forwarding Equivalence Class (FEC) for which LSR is the penultimate hop. Although PHOP has certain advantages, it may be required to extend LSP up to the ultimate hop under certain circumstances(for example, to propagate MPL QoS). This is done using a special local label (explicit-null) advertised to the peers after which the peers use this label when forwarding traffic toward the ultimate hop (egress LSR). Before You Begin Stable router ID isrequired at either end of the link to ensure the link discovery (and session setup) issuccessful. If you do not assign a router ID to the routers, the system will default to the global router ID. Default router IDs are subject to change and may cause an unstable discovery. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 29 Implementing MPLS Label Distribution Protocol Setting Up LDP ForwardingSUMMARY STEPS 1. configure 2. mpls ldp 3. explicit-null 4. Use one of the following commands: • end • commit 5. (Optional) show mpls ldp forwarding 6. (Optional) show mpls forwarding 7. (Optional) ping ip-address DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Causes a router to advertise an explicit null label in situations where it normally advertises an implicit null label (for example, to enable an ultimate-hop disposition instead of PHOP). explicit-null Example: RP/0/RSP0/CPU0:router(config-ldp)# explicit-null Step 3 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. RP/0/RSP0/CPU0:router(config-ldp)# commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 30 OL-26056-02 Implementing MPLS Label Distribution Protocol Setting Up LDP ForwardingCommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the MPLS LDP view of installed forwarding states (rewrites). show mpls ldp forwarding Example: RP/0/RSP0/CPU0:router# show mpls ldp forwarding Step 5 (Optional) Displays a global view of all MPLS installed forwarding states (rewrites) by various applications (LDP, TE, and static). show mpls forwarding Example: RP/0/RSP0/CPU0:router# show mpls forwarding Step 6 (Optional) Checks for connectivity to a particular IP address (going through MPLS LSP as shown in the show mpls forwarding command). ping ip-address Example: RP/0/RSP0/CPU0:router# ping 192.168.2.55 Step 7 Related Topics LDP Forwarding, on page 5 Configuring LDP Forwarding: Example, on page 56 Setting Up LDP NSF Using Graceful Restart Perform this task to set up NSF using LDP graceful restart. LDP graceful restart is a way to enable NSF for LDP. The correct way to set up NSF using LDP graceful restart is to bring up LDP neighbors (link or targeted) with additional configuration related to graceful restart. Before You Begin Stable router ID isrequired at either end of the link to ensure the link discovery (and session setup) issuccessful. If you do not assign a router ID to the routers, the system will default to the global router ID. Default router IDs are subject to change and may cause an unstable discovery. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 31 Implementing MPLS Label Distribution Protocol Setting Up LDP NSF Using Graceful RestartSUMMARY STEPS 1. configure 2. mpls ldp 3. interface type interface-path-id 4. exit 5. graceful-restart 6. graceful-restart forwarding-state-holdtime seconds 7. graceful-restart reconnect-timeout seconds 8. Use one of the following commands: • end • commit 9. (Optional) show mpls ldp parameters 10. (Optional) show mpls ldp neighbor 11. (Optional) show mpls ldp graceful-restart DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 interface type interface-path-id Enters interface configuration mode for the LDP protocol. Example: RP/0/RSP0/CPU0:router(config-ldp)# Step 3 interface POS 0/1/0/0 RP/0/RSP0/CPU0:router(config-ldp-if)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-ldp-if)# exit Step 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 32 OL-26056-02 Implementing MPLS Label Distribution Protocol Setting Up LDP NSF Using Graceful RestartCommand or Action Purpose graceful-restart Enables the LDP graceful restart feature. Example: RP/0/RSP0/CPU0:router(config-ldp)# graceful-restart Step 5 Specifies the length of time that forwarding can keep LDP-installed forwarding states and rewrites, and specifies wh en the LDP control plane restarts. graceful-restart forwarding-state-holdtime seconds Example: RP/0/RSP0/CPU0:router(config-ldp)# Step 6 • After restart of the control plane, when the forwarding state holdtime expires, any previously installed LDP forwarding state or rewrite that is not yet refreshed is deleted from the forwarding. graceful-restart forwarding-state-holdtime 180 • Recovery time sent after restart is computed as the current remaining value of the forwarding state hold timer. Specifies the length of time a neighbor waits before restarting the node to reconnect before declaring an earlier graceful restart session graceful-restart reconnect-timeout seconds Example: RP/0/RSP0/CPU0:router(config-ldp)# graceful-restart reconnect-timeout 169 Step 7 as down. This command is used to start a timer on the peer (upon a neighbor restart). Thistimer isreferred to as Neighbor Livenesstimer. Step 8 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 33 Implementing MPLS Label Distribution Protocol Setting Up LDP NSF Using Graceful RestartCommand or Action Purpose (Optional) Displays all the current MPLS LDP parameters. show mpls ldp parameters Example: RP/0/RSP0/CPU0:router# show mpls ldp parameters Step 9 (Optional) Displays the status of the LDP session with its neighbors. This command can be run with various filters as well as with the brief option. show mpls ldp neighbor Example: RP/0/RSP0/CPU0:router# show mpls ldp neighbor Step 10 (Optional) Displays the status of the LDP graceful restart feature. The output of this command not only shows states of different graceful restart show mpls ldp graceful-restart Example: RP/0/RSP0/CPU0:router# show mpls ldp graceful-restart Step 11 timers, but also a list of graceful restart neighbors, their state, and reconnect count. Related Topics LDP Graceful Restart, on page 6 Phases in Graceful Restart, on page 8 Recovery with Graceful-Restart, on page 9 Configuring LDP Nonstop Forwarding with Graceful Restart: Example, on page 56 Configuring Label Acceptance Control (Inbound Filtering) Perform this task to configure LDP inbound label filtering. By default, there is no inbound label filtering performed by LDP and thus an LSR accepts (and retains) all remote label bindings from all peers. Note SUMMARY STEPS 1. configure 2. mpls ldp 3. label accept for prefix-acl from ip-address 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 34 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring Label Acceptance Control (Inbound Filtering)DETAILED STEPS Command or Action Purpose configure Enters the configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters the MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Configuresinbound label acceptance for prefixesspecified by prefix-acl from neighbor (as specified by its IP address). label accept for prefix-acl from ip-address Example: RP/0/RSP0/CPU0:router(config-ldp)# label Step 3 accept for pfx_acl_1 from 192.168.1.1 RP/0/RSP0/CPU0:router(config-ldp)# label accept for pfx_acl_2 from 192.168.2.2 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Label Acceptance Control (Inbound Filtering), on page 10 Configuring Label Acceptance (Inbound Filtering): Example, on page 57 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 35 Implementing MPLS Label Distribution Protocol Configuring Label Acceptance Control (Inbound Filtering)Configuring Local Label Allocation Control Perform this task to configure label allocation control. Note By default, local label allocation control is disabled and all non-BGP prefixes are assigned local labels. SUMMARY STEPS 1. configure 2. mpls ldp 3. label allocate for prefix-acl 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters the configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters the MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 label allocate for prefix-acl Configures label allocation control for prefixes as specified by prefix-acl. Example: RP/0/RSP0/CPU0:router(config-ldp)# label allocate for pfx_acl_1 Step 3 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 36 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring Local Label Allocation ControlCommand or Action Purpose ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Local Label Allocation Control, on page 11 Configuring Local Label Allocation Control: Example, on page 57 Configuring Session Protection Perform this task to configure LDP session protection. By default, there is no protection is done for link sessions by means of targeted hellos. SUMMARY STEPS 1. configure 2. mpls ldp 3. session protection [ for peer-acl ] [ duration seconds ] 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 37 Implementing MPLS Label Distribution Protocol Configuring Session ProtectionDETAILED STEPS Command or Action Purpose configure Enters the configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters the MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Configures LDP session protection for peers specified by peer-acl with a maximum duration, in seconds. session protection [ for peer-acl ] [ duration seconds ] Example: RP/0/RSP0/CPU0:router(config-ldp)# Step 3 session protection for peer_acl_1 duration 60 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Session Protection, on page 11 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 38 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring Session ProtectionConfiguring LDP Session Protection: Example, on page 58 Configuring LDP IGP Synchronization: OSPF Perform this task to configure LDP IGP Synchronization under OSPF. Note By default, there is no synchronization between LDP and IGPs. SUMMARY STEPS 1. configure 2. router ospf process-name 3. Use one of the following commands: • mpls ldp sync • area area-id mpls ldp sync • area area-id interface name mpls ldp sync 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Identifies the OSPF routing process and enters OSPF configuration mode. router ospf process-name Example: RP/0/RSP0/CPU0:router(config)# router ospf 100 Step 2 Step 3 Use one of the following commands: Enables LDP IGP synchronization on an interface. • mpls ldp sync • area area-id mpls ldp sync • area area-id interface name mpls ldp sync Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 39 Implementing MPLS Label Distribution Protocol Configuring LDP IGP Synchronization: OSPFCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-ospf)# mpls ldp sync Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ospf)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ospf)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics IGP Synchronization, on page 12 Configuring LDP IGP Synchronization—OSPF: Example, on page 58 Configuring LDP IGP Synchronization: ISIS Perform this task to configure LDP IGP Synchronization under ISIS. Note By default, there is no synchronization between LDP and ISIS. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 40 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP IGP Synchronization: ISISSUMMARY STEPS 1. configure 2. router isis instance-id 3. interface type interface-path-id 4. address-family ipv4 unicast 5. mpls ldp sync 6. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enables the Intermediate System-to-Intermediate System (IS-IS) routing protocol and defines an IS-IS instance. router isis instance-id Example: RP/0/RSP0/CPU0:router(config)# router isis Step 2 100 RP/0/RSP0/CPU0:router(config-isis)# Configures the IS-IS protocol on an interface and enters ISIS interface configuration mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-isis)# Step 3 interface POS 0/2/0/0 RP/0/RSP0/CPU0:router(config-isis-if)# Enters address family configuration mode for configuring IS-IS routing for a standard IP Version 4 (IPv4) address prefix. address-family ipv4 unicast Example: RP/0/RSP0/CPU0:router(config-isis-if)# Step 4 address-family ipv4 unicast RP/0/RSP0/CPU0:router(config-isis-if-af)# mpls ldp sync Enables LDP IGP synchronization. Example: RP/0/RSP0/CPU0:router(config-isis-if-af)# mpls ldp sync Step 5 Step 6 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 41 Implementing MPLS Label Distribution Protocol Configuring LDP IGP Synchronization: ISISCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-isis-if-af)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-isis-if-af)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics IGP Synchronization, on page 12 Configuring LDP IGP Synchronization—ISIS: Example, on page 58 Enabling LDP Auto-Configuration for a Specified OSPF Instance Perform this task to enable IGP auto-configuration globally for a specified OSPF process name. You can disable auto-configuration on a per-interface basis. This lets LDP enable all IGP interfaces except those that are explicitly disabled. Note This feature is supported for IPv4 unicast family in default VRF only. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 42 OL-26056-02 Implementing MPLS Label Distribution Protocol Enabling LDP Auto-Configuration for a Specified OSPF InstanceSUMMARY STEPS 1. configure 2. router ospf process-name 3. mpls ldp auto-config 4. area area-id 5. interface type interface-path-id 6. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters a uniquely identifiable OSPF routing process. The process name is any alphanumeric string no longer than 40 characters withoutspaces. router ospf process-name Example: RP/0/RSP0/CPU0:router(config)# router ospf Step 2 190 RP/0/RSP0/CPU0:router(config-ospf)# mpls ldp auto-config Enables LDP auto-configuration. Example: RP/0/RSP0/CPU0:router(config-ospf)# mpls ldp auto-config Step 3 Step 4 area area-id Configures an OSPF area and identifier. Example: RP/0/RSP0/CPU0:router(config-ospf)# area 8 area-id Either a decimal value or an IP address. Step 5 interface type interface-path-id Enables LDP auto-configuration on the specified interface. Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# interface pos 0/6/0/0 LDP configurable limit for maximum number of interfaces does not apply to IGP auto-configuration interfaces. Note Step 6 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 43 Implementing MPLS Label Distribution Protocol Enabling LDP Auto-Configuration for a Specified OSPF InstanceCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-ospf-ar-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ospf-ar-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics IGP Auto-configuration, on page 13 Configuring LDP Auto-Configuration: Example, on page 59 Disabling LDP Auto-Configuration, on page 46 Enabling LDP Auto-Configuration in an Area for a Specified OSPF Instance Perform this task to enable IGP auto-configuration in a defined area with a specified OSPF process name. You can disable auto-configuration on a per-interface basis. This lets LDP enable all IGP interfaces except those that are explicitly disabled. Note This feature is supported for IPv4 unicast family in default VRF only. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 44 OL-26056-02 Implementing MPLS Label Distribution Protocol Enabling LDP Auto-Configuration in an Area for a Specified OSPF InstanceSUMMARY STEPS 1. configure 2. router ospf process-name 3. area area-id 4. mpls ldp auto-config 5. interface type interface-path-id 6. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters a uniquely identifiable OSPF routing process. The process name is any alphanumeric string no longer than 40 characters without spaces. router ospf process-name Example: RP/0/RSP0/CPU0:router(config)# router ospf Step 2 100 RP/0/RSP0/CPU0:router(config-ospf)# Step 3 area area-id Configures an OSPF area and identifier. Example: RP/0/RSP0/CPU0:router(config-ospf)# area area-id Either a decimal value or an IP address. 8 RP/0/RSP0/CPU0:router(config-ospf-ar)# mpls ldp auto-config Enables LDP auto-configuration. Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# mpls ldp auto-config Step 4 Enables LDP auto-configuration on the specified interface. The LDP configurable limit for maximum number of interfaces does not apply to IGP auto-config interfaces. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# Step 5 interface pos 0/6/0/0 RP/0/RSP0/CPU0:router(config-ospf-ar-if) Step 6 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 45 Implementing MPLS Label Distribution Protocol Enabling LDP Auto-Configuration in an Area for a Specified OSPF InstanceCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-ospf-ar-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ospf-ar-if)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics IGP Auto-configuration, on page 13 Configuring LDP Auto-Configuration: Example, on page 59 Disabling LDP Auto-Configuration, on page 46 Disabling LDP Auto-Configuration Perform this task to disable IGP auto-configuration. You can disable auto-configuration on a per-interface basis. This lets LDP enable all IGP interfaces except those that are explicitly disabled. SUMMARY STEPS 1. configure 2. mpls ldp 3. interface type interface-path-id 4. igp auto-config disable 5. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 46 OL-26056-02 Implementing MPLS Label Distribution Protocol Disabling LDP Auto-ConfigurationDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters the MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp RP/0/RSP0/CPU0:router(config-ldp)# Step 2 interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config-ldp)# interface pos 0/6/0/0 Step 3 igp auto-config disable Disables auto-configuration on the specified interface. Example: RP/0/RSP0/CPU0:router(config-ldp-if)# igp auto-config disable Step 4 Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp-if)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 47 Implementing MPLS Label Distribution Protocol Disabling LDP Auto-ConfigurationRelated Topics IGP Auto-configuration, on page 13 Configuring LDP Auto-Configuration: Example, on page 59 Configuring LDP Nonstop Routing Perform this task to configure LDP NSR. Note By default, NSR is globally-enabled on all LDP sessions except AToM. SUMMARY STEPS 1. configure 2. mpls ldp 3. nsr 4. Use one of the following commands: • end • commit 5. show mpls ldp nsr statistics 6. show mpls ldp nsr summary 7. show mpls ldp nsr pending DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters the MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 48 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Nonstop RoutingCommand or Action Purpose nsr Enables LDP nonstop routing. Example: RP/0/RSP0/CPU0:router(config-ldp)# nsr Step 3 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mpls ldp nsr statistics Displays MPLS LDP NSR statistics. Example: RP/0/RSP0/CPU0:router# show mpls ldp nsr statistics Step 5 show mpls ldp nsr summary Displays MPLS LDP NSR summarized information. Example: RP/0/RSP0/CPU0:router# show mpls ldp nsr summary Step 6 show mpls ldp nsr pending Displays MPLS LDP NSR pending information. Example: RP/0/RSP0/CPU0:router# show mpls ldp nsr pending Step 7 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 49 Implementing MPLS Label Distribution Protocol Configuring LDP Nonstop RoutingRelated Topics LDP Nonstop Routing, on page 13 Configuring LDP Downstream on Demand mode SUMMARY STEPS 1. configure 2. mpls ldp 3. downstream-on-demand 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 Enters downstream on demand label advertisement mode. The ACL contains the list of peer IDs that are configured for downstream-on-demand mode. downstream-on-demand Example: RP/0/RSP0/CPU0:router(config-ldp)# Step 3 When the ACL is changed or configured, the list of established neighbor is traversed. downstream-on-demand with access-list Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 50 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Downstream on Demand modeCommand or Action Purpose ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Downstream on Demand, on page 15 Redistributing MPLS LDP Routes into BGP Perform this task to redistribute Border Gateway Protocol (BGP) autonomous system into an MPLS LDP. SUMMARY STEPS 1. configure 2. mpls ldp 3. redistribute bgp 4. Use one of these commands: • end • commit 5. show run mpls ldp DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 51 Implementing MPLS Label Distribution Protocol Redistributing MPLS LDP Routes into BGPCommand or Action Purpose mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(conf)# mpls Step 2 ldp Step 3 redistribute bgp Allows the redistribution of BGP routes into an MPLS LDP processes. Example: RP/0/RSP0/CPU0:router(config-ldp)# Autonomoussystem numbers(ASNs) are globally unique identifiers used to identify autonomous systems (ASs) and enable ASs to exchange exterior routing information between neighboring ASs. A unique ASN is allocated to each AS for use in BGP routing. ASNs are encoded as 2-byte numbers and 4-byte numbers in BGP. Note redistribute bgp {advertise-to access-list | as} Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show run mpls ldp Displays information about the redistributed route information. Example: RP/0/RSP0/CPU0:router# show run mpls Step 5 ldp Setting Up Implicit-Null-Override Label Perform this task to configure implicit-null label for non-egress prefixes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 52 OL-26056-02 Implementing MPLS Label Distribution Protocol Setting Up Implicit-Null-Override LabelSUMMARY STEPS 1. configure 2. mpls ldp 3. label 4. implicit-null-override for access-list 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls ldp Step 2 label Configures the allocation, advertisement ,and acceptance of labels. Example: RP/0/RSP0/CPU0:router(config-ldp)# label Step 3 Step 4 implicit-null-override for access-list Configures implicit-null local label for non-egress prefixes. Example: RP/0/RSP0/CPU0:router(config-ldp-lbl)# implicit-null-override for 70 This feature works with any prefix including static, IGP, and BGP, when specified in the ACL. Note Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ldp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 53 Implementing MPLS Label Distribution Protocol Setting Up Implicit-Null-Override LabelCommand or Action Purpose or ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. RP/0/RSP0/CPU0:router(config-ldp)# commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuration Examples for Implementing MPLS LDP These configuration examples are provided to implement LDP: Configuring LDP with Graceful Restart: Example The example shows how to enable LDP with graceful restart on the POS interface 0/2/0/0. mpls ldp graceful-restart interface pos0/2/0/0 ! Configuring LDP Discovery: Example The example shows how to configure LDP discovery parameters. mpls ldp router-id loopback0 discovery hello holdtime 15 discovery hello interval 5 ! show mpls ldp parameters show mpls ldp discovery Configuring LDP Link: Example The example shows how to configure LDP link parameters. mpls ldp Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 54 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuration Examples for Implementing MPLS LDPinterface pos 0/1/0/0 ! ! show mpls ldp discovery Related Topics Configuring LDP Discovery Over a Link, on page 19 LDP Control Plane, on page 3 Configuring LDP Discovery for Targeted Hellos: Example The examples show how to configure LDP Discovery to accept targeted hello messages. Active (tunnel head) mpls ldp router-id loopback0 interface tunnel-te 12001 ! ! Passive (tunnel tail) mpls ldp router-id loopback0 discovery targeted-hello accept ! Related Topics Configuring LDP Discovery for Active Targeted Hellos, on page 20 Configuring LDP Discovery for Passive Targeted Hellos, on page 22 LDP Control Plane, on page 3 Configuring Label Advertisement (Outbound Filtering): Example The example shows how to configure LDP label advertisement control. mpls ldp label advertise disable for pfx_acl_1 to peer_acl_1 for pfx_acl_2 to peer_acl_2 for pfx_acl_3 interface POS 0/1/0/0 interface POS 0/2/0/0 ! ! ! ipv4 access-list pfx_acl_1 10 permit ip host 1.0.0.0 any ! Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 55 Implementing MPLS Label Distribution Protocol Configuring LDP Discovery for Targeted Hellos: Exampleipv4 access-list pfx_acl_2 10 permit ip host 2.0.0.0 any ! ipv4 access-list peer_acl_1 10 permit ip host 1.1.1.1 any 20 permit ip host 1.1.1.2 any ! ipv4 access-list peer_acl_2 10 permit ip host 2.2.2.2 any ! show mpls ldp binding Related Topics Configuring Label Advertisement Control (Outbound Filtering), on page 24 Label Advertisement Control (Outbound Filtering), on page 10 Configuring LDP Neighbors: Example The example shows how to disable label advertisement. mpls ldp router-id Loopback0 neighbor 1.1.1.1 password encrypted 110A1016141E neighbor 2.2.2.2 implicit-withdraw ! Related Topics Setting Up LDP Neighbors, on page 26 Configuring LDP Forwarding: Example The example shows how to configure LDP forwarding. mpls ldp explicit-null ! show mpls ldp forwarding show mpls forwarding Related Topics Setting Up LDP Forwarding, on page 29 LDP Forwarding, on page 5 Configuring LDP Nonstop Forwarding with Graceful Restart: Example The example shows how to configure LDP nonstop forwarding with graceful restart. mpls ldp log graceful-restart Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 56 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Neighbors: Example! graceful-restart graceful-restart forwarding state-holdtime 180 graceful-restart reconnect-timeout 15 interface pos0/1/0/0 ! show mpls ldp graceful-restart show mpls ldp neighbor gr show mpls ldp forwarding show mpls forwarding Related Topics Setting Up LDP NSF Using Graceful Restart, on page 31 LDP Graceful Restart, on page 6 Phases in Graceful Restart, on page 8 Recovery with Graceful-Restart, on page 9 Configuring Label Acceptance (Inbound Filtering): Example The example shows how to configure inbound label filtering. mpls ldp label accept for pfx_acl_2 from 192.168.2.2 ! ! ! Related Topics Configuring Label Acceptance Control (Inbound Filtering), on page 34 Label Acceptance Control (Inbound Filtering), on page 10 Configuring Local Label Allocation Control: Example The example shows how to configure local label allocation control. mpls ldp label allocate for pfx_acl_1 ! ! Related Topics Configuring Local Label Allocation Control, on page 36 Local Label Allocation Control, on page 11 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 57 Implementing MPLS Label Distribution Protocol Configuring Label Acceptance (Inbound Filtering): ExampleConfiguring LDP Session Protection: Example The example shows how to configure session protection. mpls ldp session protection duration 60 for peer_acl_1 ! Related Topics Configuring Session Protection, on page 37 Session Protection, on page 11 Configuring LDP IGP Synchronization—OSPF: Example The example shows how to configure LDP IGP synchronization for OSPF. router ospf 100 mpls ldp sync ! mpls ldp igp sync delay 30 ! Related Topics Configuring LDP IGP Synchronization: OSPF, on page 39 IGP Synchronization, on page 12 Configuring LDP IGP Synchronization—ISIS: Example The example shows how to configure LDP IGP synchronization. router isis 100 interface POS 0/2/0/0 address-family ipv4 unicast mpls ldp sync ! ! ! mpls ldp igp sync delay 30 ! Related Topics Configuring LDP IGP Synchronization: ISIS, on page 40 IGP Synchronization, on page 12 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 58 OL-26056-02 Implementing MPLS Label Distribution Protocol Configuring LDP Session Protection: ExampleConfiguring LDP Auto-Configuration: Example The example shows how to configure the IGP auto-configuration feature globally for a specific OSPF interface ID. router ospf 100 mpls ldp auto-config area 0 interface pos 1/1/1/1 The example shows how to configure the IGP auto-configuration feature on a given area for a given OSPF interface ID. router ospf 100 area 0 mpls ldp auto-config interface pos 1/1/1/1 Related Topics Enabling LDP Auto-Configuration for a Specified OSPF Instance, on page 42 Enabling LDP Auto-Configuration in an Area for a Specified OSPF Instance, on page 44 Disabling LDP Auto-Configuration, on page 46 IGP Auto-configuration, on page 13 Configure IP LDP Fast Reroute Loop Free Alternate: Example The following examples show how to configure the IP LDP FRR LFA on the router. The following example shows how to configure LFA FRR with default tie-break configuration: router isis TEST net 49.0001.0000.0000.0001.00 address-family ipv4 unicast metric-style wide interface GigabitEthernet0/6/0/13 point-to-point address-family ipv4 unicast fast-reroute per-prefix # primary path GigabitEthernet0/6/0/13 will exclude the interface # GigabitEthernet0/6/0/33 in LFA backup path computation. fast-reroute per-prefix exclude interface GigabitEthernet0/6/0/33 ! interface GigabitEthernet0/6/0/23 point-to-point address-family ipv4 unicast ! interface GigabitEthernet0/6/0/24 point-to-point address-family ipv4 unicast ! interface GigabitEthernet0/6/0/33 point-to-point address-family ipv4 unicast ! Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 59 Implementing MPLS Label Distribution Protocol Configuring LDP Auto-Configuration: ExampleThe following example shows how to configure TE tunnel as LFA backup: router isis TEST net 49.0001.0000.0000.0001.00 address-family ipv4 unicast metric-style wide interface GigabitEthernet0/6/0/13 point-to-point address-family ipv4 unicast fast-reroute per-prefix # primary path GigabitEthernet0/6/0/13 will exclude the interface # GigabitEthernet0/6/0/33 in LFA backup path computation. TE tunnel 1001 # is using the link GigabitEthernet0/6/0/33. fast-reroute per-prefix exclude interface GigabitEthernet0/6/0/33 fast-reroute per-prefix lfa-candidate interface tunnel-te1001 ! interface GigabitEthernet0/6/0/33 point-to-point address-family ipv4 unicast ! The following example shows how to configure LFA FRR with configurable tie-break configuration: router isis TEST net 49.0001.0000.0000.0001.00 address-family ipv4 unicast metric-style wide fast-reroute per-prefix tiebreaker ? downstream Prefer backup path via downstream node lc-disjoint Prefer line card disjoint backup path lowest-backup-metric Prefer backup path with lowest total metric node-protecting Prefer node protecting backup path primary-path Prefer backup path from ECMP set secondary-path Prefer non-ECMP backup path fast-reroute per-prefix tiebreaker lc-disjoint index ? <1-255> Index fast-reroute per-prefix tiebreaker lc-disjoint index 10 Sample configuration: router isis TEST net 49.0001.0000.0000.0001.00 address-family ipv4 unicast metric-style wide fast-reroute per-prefix tiebreaker downstream index 60 fast-reroute per-prefix tiebreaker lc-disjoint index 10 fast-reroute per-prefix tiebreaker lowest-backup-metric index 40 fast-reroute per-prefix tiebreaker node-protecting index 30 fast-reroute per-prefix tiebreaker primary-path index 20 fast-reroute per-prefix tiebreaker secondary-path index 50 ! interface GigabitEthernet0/6/0/13 point-to-point address-family ipv4 unicast fast-reroute per-prefix ! interface GigabitEthernet0/1/0/13 point-to-point address-family ipv4 unicast fast-reroute per-prefix ! interface GigabitEthernet0/3/0/0.1 point-to-point address-family ipv4 unicast ! interface GigabitEthernet0/3/0/0.2 point-to-point address-family ipv4 unicast Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 60 OL-26056-02 Implementing MPLS Label Distribution Protocol Configure IP LDP Fast Reroute Loop Free Alternate: ExampleRelated Topics IP LDP Fast Reroute Loop Free Alternate, on page 14 Verify IP LDP Fast Reroute Loop Free Alternate: Example The following examples show how to verify the IP LDP FRR LFA feature on the router. The following example shows how to verify ISIS FRR output: RP/0/RSP0/CPU0:router#show isis fast-reroute summary IS-IS 1 IPv4 Unicast FRR summary Critical High Medium Low Total Priority Priority Priority Priority Prefixes reachable in L1 All paths protected 0 0 4 1008 1012 Some paths protected 0 0 0 0 0 Unprotected 0 0 0 0 0 Protection coverage 0.00% 0.00% 100.00% 100.00% 100.00% Prefixes reachable in L2 All paths protected 0 0 1 0 1 Some paths protected 0 0 0 0 0 Unprotected 0 0 0 0 0 Protection coverage 0.00% 0.00% 100.00% 0.00% 100.00% The following example shows how to verify the IGP route 211.1.1.1/24 in ISIS Fast Reroute output: RP/0/RSP0/CPU0:router#show isis fast-reroute 211.1.1.1/24 L1 211.1.1.1/24 [40/115] via 12.0.0.2, GigabitEthernet0/6/0/13, NORTH FRR backup via 14.0.2.2, GigabitEthernet0/6/0/0.3, SOUTH RP/0/RSP0/CPU0:router#show isis fast-reroute 211.1.1.1/24 detail L1 211.1.1.1/24 [40/115] low priority via 12.0.0.2, GigabitEthernet0/6/0/13, NORTH FRR backup via 14.0.2.2, GigabitEthernet0/6/0/0.3, SOUTH P: No, TM: 130, LC: No, NP: Yes, D: Yes src sr1.00-00, 173.1.1.2 L2 adv [40] native, propagated The following example shows how to verify the IGP route 211.1.1.1/24 in RIB output: RP/0/RSP0/CPU0:router#show route 211.1.1.1/24 Routing entry for 211.1.1.0/24 Known via "isis 1", distance 115, metric 40, type level-1 Installed Nov 27 10:22:20.311 for 1d08h Routing Descriptor Blocks 12.0.0.2, from 173.1.1.2, via GigabitEthernet0/6/0/13, Protected Route metric is 40 14.0.2.2, from 173.1.1.2, via GigabitEthernet0/6/0/0.3, Backup Route metric is 0 No advertising protos. The following example shows how to verify the IGP route 211.1.1.1/24 in FIB output: RP/0/RSP0/CPU0:router#show cef 211.1.1.1/24 211.1.1.0/24, version 0, internal 0x40040001 (ptr 0x9d9e1a68) [1], 0x0 \ (0x9ce0ec40), 0x4500 (0x9e2c69e4) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 61 Implementing MPLS Label Distribution Protocol Verify IP LDP Fast Reroute Loop Free Alternate: ExampleUpdated Nov 27 10:22:29.825 remote adjacency to GigabitEthernet0/6/0/13 Prefix Len 24, traffic index 0, precedence routine (0) via 12.0.0.2, GigabitEthernet0/6/0/13, 0 dependencies, weight 0, class 0, \ protected [flags 0x400] path-idx 0, bkup-idx 1 [0x9e5b71b4 0x0] next hop 12.0.0.2 local label 16080 labels imposed {16082} via 14.0.2.2, GigabitEthernet0/6/0/0.3, 3 dependencies, weight 0, class 0, \ backup [flags 0x300] path-idx 1 next hop 14.0.2.2 remote adjacency local label 16080 labels imposed {16079} RP/0/RSP0/CPU0:router#show cef 211.1.1.1/24 detail 211.1.1.0/24, version 0, internal 0x40040001 (ptr 0x9d9e1a68) [1], 0x0 \ (0x9ce0ec40), 0x4500 (0x9e2c69e4) Updated Nov 27 10:22:29.825 remote adjacency to GigabitEthernet0/6/0/13 Prefix Len 24, traffic index 0, precedence routine (0) gateway array (0x9cc622f0) reference count 1158, flags 0x28000d00, source lsd \ (2), [387 type 5 flags 0x101001 (0x9df32398) ext 0x0 (0x0)] LW-LDI[type=5, refc=3, ptr=0x9ce0ec40, sh-ldi=0x9df32398] via 12.0.0.2, GigabitEthernet0/6/0/13, 0 dependencies, weight 0, class 0, \ protected [flags 0x400] path-idx 0, bkup-idx 1 [0x9e5b71b4 0x0] next hop 12.0.0.2 local label 16080 labels imposed {16082} via 14.0.2.2, GigabitEthernet0/6/0/0.3, 3 dependencies, weight 0, class 0, \ backup [flags 0x300] path-idx 1 next hop 14.0.2.2 remote adjacency local label 16080 labels imposed {16079} Load distribution: 0 (refcount 387) Hash OK Interface Address 0 Y GigabitEthernet0/6/0/13 remote The following example shows how to verify the IGP route 211.1.1.1/24 in MPLS LDP output: RP/0/RSP0/CPU0:router#show mpls ldp forwarding 211.1.1.1/24 Prefix Label Label Outgoing Next Hop GR Stale In Out Interface ---------------- ------- ---------- ------------ ------------------- -- ----- 211.1.1.0/24 16080 16082 Gi0/6/0/13 12.0.0.2 Y N 16079 Gi0/6/0/0.3 14.0.2.2 (!) Y N RP/0/RSP0/CPU0:router#show mpls ldp forwarding 211.1.1.1/24 detail Prefix Label Label Outgoing Next Hop GR Stale In Out Interface ---------------- ------- ---------- ------------ ------------------- -- ----- 211.1.1.0/24 16080 16082 Gi0/6/0/13 12.0.0.2 Y N [ Protected; path-id 1 backup-path-id 33; peer 20.20.20.20:0 ] 16079 Gi0/6/0/0.3 14.0.2.2 (!) Y N [ Backup; path-id 33; peer 40.40.40.40:0 ] Routing update : Nov 27 10:22:19.560 (1d08h ago) Forwarding update: Nov 27 10:22:29.060 (1d08h ago) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 62 OL-26056-02 Implementing MPLS Label Distribution Protocol Verify IP LDP Fast Reroute Loop Free Alternate: ExampleRelated Topics IP LDP Fast Reroute Loop Free Alternate, on page 14 Additional References For additional information related to Implementing MPLS Label Distribution Protocol, refer to the following references: Related Documents Related Topic Document Title MPLS Label Distribution Protocol Commands on Cisco ASR 9000 Series Router module in the Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference LDP commands on Cisco ASR 9000 Series Router Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Getting started material Standards Standards Title No new or modified standards are supported by this — feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/ sw-center/netmgmt/cmtk/mibs.shtml — RFCs RFCs Title RFC 3031 Multiprotocol Label Switching Architecture RFC 3036 LDP Specification Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 63 Implementing MPLS Label Distribution Protocol Additional ReferencesRFCs Title RFC 3037 LDP Applicability Graceful Restart Mechanism for Label Distribution Protocol RFC 3478 RFC 3815 Definitions of Managed Objects for MPLS LDP Label Distribution and Management Downstream on Demand Label Advertisement RFC 5036 Basic Specification for IP Fast Reroute: Loop-Free Alternates RFC 5286 Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 64 OL-26056-02 Implementing MPLS Label Distribution Protocol Additional ReferencesC H A P T E R 2 Implementing RSVP for MPLS-TE This module describes how to implement Resource Reservation Protocol (RSVP) for MPLS Traffic Engineering (MPLS-TE) on Cisco ASR 9000 Series Aggregation Services Routers. The Multiprotocol Label Switching (MPLS) is a standards-based solution, driven by the Internet Engineering Task Force (IETF), devised to convert the Internet and IP backbones from best-effort networks into business-class transport media. Resource Reservation Protocol (RSVP) is a signaling protocol that enables systems to request resource reservations from the network. RSVP processes protocol messages from other systems, processes resource requests from local clients, and generates protocol messages. As a result, resources are reserved for data flows on behalf of local and remote clients. RSVP creates, maintains, and deletes these resource reservations. RSVP provides a secure method to control quality-of-service (QoS) access to a network. MPLS Traffic Engineering (MPLS-TE) uses RSVP to signal label switched paths (LSPs). Feature History for Implementing RSVP for MPLS-TE Release Modification Release 3.7.2 This feature was introduced. Release 3.9.0 The RSVP MIB feature was added. • Prerequisites for Implementing RSVP for MPLS-TE , page 66 • Information About Implementing RSVP for MPLS-TE , page 66 • Information About Implementing RSVP Authentication, page 71 • How to Implement RSVP, page 75 • How to Implement RSVP Authentication, page 88 • Configuration Examples for RSVP, page 104 • Configuration Examples for RSVP Authentication, page 108 • Additional References, page 110 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 65Prerequisites for Implementing RSVP for MPLS-TE These prerequisites are required to implement RSVP for MPLS-TE : • You must be in a user group associated with a task group that includesthe proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • Either a composite mini-image plus an MPLS package, or a full image, must be installed. Information About Implementing RSVP for MPLS-TE To implement MPLS RSVP, you must understand the these concepts: Related Topics How to Implement RSVP Authentication, on page 88 Overview of RSVP for MPLS-TE RSVP is a network control protocol that enables Internet applications to signal LSPs for MPLS-TE . The RSVP implementation is compliant with the IETF RFC 2205, and RFC 3209. RSVP is automatically enabled on interfaces on which MPLS-TE is configured. For MPLS-TE LSPs with nonzero bandwidth, the RSVP bandwidth has to be configured on the interfaces. There is no need to configure RSVP, if all MPLS-TE LSPs have zero bandwidth . RSVP Refresh Reduction, defined in RFC 2961, includes support for reliable messages and summary refresh messages. Reliable messages are retransmitted rapidly if the message is lost. Because each summary refresh message contains information to refresh multiple states, this greatly reduces the amount of messaging needed to refresh states. For refresh reduction to be used between two routers, it must be enabled on both routers. Refresh Reduction is enabled by default. Message rate limiting for RSVP allows you to set a maximum threshold on the rate at which RSVP messages are sent on an interface. Message rate limiting is disabled by default. The process that implements RSVP is restartable. A software upgrade, process placement or process failure of RSVP or any of its collaborators, has been designed to ensure Nonstop Forwarding (NSF) of the data plane. RSVP supports graceful restart, which is compliant with RFC 3473. It follows the procedures that apply when the node reestablishes communication with the neighbor’s control plane within a configured restart time. It is important to note that RSVP is not a routing protocol. RSVP works in conjunction with routing protocols and installs the equivalent of dynamic access lists along the routes that routing protocols calculate. Because of this, implementing RSVP in an existing network does not require migration to a new routing protocol. Related Topics Configuring RSVP Packet Dropping, on page 81 Set DSCP for RSVP Packets: Example, on page 107 Verifying RSVP Configuration, on page 83 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 66 OL-26056-02 Implementing RSVP for MPLS-TE Prerequisites for Implementing RSVP for MPLS-TELSP Setup LSP setup is initiated when the LSP head node sends path messages to the tail node (see the RSVP Operation figure ). Figure 7: RSVP Operation The Path messagesreserve resources along the path to each node, creating Path softstates on each node.When the tail node receives a path message, it sends a reservation (RESV) message with a label back to the previous node. When the reservation message arrives at the previous node, it causes the reserved resources to be locked and forwarding entries are programmed with the MPLS label sent from the tail-end node. A new MPLS label is allocated and sent to the next node upstream. When the reservation message reaches the head node, the label is programmed and the MPLS data starts to flow along the path. High Availability RSVP is designed to ensure nonstop forwarding under the following constraints: • Ability to tolerate the failure of one RP of a 1:1 redundant pair. • Hitless software upgrade. The RSVP high availability (HA) design followsthe constraints of the underlying architecture where processes can fail without affecting the operation of other processes. A processfailure of RSVP or any of its collaborators does not cause any traffic loss or cause established LSPs to go down. When RSVP restarts, it recovers its signaling states from its neighbors. No special configuration or manual intervention are required. You may configure RSVP graceful restart, which offers a standard mechanism to recover RSVP state information from neighbors after a failure. Graceful Restart RSVP graceful restart provides a control plane mechanism to ensure high availability (HA), which allows detection and recovery from failure conditions while preserving nonstop forwarding services on the systems running Cisco IOS XR software. RSVP graceful restart provides a mechanism that minimizes the negative effects on MPLS traffic caused by these types of faults: • Disruption of communication channels between two nodes when the communication channels are separate from the data channels. This is called control channel failure. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 67 Implementing RSVP for MPLS-TE LSP Setup• Control plane of a node fails but the node preservesits data forwarding states. Thisis called node failure. The procedure for RSVP graceful restart is described in the “Fault Handling” section of RFC 3473, Generalized MPLS Signaling, RSVP-TE Extensions. One of the main advantages of using RSVP graceful restart isrecovery of the control plane while preserving nonstop forwarding and existing labels. Graceful Restart: Standard and Interface-Based When you configure RSVP graceful restart, Cisco IOS XR software sends and expects node-id address based Hello messages (that is, Hello Request and Hello Ack messages). The RSVP graceful restart Hello session is not established if the neighbor router does not respond with a node-id based Hello Ack message. You can also configure graceful restart to respond (send Hello Ack messages) to interface-address based Hello messages sent from a neighbor router in order to establish a graceful restart Hello session on the neighbor router. If the neighbor router does not respond with node-id based Hello Ack message, however, the RSVP graceful restart Hello session is not established. Cisco IOS XR software provides two commands to configure graceful restart: • signalling hello graceful-restart • signalling hello graceful-restart interface-based By default, graceful restart is disabled. To enable interface-based graceful restart, you must first enable standard graceful restart. You cannot enable interface-based graceful restart independently. Note Related Topics Enabling Graceful Restart, on page 78 Enable Graceful Restart: Example, on page 106 Enable Interface-Based Graceful Restart: Example, on page 106 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 68 OL-26056-02 Implementing RSVP for MPLS-TE Graceful RestartGraceful Restart: Figure This figure illustrates how RSVP graceful restart handles a node failure condition. Figure 8: Node Failure with RSVP RSVP graceful restart requires the use of RSVP hello messages. Hello messages are used between RSVP neighbors. Each neighbor can autonomously issue a hello message containing a hello request object. A receiver that supports the hello extension replies with a hello message containing a hello acknowledgment (ACK) object. This means that a hello message contains either a hello Request or a hello ACK object. These two objects have the same format. The restart cap object indicates a node’s restart capabilities. It is carried in hello messages if the sending node supports state recovery. The restart cap object has the following two fields: Restart Time Time after a lossin Hello messages within which RSVP hello session can be reestablished. It is possible for a user to manually configure the Restart Time. Recovery Time Time that the sender waits for the recipient to re-synchronize states after the re-establishment of hello messages. This value is computed and advertised based on number of states that existed before the fault occurred. For graceful restart, the hello messages are sent with an IP Time to Live (TTL) of 64. This is because the destination of the hello messages can be multiple hops away. If graceful restart is enabled, hello messages (containing the restart cap object) are send to an RSVP neighbor when RSVP states are shared with that neighbor. Restart cap objects are sent to an RSVP neighbor when RSVP states are shared with that neighbor. If the neighbor replies with hello messages containing the restart cap object, the neighbor is considered to be graceful restart capable. If the neighbor does not reply with hello messages or replies with hello messages that do not Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 69 Implementing RSVP for MPLS-TE Graceful Restartcontain the restart cap object, RSVP backs off sending hellos to that neighbor. If graceful restart is disabled, no hello messages (Requests or ACKs) are sent. If a hello Request message is received from an unknown neighbor, no hello ACK is sent back. ACL-based Prefix Filtering RSVP provides for the configuration of extended access lists (ACLs) to forward, drop, or perform normal processing on RSVP router-alert (RA) packets. Prefix filtering is designed for use at core access routers in order that RA packets (identified by a source/destination address) can be seamlessly forwarded across the core from one access point to another (or, conversely to be dropped at this node). RSVP applies prefix filtering rules only to RA packets because RA packets contain source and destination addresses of the RSVP flow. RA packets forwarded due to prefix filtering must not be sent as RSVP bundle messages, because bundle messages are hop-by-hop and do not contain RA. Forwarding a Bundle message does not work, because the node receiving the messages is expected to apply prefix filtering rules only to RA packets. Note For each incoming RSVP RA packet, RSVP inspectsthe IP header and attemptsto match the source/destination IP addresses with a prefix configured in an extended ACL. The results are as follows: • If an ACL does not exist, the packet is processed like a normal RSVP packet. • If the ACL match yields an explicit permit (and if the packet is not locally destined), the packet is forwarded. The IP TTL is decremented on all forwarded packets. • If the ACL match yields an explicit deny, the packet is dropped. If there is no explicit permit or explicit deny, the ACL infrastructure returns an implicit (default) deny. RSVP can be configured to drop the packet. By default, RSVP processes the packet if the ACL match yields an implicit (default) deny. Related Topics Configuring ACLs for Prefix Filtering, on page 80 Configure ACL-based Prefix Filtering: Example, on page 107 RSVP MIB RFC 2206, RSVP Management Information Base Using SMIv2 defines all the SNMP MIB objects that are relevant to RSVP. By implementing the RSVP MIB, you can perform these functions: • Specifies two traps (NetFlow and LostFlow) which are triggered when a new flow is created or deleted. • Lets you use SNMP to access objects belonging to RSVP. Related Topics Enabling RSVP Traps, on page 86 Enable RSVP Traps: Example, on page 108 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 70 OL-26056-02 Implementing RSVP for MPLS-TE ACL-based Prefix FilteringInformation About Implementing RSVP Authentication Before implementing RSVP authentication, you must configure a keychain first. The name of the keychain must be the same as the one used in the keychain configuration. For more information about configuring keychains, see Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide . Note RSVP authentication supports only keyed-hash message authentication code (HMAC) type algorithms. To implement RSVP authentication on Cisco IOS XR software, you must understand the following concepts: RSVP Authentication Functions You can carry out these tasks with RSVP authentication: • Set up a secure relationship with a neighbor by using secret keys that are known only to you and the neighbor. • Configure RSVP authentication in global, interface, or neighbor configuration modes. • Authenticate incoming messages by checking if there is a valid security relationship that is associated based on key identifier, incoming interface, sender address, and destination address. • Add an integrity object with message digest to the outgoing message. • Use sequence numbers in an integrity object to detect replay attacks. RSVP Authentication Design Network administrators need the ability to establish a security domain to control the set ofsystemsthat initiates RSVP requests. The RSVP authentication feature permits neighborsin an RSVP network to use a secure hash to sign all RSVP signaling messages digitally, thus allowing the receiver of an RSVP message to verify the sender of the message without relying solely on the sender's IP address. The signature is accomplished on a per-RSVP-hop basis with an RSVP integrity object in the RSVP message as defined in RFC 2747. This method provides protection against forgery or message modification. However, the receiver must know the security key used by the sender to validate the digital signature in the received RSVP message. Network administrators manually configure a common key for each RSVP neighbor on the shared network. The following reasons explain how to choose between global, interface, or neighbor configuration modes: • Global configuration mode is optimal when a router belongs to a single security domain (for example, part of a set of provider core routers). A single common key set is expected to be used to authenticate all RSVP messages. • Interface, or neighbor configuration mode, is optimal when a router belongs to more than one security domain. For example, a provider router is adjacent to the provider edge (PE), or a PE is adjacent to an edge device. Different keys can be used but not shared. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 71 Implementing RSVP for MPLS-TE Information About Implementing RSVP AuthenticationGlobal configuration mode configures the defaults for interface and neighbor interface modes. These modes, unless explicitly configured, inherit the parameters from global configuration mode, as follows: • Window-size is set to 1. • Lifetime is set to 1800. • key-source key-chain command is set to none or disabled. Related Topics Configuring a Lifetime for an Interface for RSVP Authentication, on page 95 RSVP Authentication by Using All the Modes: Example, on page 110 Global, Interface, and Neighbor Authentication Modes You can configure global defaults for all authentication parameters including key, window size, and lifetime. These defaults are inherited when you configure authentication for each neighbor or interface. However, you can also configure these parameters individually on a neighbor or interface basis, in which case the global values (configured or default) are no longer inherited. RSVP uses the following rules when choosing which authentication parameter to use when that parameter is configured at multiple levels (interface, neighbor, or global). RSVP goes from the most specific to least specific; that is, neighbor, interface, and global. Note Global keys simplify the configuration and eliminate the chances of a key mismatch when receiving messages from multiple neighbors and multiple interfaces. However, global keys do not provide the best security. Interface keys are used to secure specific interfaces between two RSVP neighbors. Because many of the RSVP messages are IP routed, there are many scenarios in which using interface keys are not recommended. If all keys on the interfaces are not the same, there is a risk of a key mismatch for the following reasons: • When the RSVP graceful restart is enabled, RSVP hello messages are sent with a source IP address of the local router ID and a destination IP address of the neighbor router ID. Because multiple routes can exist between the two neighbors, the RSVP hello message can traverse to different interfaces. • When the RSVP fast reroute (FRR) is active, the RSVP Path and Resv messages can traverse multiple interfaces. • When Generalized Multiprotocol Label Switching (GMPLS) optical tunnels are configured, RSVP messages are exchanged with router IDs as the source and destination IP addresses. Since multiple control channels can exist between the two neighbors, the RSVP messages can traverse different interfaces. Neighbor-based keys are particularly useful in a network in which some neighborssupport RSVP authentication procedures and others do not. When the neighbor-based keys are configured for a particular neighbor, you are advised to configure all the neighbor’s addresses and router IDs for RSVP authentication. Related Topics Configuring a Lifetime for RSVP Authentication in Global Configuration Mode, on page 90 RSVP Authentication Global Configuration Mode: Example, on page 108 Specifying the RSVP Authentication Keychain in Interface Mode, on page 93 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 72 OL-26056-02 Implementing RSVP for MPLS-TE Global, Interface, and Neighbor Authentication ModesRSVP Authentication by Using All the Modes: Example, on page 110 Security Association A security association (SA) is defined as a collection of information that is required to maintain secure communications with a peer to counter replay attacks, spoofing, and packet corruption. This table lists the main parameters that define a security association. Table 2: Security Association Main Parameters Parameter Description src IP address of the sender. dst IP address of the final destination. interface Interface of the SA. direction Send or receive type of the SA. Expiration timer value that is used to collect unused security association data. Lifetime Lastsequence number that was eithersent or accepted (dependent of the direction type). Sequence Number key-source Source of keys for the configurable parameter. Key number (returned form the key-source) that was last used. keyID digest Algorithm last used (returned from the key-source). Specifiesthe tolerance for the configurable parameter. The parameter is applicable when the direction parameter is the receive type. Window Size Specifiesthe last window size value sequence number that is received or accepted. The parameter is applicable when the direction parameter isthe receive type. Window An SA is created dynamically when sending and receiving messagesthat require authentication. The neighbor, source, and destination addresses are obtained either from the IP header or from an RSVP object, such as a HOP object, and whether the message is incoming or outgoing. When the SA is created, an expiration timer is created. When the SA authenticates a message, it is marked as recently used. The lifetime timer periodically checks if the SA is being used. If so, the flag is cleared and is cleaned up for the next period unless it is marked again. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 73 Implementing RSVP for MPLS-TE Security AssociationThis table shows how to locate the source and destination address keys for an SA that is based on the message type. Table 3: Source and Destination Address Locations for Different Message Types Message Type Source Address Location Destination Address Location Path HOP object SESSION object PathTear HOP object SESSION object PathError HOP object IP header Resv HOP object IP header ResvTear HOP object IP header ResvError HOP object IP header ResvConfirm IP header CONFIRM object Ack IP header IP header Srefresh IP header IP header Hello IP header IP header Bundle — — Related Topics Specifying the Keychain for RSVP Neighbor Authentication, on page 98 RSVP Neighbor Authentication: Example, on page 109 Configuring a Lifetime for RSVP Neighbor Authentication, on page 100 RSVP Authentication Global Configuration Mode: Example, on page 108 Key-source Key-chain The key-source key-chain is used to specify which keys to use. You configure a list of keys with specific IDs and have different lifetimes so that keys are changed at predetermined intervals automatically, without any disruption of service. Rollover enhances network security by minimizing the problems that could result if an untrusted source obtained, deduced, or guessed the current key. RSVP handles rollover by using the following key ID types: • On TX, use the youngest eligible key ID. • On RX, use the key ID that is received in an integrity object. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 74 OL-26056-02 Implementing RSVP for MPLS-TE Key-source Key-chainFor more information about implementing keychain management,see Cisco ASR 9000 Series Router System Security Configuration Guide Cisco ASR 9000 Series Router . Related Topics Enabling RSVP Authentication Using the Keychain in Global Configuration Mode, on page 88 RSVP Authentication Global Configuration Mode: Example, on page 108 Specifying the Keychain for RSVP Neighbor Authentication, on page 98 RSVP Neighbor Authentication: Example, on page 109 Guidelines for Window-Size and Out-of-Sequence Messages These guidelines are required for window-size and out-of-sequence messages: • Default window-size is set to 1. If a single message is received out-of-sequence, RSVP rejects it and displays a message. • When RSVP messages are sent in burst mode (for example, tunnel optimization), some messages can become out-of-sequence for a short amount of time. • Window size can be increased by using the window-size command. When the window size is increased, replay attacks can be detected with duplicate sequence numbers. Related Topics Configuring the Window Size for RSVP Authentication in Global Configuration Mode, on page 91 Configuring the Window Size for an Interface for RSVP Authentication, on page 96 Configuring the Window Size for RSVP Neighbor Authentication, on page 102 RSVP Authentication by Using All the Modes: Example, on page 110 RSVP Authentication for an Interface: Example, on page 109 Caveats for Out-of-Sequence These caveats are listed for out-of-sequence: • When RSVP messages traverse multiple interface types with different maximum transmission unit (MTU) values, some messages can become out-of-sequence if they are fragmented. • Packets with some IP options may be reordered. • Change in QoS configurations may lead to a transient reorder of packets. • QoS policies can cause a reorder of packets in a steady state. Because all out-of-sequence messages are dropped, the sender must retransmit them. Because RSVP state timeouts are generally long, out-of-sequence messages during a transient state do not lead to a state timeout. How to Implement RSVP RSVP requires coordination among several routers, establishing exchange of RSVP messages to set up LSPs. Depending on the client application, RSVP requires some basic configuration, as described in these topics: Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 75 Implementing RSVP for MPLS-TE Guidelines for Window-Size and Out-of-Sequence MessagesConfiguring Traffic Engineering Tunnel Bandwidth To configure traffic engineering tunnel bandwidth, you must firstset up TE tunnels and configure the reserved bandwidth per interface (there is no need to configure bandwidth for the data channel or the control channel). Cisco IOS XR software supports two MPLS DS-TE modes: Prestandard and IETF. For prestandard DS-TE you do not need to configure bandwidth for the data channel or the control channel. There is no other specific RSVP configuration required for this application. When no RSVP bandwidth is specified for a particular interface, you can specify zero bandwidth in the LSP setup if it is configured under RSVP interface configuration mode or MPLS-TE configuration mode. Note Related Topics Configuring a Prestandard DS-TE Tunnel, on page 176 Configuring an IETF DS-TE Tunnel Using RDM, on page 178 Configuring an IETF DS-TE Tunnel Using MAM, on page 181 Confirming DiffServ-TE Bandwidth Perform this task to confirm DiffServ-TE bandwidth. In RSVP global and subpools, reservable bandwidths are configured per interface to accommodate TE tunnels on the node. Available bandwidth from all configured bandwidth pools is advertised using IGP. RSVP signals the TE tunnel with appropriate bandwidth pool requirements. SUMMARY STEPS 1. configure 2. rsvp 3. interface type interface-path-id 4. bandwidth total-bandwidth max-flow sub-pool sub-pool-bw 5. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 76 OL-26056-02 Implementing RSVP for MPLS-TE Configuring Traffic Engineering Tunnel BandwidthDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp Enters RSVP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 interface type interface-path-id Enters interface configuration mode for the RSVP protocol. Example: RP/0/RSP0/CPU0:router(config-rsvp)# Step 3 interface pos 0/2/0/0 Sets the reservable bandwidth, the maximum RSVP bandwidth available for a flow and the sub-pool bandwidth on this interface. bandwidth total-bandwidth max-flow sub-pool sub-pool-bw Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Step 4 bandwidth 1000 100 sub-pool 150 Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 77 Implementing RSVP for MPLS-TE Confirming DiffServ-TE BandwidthCommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Differentiated Services Traffic Engineering, on page 127 Bandwidth Configuration (MAM): Example, on page 104 Bandwidth Configuration (RDM): Example, on page 105 Enabling Graceful Restart Perform this task to enable graceful restart for implementations using both node-id and interface-based hellos. RSVP graceful restart provides a control plane mechanism to ensure high availability, which allows detection and recovery from failure conditions while preserving nonstop forwarding services. SUMMARY STEPS 1. configure 2. rsvp 3. signalling graceful-restart 4. signalling graceful-restart interface-based 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 78 OL-26056-02 Implementing RSVP for MPLS-TE Enabling Graceful RestartCommand or Action Purpose rsvp Enters the RSVP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 signalling graceful-restart Enables the graceful restart process on the node. Example: RP/0/RSP0/CPU0:router(config-rsvp)# Step 3 signalling graceful-restart signalling graceful-restart interface-based Enables interface-based graceful restart process on the node. Example: RP/0/RSP0/CPU0:router(config-rsvp)# Step 4 signalling graceful-restart interface-based Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-rsvp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Graceful Restart: Standard and Interface-Based, on page 68 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 79 Implementing RSVP for MPLS-TE Enabling Graceful RestartEnable Graceful Restart: Example, on page 106 Enable Interface-Based Graceful Restart: Example, on page 106 Configuring ACL-based Prefix Filtering Two procedures are provided to show how RSVP Prefix Filtering is associated: • Configuring ACLs for Prefix Filtering, on page 80 • Configuring RSVP Packet Dropping, on page 81 Configuring ACLs for Prefix Filtering Perform this task to configure an extended access list ACL that identifies the source and destination prefixes used for packet filtering. Note The extended ACL needs to be configured separately using extended ACL configuration commands. SUMMARY STEPS 1. configure 2. rsvp 3. signalling prefix-filtering access-list 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp Enters the RSVP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 80 OL-26056-02 Implementing RSVP for MPLS-TE Configuring ACL-based Prefix FilteringCommand or Action Purpose signalling prefix-filtering access-list Enter an extended access list name as a string. Example: RP/0/RSP0/CPU0:router(config-rsvp)# Step 3 signalling prefix-filtering access-list banks Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-rsvp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics ACL-based Prefix Filtering, on page 70 Configure ACL-based Prefix Filtering: Example, on page 107 Configuring RSVP Packet Dropping Perform this task to configure RSVP to drop RA packets when the ACL match returns an implicit (default) deny. The default behavior performs normal RSVP processing on RA packets when the ACL match returns an implicit (default) deny. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 81 Implementing RSVP for MPLS-TE Configuring ACL-based Prefix FilteringSUMMARY STEPS 1. configure 2. rsvp 3. signalling prefix-filtering default-deny-action 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp Enters the RSVP configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 signalling prefix-filtering default-deny-action Drops RA messages. Example: RP/0/RSP0/CPU0:router(config-rsvp)# Step 3 signalling prefix-filtering default-deny-action Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-rsvp)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 82 OL-26056-02 Implementing RSVP for MPLS-TE Configuring ACL-based Prefix FilteringCommand or Action Purpose ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Overview of RSVP for MPLS-TE , on page 66 Set DSCP for RSVP Packets: Example, on page 107 Verifying RSVP Configuration This figure illustrates the topology. Figure 9: Sample Topology Perform the following steps to verify RSVP configuration. SUMMARY STEPS 1. show rsvp session 2. show rsvp counters messages summary 3. show rsvp counters events 4. show rsvp interface type interface-path-id [detail] 5. show rsvp graceful-restart 6. show rsvp graceful-restart [neighbors ip-address | detail] 7. show rsvp interface 8. show rsvp neighbor DETAILED STEPS Step 1 show rsvp session Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 83 Implementing RSVP for MPLS-TE Verifying RSVP ConfigurationVerifiesthat all routers on the path of the LSP are configured with at least one Path State Block (PSB) and one Reservation State Block (RSB) per session. Example: RP/0/RSP0/CPU0:router# show rsvp session Type Destination Add DPort Proto/ExtTunID PSBs RSBs Reqs ---- --------------- ----- --------------- ----- ----- ----- LSP4 172.16.70.70 6 10.51.51.51 1 1 0 In the example , the output represents an LSP from ingress (head) router 10.51.51.51 to egress (tail) router 172.16.70.70. The tunnel ID (also called the destination port) is 6. Example: If no states can be found for a session that should be up, verify the application (for example, MPLS-TE ) to see if everything is in order. If a session has one PSB but no RSB, this indicates that either the Path message is not making it to the egress (tail) router or the reservation message is not making it back to the router R1 in question. Go to the downstream router R2 and display the session information: Example: If R2 has no PSB, either the path message is not making it to the router or the path message is being rejected (for example, due to lack of resources). If R2 has a PSB but no RSB, go to the next downstream router R3 to investigate. If R2 has a PSB and an RSB, this means the reservation is not making it from R2 to R1 or is being rejected. Step 2 show rsvp counters messages summary Verifies whether the RSVP message is being transmitted and received. Example: RP/0/RSP0/CPU0:router# show rsvp counters messages summary All RSVP Interfaces Recv Xmit Recv Xmit Path 0 25 Resv 30 0 PathError 0 0 ResvError 0 1 PathTear 0 30 ResvTear 12 0 ResvConfirm 0 0 Ack 24 37 Bundle 0 Hello 0 5099 SRefresh 8974 9012 OutOfOrder 0 Retransmit 20 Rate Limited 0 Step 3 show rsvp counters events Verifies how many RSVP states have expired. Because RSVP uses a soft-state mechanism, some failures will lead to RSVP states to expire due to lack of refresh from the neighbor. Example: RP/0/RSP0/CPU0:router# show rsvp counters events mgmtEthernet0/0/0/0 tunnel6 Expired Path states 0 Expired Path states 0 Expired Resv states 0 Expired Resv states 0 NACKs received 0 NACKs received 0 POS0/3/0/0 POS0/3/0/1 Expired Path states 0 Expired Path states 0 Expired Resv states 0 Expired Resv states 0 NACKs received 0 NACKs received 0 POS0/3/0/2 POS0/3/0/3 Expired Path states 0 Expired Path Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 84 OL-26056-02 Implementing RSVP for MPLS-TE Verifying RSVP Configurationstates 0 Expired Resv states 0 Expired Resv states 1 NACKs received 0 NACKs received 1 Step 4 show rsvp interface type interface-path-id [detail] Verifies that refresh reduction is working on a particular interface. Example: RP/0/RSP0/CPU0:router# show rsvp interface pos0/3/0/3 detail INTERFACE: POS0/3/0/3 (ifh=0x4000D00). BW (bits/sec): Max=1000M. MaxFlow=1000M. Allocated=1K (0%). MaxSub=0. Signalling: No DSCP marking. No rate limiting. States in: 1. Max missed msgs: 4. Expiry timer: Running (every 30s). Refresh interval: 45s. Normal Refresh timer: Not running. Summary refresh timer: Running. Refresh reduction local: Enabled. Summary Refresh: Enabled (4096 bytes max). Reliable summary refresh: Disabled. Ack hold: 400 ms, Ack max size: 4096 bytes. Retransmit: 900ms. Neighbor information: Neighbor-IP Nbor-MsgIds States-out Refresh-Reduction Expiry(min::sec) -------------- -------------- ---------- ------------------ ---------------- 64.64.64.65 1 1 Enabled 14::45 Step 5 show rsvp graceful-restart Verifies that graceful restart is enabled locally. Example: RP/0/RSP0/CPU0:router# show rsvp graceful-restart Graceful restart: enabled Number of global neighbors: 1 Local MPLS router id: 10.51.51.51 Restart time: 60 seconds Recovery time: 0 seconds Recovery timer: Not running Hello interval: 5000 milliseconds Maximum Hello miss-count: 3 Step 6 show rsvp graceful-restart [neighbors ip-address | detail] Verifies that graceful restart is enabled on the neighbor(s). These examples show that neighbor 192.168.60.60 is not responding to hello messages. Example: RP/0/RSP0/CPU0:router# show rsvp graceful-restart neighbors 192.168.60.60 Neighbor App State Recovery Reason Since LostCnt --------------- ----- ------ -------- ------------ -------------------- -------- 192.168.60.60 MPLS INIT DONE N/A 12/06/2003 19:01:49 0 RP/0/RSP0/CPU0:router# show rsvp graceful-restart neighbors detail Neighbor: 192.168.60.60 Source: 10.51.51.51 (MPLS) Hello instance for application MPLS Hello State: INIT (for 3d23h) Number of times communications with neighbor lost: 0 Reason: N/A Recovery State: DONE Number of Interface neighbors: 1 address: 10.64.64.65 Restart time: 0 seconds Recovery time: 0 seconds Restart timer: Not running Recovery timer: Not running Hello interval: 5000 milliseconds Maximum allowed missed Hello messages: 3 Step 7 show rsvp interface Verifies the available RSVP bandwidth. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 85 Implementing RSVP for MPLS-TE Verifying RSVP ConfigurationExample: RP/0/RSP0/CPU0:router# show rsvp interface Interface MaxBW MaxFlow Allocated MaxSub ----------- -------- -------- --------------- -------- Et0/0/0/0 0 0 0 ( 0%) 0 PO0/3/0/0 1000M 1000M 0 ( 0%) 0 PO0/3/0/1 1000M 1000M 0 ( 0%) 0 PO0/3/0/2 1000M 1000M 0 ( 0%) 0 PO0/3/0/3 1000M 1000M 1K ( 0%) 0 Step 8 show rsvp neighbor Verifies the RSVP neighbors. Example: RP/0/RSP0/CPU0:router# show rsvp neighbor detail Global Neighbor: 40.40.40.40 Interface Neighbor: 1.1.1.1 Interface: POS0/0/0/0 Refresh Reduction: "Enabled" or "Disabled". Remote epoch: 0xXXXXXXXX Out of order messages: 0 Retransmitted messages: 0 Interface Neighbor: 2.2.2.2 Interface: POS0/1/0/0 Refresh Reduction: "Enabled" or "Disabled". Remote epoch: 0xXXXXXXXX Out of order messages: 0 Retransmitted messages: 0 Related Topics Overview of RSVP for MPLS-TE , on page 66 Enabling RSVP Traps With the exception of the RSVP MIB traps, no action is required to activate the MIBs. This MIB feature is automatically enabled when RSVP is turned on; however, RSVP traps must be enabled. Perform this task to enable all RSVP MIB traps, NewFlow traps, and LostFlow traps. SUMMARY STEPS 1. configure 2. snmp-server traps rsvp lost-flow 3. snmp-server traps rsvp new-flow 4. snmp-server traps rsvp all 5. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 86 OL-26056-02 Implementing RSVP for MPLS-TE Enabling RSVP TrapsDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 snmp-server traps rsvp lost-flow Sends RSVP notifications to enable RSVP LostFlow traps. Example: RP/0/RSP0/CPU0:router(config)# snmp-server Step 2 traps rsvp lost-flow snmp-server traps rsvp new-flow Sends RSVP notifications to enable RSVP NewFlow traps. Example: RP/0/RSP0/CPU0:router(config)# snmp-server Step 3 traps rsvp new-flow snmp-server traps rsvp all Sends RSVP notifications to enable all RSVP MIB traps. Example: RP/0/RSP0/CPU0:router(config)# snmp-server Step 4 traps rsvp all Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 87 Implementing RSVP for MPLS-TE Enabling RSVP TrapsCommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics RSVP MIB, on page 70 Enable RSVP Traps: Example, on page 108 How to Implement RSVP Authentication There are three types of RSVP authentication modes—global, interface, and neighbor. These topics describe how to implement RSVP authentication for each mode: Configuring Global Configuration Mode RSVP Authentication These tasks describe how to configure RSVP authentication in global configuration mode: Enabling RSVP Authentication Using the Keychain in Global Configuration Mode Perform this task to enable RSVP authentication for cryptographic authentication by specifying the keychain in global configuration mode. You must configure a keychain before completing this task (see Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide ). Note SUMMARY STEPS 1. configure 2. rsvp authentication 3. key-source key-chain key-chain-name 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 88 OL-26056-02 Implementing RSVP for MPLS-TE How to Implement RSVP AuthenticationDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp authentication Enters RSVP authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 authentication RP/0/RSP0/CPU0:router(config-rsvp-auth)# Specifies the source of the key information to authenticate RSVP signaling messages. key-source key-chain key-chain-name Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# Step 3 key-chain-name Name of the keychain. The maximum number of charactersis 32. key-source key-chain mpls-keys Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 89 Implementing RSVP for MPLS-TE Configuring Global Configuration Mode RSVP AuthenticationRelated Topics Key-source Key-chain, on page 74 RSVP Authentication Global Configuration Mode: Example, on page 108 Configuring a Lifetime for RSVP Authentication in Global Configuration Mode Perform this task to configure a lifetime value for RSVP authentication in global configuration mode. SUMMARY STEPS 1. configure 2. rsvp authentication 3. life-time seconds 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp authentication Enters RSVP authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 authentication RP/0/RSP0/CPU0:router(config-rsvp-auth)# Controls how long RSVP maintains security associations with other trusted RSVP neighbors. life-time seconds Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# Step 3 seconds Length of time (in seconds) that RSVP maintains idle security associations with other trusted RSVP neighbors. Range is from 30 to 86400. The default value is 1800. life-time 2000 Step 4 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 90 OL-26056-02 Implementing RSVP for MPLS-TE Configuring Global Configuration Mode RSVP AuthenticationCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-rsvp-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Global, Interface, and Neighbor Authentication Modes, on page 72 RSVP Authentication Global Configuration Mode: Example, on page 108 Configuring the Window Size for RSVP Authentication in Global Configuration Mode Perform this task to configure the window size for RSVP authentication in global configuration mode. SUMMARY STEPS 1. configure 2. rsvp authentication 3. window-size N 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 91 Implementing RSVP for MPLS-TE Configuring Global Configuration Mode RSVP AuthenticationDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp authentication Enters RSVP authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 authentication RP/0/RSP0/CPU0:router(config-rsvp-auth)# Specifies the maximum number of RSVP authenticated messages that can be received out-of-sequence. window-size N Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# Step 3 N Size of the window to restrict out-of-sequence messages. The range is from 1 to 64. The default value is 1, in which case all out-of-sequence messages are dropped. window-size 33 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 92 OL-26056-02 Implementing RSVP for MPLS-TE Configuring Global Configuration Mode RSVP AuthenticationRelated Topics Guidelines for Window-Size and Out-of-Sequence Messages, on page 75 RSVP Authentication by Using All the Modes: Example, on page 110 RSVP Authentication for an Interface: Example, on page 109 Configuring an Interface for RSVP Authentication These tasks describe how to configure an interface for RSVP authentication: Specifying the RSVP Authentication Keychain in Interface Mode Perform this task to specify RSVP authentication keychain in interface mode. You must configure a keychain first (see Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide ). SUMMARY STEPS 1. configure 2. rsvp interface type interface-path-id 3. authentication 4. key-source key-chain key-chain-name 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp interface type interface-path-id Enters RSVP interface configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 interface POS 0/2/1/0 RP/0/RSP0/CPU0:router(config-rsvp-if)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 93 Implementing RSVP for MPLS-TE Configuring an Interface for RSVP AuthenticationCommand or Action Purpose authentication Enters RSVP authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Step 3 authentication RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Specifies the source of the key information to authenticate RSVP signaling messages. key-source key-chain key-chain-name Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Step 4 key-chain-name Name of the keychain. The maximum number of characters is 32. key-source key-chain mpls-keys Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Global, Interface, and Neighbor Authentication Modes, on page 72 RSVP Authentication by Using All the Modes: Example, on page 110 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 94 OL-26056-02 Implementing RSVP for MPLS-TE Configuring an Interface for RSVP AuthenticationConfiguring a Lifetime for an Interface for RSVP Authentication Perform this task to configure a lifetime for the security association for an interface. SUMMARY STEPS 1. configure 2. rsvp interface type interface-path-id 3. authentication 4. life-time seconds 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp interface type interface-path-id Enters RSVP interface configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 interface POS 0/2/1/0 RP/0/RSP0/CPU0:router(config-rsvp-if)# authentication Enters RSVP authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Step 3 authentication RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Controls how long RSVP maintains security associations with other trusted RSVP neighbors. life-time seconds Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Step 4 seconds Length of time (in seconds) that RSVP maintainsidle security associations with other trusted RSVP neighbors. Range isfrom 30 to 86400. The default value is 1800. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 95 Implementing RSVP for MPLS-TE Configuring an Interface for RSVP AuthenticationCommand or Action Purpose life-time 2000 Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics RSVP Authentication Design, on page 71 RSVP Authentication by Using All the Modes: Example, on page 110 Configuring the Window Size for an Interface for RSVP Authentication Perform this task to configure the window size for an interface for RSVP authentication to check the validity of the sequence number received. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 96 OL-26056-02 Implementing RSVP for MPLS-TE Configuring an Interface for RSVP AuthenticationSUMMARY STEPS 1. configure 2. rsvp interface type interface-path-d 3. authentication 4. window-size N 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp interface type interface-path-d Enters RSVP interface configuration mode. Example: RP/0/RSP0/CPU0:router(config)# rsvp Step 2 interface POS 0/2/1/0 RP/0/RSP0/CPU0:router(config-rsvp-if)# authentication Enters RSVP interface authentication configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Step 3 authentication RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Specifies the maximum number of RSVP authenticated messages that can be received out-of-sequence. window-size N Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# Step 4 N Size of the window to restrict out-of-sequence messages. The range is from 1 to 64. The default value is 1, in which case all out-of-sequence messages are dropped. window-size 33 Step 5 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 97 Implementing RSVP for MPLS-TE Configuring an Interface for RSVP AuthenticationCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-rsvp-if-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Guidelines for Window-Size and Out-of-Sequence Messages, on page 75 RSVP Authentication by Using All the Modes: Example, on page 110 RSVP Authentication for an Interface: Example, on page 109 Configuring RSVP Neighbor Authentication These tasks describe how to configure the RSVP neighbor authentication: • Specifying the Keychain for RSVP Neighbor Authentication, on page 98 • Configuring a Lifetime for RSVP Neighbor Authentication, on page 100 • Configuring the Window Size for RSVP Neighbor Authentication, on page 102 Specifying the Keychain for RSVP Neighbor Authentication Perform this task to specify the keychain RSVP neighbor authentication. You must configure a keychain first (see Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide ). Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 98 OL-26056-02 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationSUMMARY STEPS 1. configure 2. rsvp neighbor IP-address authentication 3. key-source key-chain key-chain-name 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters neighbor authentication configuration mode. Use the rsvp neighbor command to activate RSVP cryptographic authentication for a neighbor. rsvp neighbor IP-address authentication Example: RP/0/RSP0/CPU0:router(config)# rsvp neighbor Step 2 IP address 1.1.1.1 authentication IP address of the neighbor. A single IP address for a specific neighbor; usually one of the neighbor's physical or logical (loopback) interfaces. RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# authentication Configures the RSVP authentication parameters. Specifies the source of the key information to authenticate RSVP signaling messages. key-source key-chain key-chain-name Example: RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# Step 3 key-chain-name Name of the keychain. The maximum number of characters is 32. key-source key-chain mpls-keys Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 99 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. or RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Key-source Key-chain, on page 74 Security Association, on page 73 RSVP Neighbor Authentication: Example, on page 109 Configuring a Lifetime for RSVP Neighbor Authentication Perform this task to configure a lifetime for security association for RSVP neighbor authentication mode. SUMMARY STEPS 1. configure 2. rsvp neighbor IP-address authentication 3. life-time seconds 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 100 OL-26056-02 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters RSVP neighbor authentication configuration mode. Use the rsvp neighbor command to specify a neighbor under RSVP. rsvp neighbor IP-address authentication Example: RP/0/RSP0/CPU0:router(config)# rsvp neighbor Step 2 IP address IP address of the neighbor. A single IP address for a specific neighbor; usually one of the neighbor's physical or logical (loopback) interfaces. 1.1.1.1 authentication RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# authentication Configures the RSVP authentication parameters. Controls how long RSVP maintains security associations with other trusted RSVP neighbors. The argument specifies the life-time seconds Example: RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# Step 3 seconds Length of time (in seconds) that RSVP maintainsidle security associations with other trusted RSVP neighbors. Range is from 30 to 86400. The default value is 1800. life-time 2000 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 101 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationCommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Security Association, on page 73 RSVP Authentication Global Configuration Mode: Example, on page 108 Configuring the Window Size for RSVP Neighbor Authentication Perform this task to configure the RSVP neighbor authentication window size to check the validity of the sequence number received. SUMMARY STEPS 1. configure 2. rsvp neighbor IP address authentication 3. window-size N 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters RSVP neighbor authentication configuration mode. Use the rsvp neighbor command to specify a neighbor under RSVP. rsvp neighbor IP address authentication Example: RP/0/RSP0/CPU0:router(config)# rsvp neighbor Step 2 IP address IP address of the neighbor. A single IP address for a specific neighbor; usually one of the neighbor's physical or logical (loopback) interfaces. 1.1.1.1 authentication RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 102 OL-26056-02 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationCommand or Action Purpose authentication Configures the RSVP authentication parameters. Specifies the maximum number of RSVP authenticated messages that is received out-of-sequence. window-size N Example: RP/0/RSP0/CPU0:router(config-rsvp-nbor-auth)# window-size 33 Step 3 N Size of the window to restrict out-of-sequence messages. The range is from 1 to 64. The default value is 1, in which case all out-of-sequence messages are dropped. Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. RP/0/RSP0/CPU0:router (config-rsvp-nbor-auth)# end or ? Entering no exits the configuration session and returns the router to EXEC mode without committing the RP/0/RSP0/CPU0:router configuration changes. (config-rsvp-nbor-auth)# commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Guidelines for Window-Size and Out-of-Sequence Messages, on page 75 RSVP Authentication by Using All the Modes: Example, on page 110 RSVP Authentication for an Interface: Example, on page 109 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 103 Implementing RSVP for MPLS-TE Configuring RSVP Neighbor AuthenticationVerifying the Details of the RSVP Authentication To display the security associations that RSVP has established with other RSVP neighbors, use the show rsvp authentication command. Eliminating Security Associations for RSVP Authentication To eliminate RSVP authentication SA’s, use the clear rsvp authentication command. To eliminate RSVP counters for each SA, use the clear rsvp counters authentication command. Configuration Examples for RSVP Sample RSVP configurations are provided for some of the supported RSVP features. • Bandwidth Configuration (Prestandard): Example, on page 104 • Bandwidth Configuration (MAM): Example, on page 104 • Bandwidth Configuration (RDM): Example, on page 105 • Refresh Reduction and Reliable Messaging Configuration: Examples, on page 105 • Configure Graceful Restart: Examples, on page 106 • Configure ACL-based Prefix Filtering: Example, on page 107 • Set DSCP for RSVP Packets: Example, on page 107 • Enable RSVP Traps: Example, on page 108 Bandwidth Configuration (Prestandard): Example The example shows the configuration of bandwidth on an interface using prestandard DS-TE mode. The example configures an interface for a reservable bandwidth of 7500, specifies the maximum bandwidth for one flow to be 1000 and adds a sub-pool bandwidth of 2000. rsvp interface pos 0/3/0/0 bandwidth 7500 1000 sub-pool 2000 Bandwidth Configuration (MAM): Example The example shows the configuration of bandwidth on an interface using MAM. The example shows how to limit the total of all RSVP reservations on POS interface 0/3/0/0 to 7500 kbps, and allows each single flow to reserve no more than 1000 kbps. rsvp interface pos 0/3/0/0 bandwidth mam 7500 1000 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 104 OL-26056-02 Implementing RSVP for MPLS-TE Verifying the Details of the RSVP AuthenticationRelated Topics Confirming DiffServ-TE Bandwidth, on page 76 Differentiated Services Traffic Engineering, on page 127 Bandwidth Configuration (RDM): Example The example shows the configuration of bandwidth on an interface using RDM. The example shows how to limit the total of all RSVP reservations on POS interface 0/3/0/0 to 7500 kbps, and allows each single flow to reserve no more than 1000 kbps. rsvp interface pos 0/3/0/0 bandwidth rdm 7500 1000 Related Topics Confirming DiffServ-TE Bandwidth, on page 76 Differentiated Services Traffic Engineering, on page 127 Refresh Reduction and Reliable Messaging Configuration: Examples Refresh reduction feature as defined by RFC 2961 issupported and enabled by default. The examplesillustrate the configuration for the refresh reduction feature. Refresh reduction is used with a neighbor only if the neighbor supports it also. Refresh Interval and the Number of Refresh Messages Configuration: Example The example shows how to configure the refresh interval to 30 seconds on POS 0/3/0/0 and how to change the number of refresh messages the node can miss before cleaning up the state from the default value of 4 to 6. rsvp interface pos 0/3/0/0 signalling refresh interval 30 signalling refresh missed 6 Retransmit Time Used in Reliable Messaging Configuration: Example The example shows how to set the retransmit timer to 2 seconds. To prevent unnecessary retransmits, the retransmit time value configured on the interface must be greater than the ACK hold time on its peer. rsvp interface pos 0/4/0/1 signalling refresh reduction reliable retransmit-time 2000 Acknowledgement Times Configuration: Example The example shows how to change the acknowledge hold time from the default value of 400 ms, to delay or speed up sending of ACKs, and the maximum acknowledgment message size from default size of 4096 bytes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 105 Implementing RSVP for MPLS-TE Bandwidth Configuration (RDM): ExampleThe example shows how to change the acknowledge hold time from the default value of 400 ms and how to delay or speed up sending of ACKs. The maximum acknowledgment message default size is from 4096 bytes. rsvp interface pos 0/4/0/1 signalling refresh reduction reliable ack-hold-time 1000 rsvp interface pos 0/4/0/1 signalling refresh reduction reliable ack-max-size 1000 Ensure retransmit time on the peers’ interface is at least twice the amount of the ACK hold time to prevent unnecessary retransmissions. Note Summary Refresh Message Size Configuration: Example The example shows how to set the summary refresh message maximum size to 1500 bytes. rsvp interface pos 0/4/0/1 signalling refresh reduction summary max-size 1500 Disable Refresh Reduction: Example If the peer node does notsupport refresh reduction, or for any other reason you want to disable refresh reduction on an interface, the example shows how to disable refresh reduction on that interface. rsvp interface pos 0/4/0/1 signalling refresh reduction disable Configure Graceful Restart: Examples RSVP graceful restart is configured globally or per interface (as are refresh-related parameters). These examples show how to enable graceful restart, set the restart time, and change the hello message interval. Enable Graceful Restart: Example The example shows how to enable the RSVP graceful restart by default. If disabled, enable it with the following command. rsvp signalling graceful-restart Related Topics Enabling Graceful Restart, on page 78 Graceful Restart: Standard and Interface-Based, on page 68 Enable Interface-Based Graceful Restart: Example The example shows how to enable the RSVP graceful restart feature on an interface. signalling hello graceful-restart interface-based Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 106 OL-26056-02 Implementing RSVP for MPLS-TE Configure Graceful Restart: ExamplesRelated Topics Enabling Graceful Restart, on page 78 Graceful Restart: Standard and Interface-Based, on page 68 Change the Restart-Time: Example The example shows how to change the restart time that is advertised in hello messages sent to neighbor nodes. rsvp signalling graceful-restart restart-time 200 Change the Hello Interval: Example The example shows how to change the interval at which RSVP graceful restart hello messages are sent per neighbor, and change the number of hellos missed before the neighbor is declared down. rsvp signalling hello graceful-restart refresh interval 4000 rsvp signalling hello graceful-restart refresh misses 4 Configure ACL-based Prefix Filtering: Example The example shows when RSVP receives a Router Alert (RA) packet from source address 1.1.1.1 and 1.1.1.1 is not a local address. The packet is forwarded with IP TTL decremented. Packets destined to 2.2.2.2 are dropped. All other RA packets are processed as normal RSVP packets. show run ipv4 access-list ipv4 access-list rsvpacl 10 permit ip host 1.1.1.1 any 20 deny ip any host 2.2.2.2 ! show run rsvp rsvp signalling prefix-filtering access-list rsvpacl ! Related Topics Configuring ACLs for Prefix Filtering, on page 80 ACL-based Prefix Filtering, on page 70 Set DSCP for RSVP Packets: Example The configuration example setsthe Differentiated Services Code Point (DSCP) field in the IP header of RSVP packets. rsvp interface pos0/2/0/1 signalling dscp 20 Related Topics Configuring RSVP Packet Dropping, on page 81 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 107 Implementing RSVP for MPLS-TE Configure ACL-based Prefix Filtering: ExampleOverview of RSVP for MPLS-TE , on page 66 Enable RSVP Traps: Example The example enables the router to send all RSVP traps: configure snmp-server traps rsvp all The example enables the router to send RSVP LostFlow traps: configure snmp-server traps rsvp lost-flow The example enables the router to send RSVP RSVP NewFlow traps: configure snmp-server traps rsvp new-flow Related Topics Enabling RSVP Traps, on page 86 RSVP MIB, on page 70 Configuration Examples for RSVP Authentication These configuration examples are used for RSVP authentication: • RSVP Authentication Global Configuration Mode: Example, on page 108 • RSVP Authentication for an Interface: Example, on page 109 • RSVP Neighbor Authentication: Example, on page 109 • RSVP Authentication by Using All the Modes: Example, on page 110 RSVP Authentication Global Configuration Mode: Example The configuration example enables authentication of all RSVP messages and increases the default lifetime of the SAs. rsvp authentication key-source key-chain default_keys life-time 3600 ! ! Note The specified keychain (default_keys) must exist and contain valid keys, or signaling will fail. Related Topics Enabling RSVP Authentication Using the Keychain in Global Configuration Mode, on page 88 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 108 OL-26056-02 Implementing RSVP for MPLS-TE Enable RSVP Traps: ExampleKey-source Key-chain, on page 74 Configuring a Lifetime for RSVP Authentication in Global Configuration Mode, on page 90 Global, Interface, and Neighbor Authentication Modes, on page 72 Configuring a Lifetime for RSVP Neighbor Authentication, on page 100 Security Association, on page 73 RSVP Authentication for an Interface: Example The configuration example enables authentication of all RSVP messages that are being sent or received on one interface only, and sets the window-size of the SAs. rsvp interface GigabitEthernet0/6/0/0 authentication window-size 64 ! ! Because the key-source keychain configuration is not specified, the global authentication mode keychain is used and inherited. The global keychain must exist and contain valid keys or signaling fails. Note Related Topics Configuring the Window Size for RSVP Authentication in Global Configuration Mode, on page 91 Configuring the Window Size for an Interface for RSVP Authentication, on page 96 Configuring the Window Size for RSVP Neighbor Authentication, on page 102 Guidelines for Window-Size and Out-of-Sequence Messages, on page 75 RSVP Neighbor Authentication: Example The configuration example enables authentication of all RSVP messages that are being sent to and received from only a particular IP address. rsvp neighbor 10.0.0.1 authentication key-source key-chain nbr_keys ! ! ! Related Topics Specifying the Keychain for RSVP Neighbor Authentication, on page 98 Key-source Key-chain, on page 74 Security Association, on page 73 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 109 Implementing RSVP for MPLS-TE RSVP Authentication for an Interface: ExampleRSVP Authentication by Using All the Modes: Example The configuration example shows how to perform the following functions: • Authenticates all RSVP messages. • Authenticates the RSVP messages to or from 10.0.0.1 by setting the keychain for the key-source key-chain command to nbr_keys, SA lifetime is set to 3600, and the default window-size is set to 1. • Authenticates the RSVP messages not to or from 10.0.0.1 by setting the keychain for the key-source key-chain command to default_keys, SA lifetime is set to 3600, and the window-size is set 64 when using GigabitEthernet0/6/0/0; otherwise, the default value of 1 is used. rsvp interface GigabitEthernet0/6/0/0 authentication window-size 64 ! ! neighbor 10.0.0.1 authentication key-source key-chain nbr_keys ! ! authentication key-source key-chain default_keys life-time 3600 ! ! If a keychain does not exist or contain valid keys, this is considered a configuration error because signaling fails. However, this can be intended to preventsignaling. For example, when using the above configuration, if the nbr_keys does not contain valid keys, all signaling with 10.0.0.1 fails. Note Related Topics Configuring the Window Size for RSVP Authentication in Global Configuration Mode, on page 91 Configuring the Window Size for an Interface for RSVP Authentication, on page 96 Configuring the Window Size for RSVP Neighbor Authentication, on page 102 Guidelines for Window-Size and Out-of-Sequence Messages, on page 75 Specifying the RSVP Authentication Keychain in Interface Mode, on page 93 Global, Interface, and Neighbor Authentication Modes, on page 72 Configuring a Lifetime for an Interface for RSVP Authentication, on page 95 RSVP Authentication Design, on page 71 Additional References These references are related to implementing MPLS RSVP: Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 110 OL-26056-02 Implementing RSVP for MPLS-TE RSVP Authentication by Using All the Modes: ExampleRelated Documents Related Topic Document Title RSVP Infrastructure Commands on Cisco ASR 9000 Series Router module in Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference Cisco IOS XR MPLS RSVP commands Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Getting started material Configuring AAA Services on Cisco ASR 9000 Series Router module in Information about user groups and task IDs Standards Standard Title No new or modified standards are supported by this — feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/cmtk/ mibs.shtml — RFCs RFCs Title Resource Reservation Protocol Version 1 Functional Specification RFC 2205 RFC 2206 RSVP Management Information Base using SMIv2 RFC 2747 RSVP Cryptographic Authentication RFC 2961 RSVP Refresh Overhead Reduction Extensions Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 111 Implementing RSVP for MPLS-TE Additional ReferencesRFCs Title RFC 3209 RSVP-TE: Extensions to RSVP for LSP Tunnels RFC 3473 Generalized MPLS Signaling, RSVP-TE Extensions RFC 4090 Fast Reroute Extensionsto RSVP-TE for LSP Tunnels Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 112 OL-26056-02 Implementing RSVP for MPLS-TE Additional ReferencesC H A P T E R 3 Implementing MPLS Forwarding This module describes how to implement MPLS Forwarding on Cisco ASR 9000 Series Aggregation Services Routers. All Multiprotocol Label Switching (MPLS) features require a core set of MPLS label management and forwarding services; the MPLS Forwarding Infrastructure (MFI) supplies these services. Feature History for Implementing MPLS-TE Release Modification Release 3.7.2 This feature was introduced. • Prerequisites for Implementing Cisco MPLS Forwarding, page 113 • Restrictions for Implementing Cisco MPLS Forwarding, page 113 • Information About Implementing MPLS Forwarding, page 114 • Additional References, page 116 Prerequisites for Implementing Cisco MPLS Forwarding These prerequisites are required to implement MPLS Forwarding: • You must be in a user group associated with a task group that includesthe proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • Router that runs Cisco IOS XR software. • Installed composite mini-image and the MPLS package, or a full composite image. Restrictions for Implementing Cisco MPLS Forwarding • Label switching on a Cisco router requires that Cisco Express Forwarding (CEF) be enabled. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 113• CEF is mandatory for Cisco IOS XR software and it does not need to be enabled explicitly. Information About Implementing MPLS Forwarding To implement MPLS Forwarding, you should understand these concepts: MPLS Forwarding Overview MPLS combines the performance and capabilities of Layer 2 (data link layer) switching with the proven scalability of Layer 3 (network layer) routing. MPLS enables service providers to meet the challenges of growth in network utilization while providing the opportunity to differentiate services without sacrificing the existing network infrastructure. The MPLS architecture is flexible and can be employed in any combination of Layer 2 technologies. MPLS support is offered for all Layer 3 protocols, and scaling is possible well beyond that typically offered in today’s networks. Based on routing information that is stored in the VRF IP routing table and VRF CEF table, packets are forwarded to their destination using MPLS. A PE router binds a label to each customer prefix learned from a CE router and includes the label in the network reachability information for the prefix that it advertisesto other PE routers. When a PE router forwards a packet received from a CE router across the provider network, it labels the packet with the label learned from the destination PE router. When the destination PE router receives the labeled packet it pops the label and uses it to direct the packet to the correct CE router. Label forwarding across the provider backbone, is based on either dynamic label switching or traffic engineered paths. A customer data packet carries two levels of labels when traversing the backbone: • Top label directs the packet to the correct PE router • Second label indicates how that PE router should forward the packet to the CE router Label Switching Functions In conventional Layer 3 forwarding mechanisms, as a packet traverses the network, each router extracts all the information relevant to forwarding the packet from the Layer 3 header. This information is then used as an index for a routing table lookup to determine the next hop for the packet. In the most common case, the only relevant field in the header is the destination address field, but in some cases, other header fields might also be relevant. As a result, the header analysis must be done independently at each router through which the packet passes. In addition, a complicated table lookup must also be done at each router. In label switching, the analysis of the Layer 3 header is done only once. The Layer 3 header is then mapped into a fixed-length, unstructured value called a label. Many different headers can map to the same label, as long as those headers always result in the same choice of next hop. In effect, a label represents a forwarding equivalence class—that is, a set of packets which, however different they may be, are indistinguishable by the forwarding function. The initial choice of a label need not be based exclusively on the contents of the Layer 3 packet header; for example, forwarding decisions at subsequent hops can also be based on routing policy. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 114 OL-26056-02 Implementing MPLS Forwarding Information About Implementing MPLS ForwardingOnce a label is assigned, a short label header is added at the front of the Layer 3 packet. This header is carried across the network as part of the packet. At subsequent hops through each MPLS router in the network, labels are swapped and forwarding decisions are made by means of MPLS forwarding table lookup for the label carried in the packet header. Hence, the packet header does not need to be reevaluated during packet transit through the network. Because the label is of fixed length and unstructured, the MPLS forwarding table lookup process is both straightforward and fast. Distribution of Label Bindings Each labelswitching router (LSR) in the network makes an independent, local decision asto which label value to use to represent a forwarding equivalence class. This association is known as a label binding. Note The distribution of label bindings cannot be done statically for the Layer 2 VPN pseudowire. Each LSR informs its neighbors of the label bindings it has made. This awareness of label bindings by neighboring routers is facilitated by these protocols: Label Distribution Protocol (LDP) Supports MPLS forwarding along normally routed paths. Resource Reservation Protocol (RSVP) Supports MPLS traffic engineering. Border Gateway Protocol (BGP) Supports MPLS virtual private networks (VPNs). When a labeled packet is sent from LSR A to the neighboring LSR B, the label value carried by the IP packet is the label value that LSR B assigned to represent the forwarding equivalence class of the packet. Thus, the label value changes as the IP packet traverses the network. MFI Control-Plane Services The MFI control-plane provides services to MPLS applications, such as Label Distribution Protocol (LDP) and Traffic Engineering (TE), that include enabling and disabling MPLS on an interface, local label allocation, MPLS rewrite setup (including backup links), management of MPLS label tables, and the interaction with other forwarding paths (IP Version 4 [IPv4] for example) to set up imposition and disposition. MFI Data-Plane Services The MFI data-plane provides a software implementation of MPLS forwarding in all of these forms: • Imposition • Disposition • Label swapping Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 115 Implementing MPLS Forwarding Distribution of Label BindingsMPLS Maximum Transmission Unit MPLS maximum transmission unit (MTU) indicates that the maximum size of the IP packet can still be sent on a data link, without fragmenting the packet. In addition, data linksin MPLS networks have a specific MTU, but for labeled packets. All IPv4 packets have one or more labels. This does imply that the labeled packets are slightly bigger than the IP packets, because for every label, four bytes are added to the packet. So, if n is the number of labels, n * 4 bytes are added to the size of the packet when the packet is labeled. The MPLS MTU parameter pertains to labeled packets. Additional References For additional information related to implementing MPLS Forwarding, refer to the following references: Related Documents Related Topic Document Title MPLS Forwarding Commands on Cisco ASR 9000 Series Router module in Cisco ASR 9000 Series Aggregation Services Routers MPLS Command Reference MPLS Forwarding commands Cisco ASR 9000 Series Aggregation Services Routers Getting Started Guide Getting started material Standards Standards Title No new or modified standards are supported by this — feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/ sw-center/netmgmt/cmtk/mibs.shtml — Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 116 OL-26056-02 Implementing MPLS Forwarding MPLS Maximum Transmission UnitRFCs RFCs Title RFC 3031 Multiprotocol Label Switching Architecture Time to Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks RFC 3443 Requirements for Inter-Area MPLS Traffic Engineering RFC 4105 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 117 Implementing MPLS Forwarding Additional References Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 118 OL-26056-02 Implementing MPLS Forwarding Additional ReferencesC H A P T E R 4 Implementing MPLS Traffic Engineering This module describes how to implement MPLS Traffic Engineering on Cisco ASR 9000 Series Router. Multiprotocol Label Switching (MPLS) is a standards-based solution driven by the Internet Engineering Task Force (IETF) that was devised to convert the Internet and IP backbones from best-effort networks into business-class transport mediums. MPLS, with its label switching capabilities, eliminates the need for an IP route look-up and creates a virtual circuit (VC)switching function, allowing enterprisesthe same performance on their IP-based network services as with those delivered over traditional networks such as Frame Relay or Asynchronous Transfer Mode (ATM). MPLS traffic engineering (MPLS-TE) software enables an MPLS backbone to replicate and expand upon the TE capabilities of Layer 2 ATM and Frame Relay networks. MPLS is an integration of Layer 2 and Layer 3 technologies. By making traditional Layer 2 features available to Layer 3, MPLS enablestraffic engineering. Thus, you can offer in a one-tier network what now can be achieved only by overlaying a Layer 3 network on a Layer 2 network. Feature History for Implementing MPLS-TE Release Modification Release 3.7.2 This feature was introduced. The MPLS Traffic Engineering (TE): Path Protection feature was added. Release 3.9.0 Release 3.9.1 The MPLS-TE automatic bandwidth feature is supported. Support was added for the following features: • AutoTunnel Backup • MPLS-TE Automatic Bandwidth • SRLG (Shared Risk Link Groups) Release 4.0.0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 119Release Modification Support was added for the following features: • Ignore Intermediate System-to-Intermediate System Overload Bit Setting in MPLS-TE • Point-to-Multipoint Traffic-Engineering Release 4.1.0 Release 4.1.1 The Auto-Tunnel Mesh feature was added. Support was added for the following features: • Soft-Preemption • Path Option Attributes Release 4.2.0 The Auto-Tunnel Attribute-set feature was added for auto-backup tunnels. Release 4.2.1 • Prerequisites for Implementing Cisco MPLS Traffic Engineering, page 120 • Restrictions for Implementing Cisco MPLS Traffic Engineering, page 120 • Information About Implementing MPLS Traffic Engineering, page 121 • How to Implement Traffic Engineering, page 155 • Configuration Examples for Cisco MPLS-TE, page 260 • Additional References, page 283 Prerequisites for Implementing Cisco MPLS Traffic Engineering These prerequisites are required to implement MPLS TE: • You must be in a user group associated with a task group that includesthe proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • Router that runs Cisco IOS XR software . • Installed composite mini-image and the MPLS package, or a full composite image. • IGP activated. Restrictions for Implementing Cisco MPLS Traffic Engineering In addition to the MPLS-TE Fast Reroute feature supporting the GigabitEthernet and TenGigE line cards, this current release also supports the 8-port OC-12 SPA, 2-port OC-48 SPA, 1-port OC-192 SPA, along with the Cisco ASR 9000 Series SPA Interface Processor-700. This feature is also supported on the main interfaces Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 120 OL-26056-02 Implementing MPLS Traffic Engineering Prerequisites for Implementing Cisco MPLS Traffic Engineeringon the SPA line cards, not on sub-interfaces. There is no support for the MPLS-TE Fast Reroute feature on the 2-port channelized OC-12 SPA or on the 1-port channelized OC-48 SPA. Information About Implementing MPLS Traffic Engineering To implement MPLS-TE, you should understand these concepts: Overview of MPLS Traffic Engineering MPLS-TE software enables an MPLS backbone to replicate and expand upon the traffic engineering capabilities of Layer 2 ATM and Frame Relay networks. MPLS is an integration of Layer 2 and Layer 3 technologies. By making traditional Layer 2 features available to Layer 3, MPLS enables traffic engineering. Thus, you can offer in a one-tier network what now can be achieved only by overlaying a Layer 3 network on a Layer 2 network. MPLS-TE is essential for service provider and Internet service provider (ISP) backbones. Such backbones must support a high use of transmission capacity, and the networks must be very resilient so that they can withstand link or node failures. MPLS-TE provides an integrated approach to traffic engineering.With MPLS, traffic engineering capabilities are integrated into Layer 3, which optimizes the routing of IP traffic, given the constraints imposed by backbone capacity and topology. Related Topics Configuring Forwarding over the MPLS-TE Tunnel, on page 161 Benefits of MPLS Traffic Engineering MPLS-TE enables ISPs to route network traffic to offer the best service to their users in terms of throughput and delay. By making the service provider more efficient, traffic engineering reduces the cost of the network. Currently, some ISPs base their services on an overlay model. In the overlay model, transmission facilities are managed by Layer 2 switching. The routers see only a fully meshed virtual topology, making most destinations appear one hop away. If you use the explicit Layer 2 transit layer, you can precisely control how traffic uses available bandwidth. However, the overlay model has numerous disadvantages. MPLS-TE achieves the TE benefits of the overlay model without running a separate network and without a non-scalable, full mesh of router interconnects. How MPLS-TE Works MPLS-TE automatically establishes and maintains label switched paths (LSPs) across the backbone by using RSVP. The path that an LSP uses is determined by the LSP resource requirements and network resources, such as bandwidth. Available resources are flooded by means of extensions to a link-state-based Interior Gateway Protocol (IGP). MPLS-TE tunnels are calculated at the LSP headend router, based on a fit between the required and available resources (constraint-based routing). The IGP automatically routes the traffic to these LSPs. Typically, a packet crossing the MPLS-TE backbone travels on a single LSP that connects the ingress point to the egress point. MPLS-TE is built on these mechanisms: Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 121 Implementing MPLS Traffic Engineering Information About Implementing MPLS Traffic EngineeringTunnel interfaces From a Layer 2 standpoint, an MPLS tunnel interface represents the headend of an LSP. It is configured with a set of resource requirements, such as bandwidth and media requirements, and priority. From a Layer 3 standpoint, an LSP tunnel interface is the headend of a unidirectional virtual link to the tunnel destination. MPLS-TE path calculation module This calculation module operates at the LSP headend. The module determines a path to use for an LSP. The path calculation uses a link-state database containing flooded topology and resource information. RSVP with TE extensions RSVP operates at each LSP hop and is used to signal and maintain LSPs based on the calculated path. MPLS-TE link management module This module operates at each LSP hop, performs link call admission on the RSVP signaling messages, and performs bookkeeping on topology and resource information to be flooded. Link-state IGP (Intermediate System-to-Intermediate System [IS-IS] or Open Shortest Path First [OSPF]—each with traffic engineering extensions) These IGPs are used to globally flood topology and resource information from the link management module. Enhancements to the shortest path first (SPF) calculation used by the link-state IGP (IS-IS or OSPF) The IGP automatically routes traffic to the appropriate LSP tunnel, based on tunnel destination. Static routes can also be used to direct traffic to LSP tunnels. Label switching forwarding This forwarding mechanism provides routers with a Layer 2-like ability to direct traffic across multiple hops of the LSP established by RSVP signaling. One approach to engineering a backbone is to define a mesh of tunnels from every ingress device to every egress device. The MPLS-TE path calculation and signaling modules determine the path taken by the LSPs for these tunnels, subject to resource availability and the dynamic state of the network. The IGP (operating at an ingress device) determines which traffic should go to which egress device, and steers that traffic into the tunnel from ingress to egress. A flow from an ingress device to an egress device might be so large that it cannot fit over a single link, so it cannot be carried by a single tunnel. In this case, multiple tunnels between a given ingress and egress can be configured, and the flow is distributed using load sharing among the tunnels. Related Topics Building MPLS-TE Topology, on page 155 Creating an MPLS-TE Tunnel, on page 158 Build MPLS-TE Topology and Tunnels: Example, on page 260 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 122 OL-26056-02 Implementing MPLS Traffic Engineering Overview of MPLS Traffic EngineeringMPLS Traffic Engineering Multiprotocol Label Switching (MPLS) is an Internet Engineering Task Force (IETF)-specified framework that provides efficient designation, routing, forwarding, and switching of traffic flows through the network. TE is the process of adjusting bandwidth allocations to ensure that enough bandwidth is available for high-priority traffic. In MPLS TE, the upstream router creates a network tunnel for a particular traffic stream and setsthe bandwidth available for that tunnel. Backup AutoTunnels The MPLS Traffic Engineering AutoTunnel Backup feature enables a router to dynamically build backup tunnels on the interfacesthat are configured with MPLS TE tunnels. Thisfeature enables a router to dynamically build backup tunnels when they are needed. This prevents you from having to build MPLS TE tunnelsstatically. The MPLS Traffic Engineering (TE)—AutoTunnel Backup feature has these benefits: • Backup tunnels are built automatically, eliminating the need for usersto preconfigure each backup tunnel and then assign the backup tunnel to the protected interface. • Protection is expanded—FRR does not protect IP traffic that is not using the TE tunnel or Label Distribution Protocol (LDP) labels that are not using the TE tunnel. This feature protects against these failures: • P2P Tunnel NHOP protection—Protects against link failure for the associated P2P protected tunnel • P2P Tunnel NNHOP protection—Protects against node failure for the associated P2P protected tunnel • P2MP Tunnel NHOP protection—Protects against link failure for the associated P2MP protected tunnel Related Topics Enabling an AutoTunnel Backup, on page 169 Removing an AutoTunnel Backup, on page 170 Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPs, on page 172 Establishing Next-Hop Tunnels with Link Protection, on page 174 Configure the MPLS-TE Auto-Tunnel Backup: Example, on page 269 AutoTunnel Attribute-set This feature supports auto-tunnels configuration using attribute templates, known as attribute-set. The TE attribute-set template that specifies a set of TE tunnel attributes, is locally configured at the head-end of auto-tunnels. The control plane triggers the automatic provisioning of a corresponding TE tunnel, whose characteristics are specified in the respective attribute-set. Currently, auto-tunnel backups are created with the default values of all tunnel attributes. To support configurable attributes for auto-tunnel backup, it is required to configure attribute-set and assign it to the backup tunnels. The attribute-set consists of a set of tunnel attributes such as priority, affinity, signaled bandwidth, logging, policy-class, record-route and so on. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 123 Implementing MPLS Traffic Engineering MPLS Traffic EngineeringThe following rules (consistent across all auto-tunnels) apply while configuring the attribute-set: • If no attribute-set template is defined, the auto-tunnels is created using default attribute values. • If an attribute-set is defined and the attribute-set template is already configured, the auto-tunnel is created using the attributes specified in the associated attribute-set. • If an attribute-set is assigned, but it is not defined or configured, auto-tunnel is not created. • Any number of attribute-sets can be configured with same attribute settings. • Empty tunnel attribute implies all parameters have default values. • When specific attribute is not specified in the attribute-set, a default value for that attribute is used. Link Protection The backup tunnels that bypass only a single link of the LSP path provide link protection. They protect LSPs, if a link along their path fails, by rerouting the LSP traffic to the next hop, thereby bypassing the failed link. These are referred to as NHOP backup tunnels because they terminate at the LSP's next hop beyond the point of failure. This figure illustrates link protection. Figure 10: Link Protection Node Protection The backup tunnels that bypass next-hop nodes along LSP paths are called NNHOP backup tunnels because they terminate at the node following the next-hop node of the LSPs, thereby bypassing the next-hop node. They protect LSPs by enabling the node upstream of a link or node failure to reroute the LSPs and their traffic around a node failure to the next-hop node. NNHOP backup tunnels also provide protection from link failures because they bypass the failed link and the node. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 124 OL-26056-02 Implementing MPLS Traffic Engineering MPLS Traffic EngineeringThis figure illustrates node protection. Figure 11: Node Protection Backup AutoTunnel Assignment At the head or mid points of a tunnel, the backup assignment finds an appropriate backup to protect a given primary tunnel for FRR protection. The backup assignment logic is performed differently based on the type of backup configured on the output interface used by the primary tunnel. Configured backup types are: • Static Backup • AutoTunnel Backup • No Backup (In this case no backup assignment is performed and the tunnels is unprotected.) Static backup and Backup AutoTunnel cannot exist together on the same interface or link. Note Node protection is always preferred over link protection in the Backup AutoTunnel assignment. Note In order that the Backup AutoTunnel feature operatessuccessfully, the following configuration must be applied at global configuration level: ipv4 unnumbered mpls traffic-eng Loopback 0 Note The Loopback 0 is used as router ID. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 125 Implementing MPLS Traffic Engineering MPLS Traffic EngineeringExplicit Paths Explicit paths are used to create backup autotunnels as follows: For NHOP Backup Autotunnels: • NHOP excludes the protected link's local IP address. • NHOP excludes the protected link’s remote IP address. • The explicit-path name is _autob_nhop_tunnelxxx, where xxx matches the dynamically created backup tunnel ID. For NNHOP Backup Autotunnels: • NNHOP excludes the protected link’s local IP address. • NNHOP excludes the protected link’s remote IP address (link address on next hop). • NNHOP excludes the NHOP router ID of the protected primary tunnel next hop. • The explicit-path name is _autob_nnhop_tunnelxxx, where xxx matchesthe dynamically created backup tunnel ID. Periodic Backup Promotion The periodic backup promotion attemptsto find and assign a better backup for primary tunnelsthat are already protected. With AutoTunnel Backup, the only scenario where two backups can protect the same primary tunnel is when both an NHOP and NNHOP AutoTunnel Backups get created. The backup assignment takes place as soon as the NHOP and NNHOP backup tunnels come up. So, there is no need to wait for the periodic promotion. Although there is no exception for AutoTunnel Backups, periodic backup promotion has no impact on primary tunnels protected by AutoTunnel Backup. One exception is when a manual promotion is triggered by the user using the mpls traffic-eng fast-reroute timers promotion command, where backup assignment or promotion istriggered on all FRR protected primary tunnels--even unprotected ones. This may trigger the immediate creation of some AutoTunnel Backup, if the command is entered within the time window when a required AutoTunnel Backup has not been yet created. You can configure the periodic promotion timer using the global configuration mpls traffic-eng fast-reroute timers promotion sec command. The range is 0 to 604800 seconds. Note A value of 0 for the periodic promotion timer disables the periodic promotion. Protocol-Based CLI Cisco IOS XR software provides a protocol-based command line interface. The CLI provides commands that can be used with the multiple IGP protocols supported by MPLS-TE. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 126 OL-26056-02 Implementing MPLS Traffic Engineering Protocol-Based CLIDifferentiated Services Traffic Engineering MPLS Differentiated Services (Diff-Serv) Aware Traffic Engineering (DS-TE) is an extension of the regular MPLS-TE feature. Regular traffic engineering does not provide bandwidth guarantees to different traffic classes. A single bandwidth constraint is used in regular TE that is shared by all traffic. To support various classes of service (CoS), users can configure multiple bandwidth constraints. These bandwidth constraints can be treated differently based on the requirement for the traffic class using that constraint. MPLS DS-TE providesthe ability to configure multiple bandwidth constraints on an MPLS-enabled interface. Available bandwidths from all configured bandwidth constraints are advertised using IGP. TE tunnel is configured with bandwidth value and class-type requirements. Path calculation and admission control take the bandwidth and class-type into consideration. RSVP is used to signal the TE tunnel with bandwidth and class-type requirements. MPLS DS-TE is deployed with either Russian Doll Model (RDM) or Maximum Allocation Model (MAM) for bandwidth calculations. Cisco IOS XR software supports two DS-TE modes: Prestandard and IETF. Related Topics Confirming DiffServ-TE Bandwidth, on page 76 Bandwidth Configuration (MAM): Example, on page 104 Bandwidth Configuration (RDM): Example, on page 105 Prestandard DS-TE Mode Prestandard DS-TE uses the Cisco proprietary mechanisms for RSVP signaling and IGP advertisements. This DS-TE mode does not interoperate with third-party vendor equipment. Note that prestandard DS-TE is enabled only after configuring the sub-pool bandwidth values on MPLS-enabled interfaces. Prestandard Diff-Serve TE mode supports a single bandwidth constraint model a Russian Doll Model (RDM) with two bandwidth pools: global-pool and sub-pool. TE class map is not used with Prestandard DS-TE mode. Related Topics Configuring a Prestandard DS-TE Tunnel, on page 176 Configure IETF DS-TE Tunnels: Example, on page 261 IETF DS-TE Mode IETF DS-TE mode usesIETF-defined extensionsfor RSVP and IGP. This mode interoperates with third-party vendor equipment. IETF mode supports multiple bandwidth constraint models, including RDM and MAM, both with two bandwidth pools. In an IETF DS-TE network, identical bandwidth constraint models must be configured on all nodes. TE class map is used with IETF DS-TE mode and must be configured the same way on all nodes in the network. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 127 Implementing MPLS Traffic Engineering Differentiated Services Traffic EngineeringBandwidth Constraint Models IETF DS-TE mode provides support for the RDM and MAM bandwidth constraints models. Both models support up to two bandwidth pools. Cisco IOS XR software provides global configuration for the switching between bandwidth constraint models. Both models can be configured on a single interface to preconfigure the bandwidth constraints before swapping to an alternate bandwidth constraint model. Note NSF is not guaranteed when you change the bandwidth constraint model or configuration information. By default, RDM is the default bandwidth constraint model used in both pre-standard and IETF mode. Maximum Allocation Bandwidth Constraint Model The MAM constraint model has the following characteristics: • Easy to use and intuitive. • Isolation across class types. • Simultaneously achieves isolation, bandwidth efficiency, and protection against QoS degradation. Related Topics Configuring an IETF DS-TE Tunnel Using MAM, on page 181 Russian Doll Bandwidth Constraint Model The RDM constraint model has these characteristics: • Allows greater sharing of bandwidth among different class types. • Ensures bandwidth efficiency simultaneously and protection against QoS degradation of all class types. • Specifies that it is used in conjunction with preemption to simultaneously achieve isolation across class-types such that each class-type is guaranteed its share of bandwidth, bandwidth efficiency, and protection against QoS degradation of all class types. We recommend that RDM not be used in DS-TE environmentsin which the use of preemption is precluded. Although RDM ensures bandwidth efficiency and protection against QoS degradation of class types, it does guarantee isolation across class types. Note Related Topics Configuring an IETF DS-TE Tunnel Using RDM, on page 178 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 128 OL-26056-02 Implementing MPLS Traffic Engineering Differentiated Services Traffic EngineeringTE Class Mapping Each of the eight available bandwidth values advertised in the IGP corresponds to a TE class. Because the IGP advertises only eight bandwidth values, there can be a maximum of only eight TE classes supported in an IETF DS-TE network. TE class mapping must be exactly the same on all routers in a DS-TE domain. It is the responsibility of the operator configure these settings properly as there is no way to automatically check or enforce consistency. The operator must configure TE tunnel class types and priority levels to form a valid TE class. When the TE class map configuration is changed, tunnels already up are brought down. Tunnels in the down state, can be set up if a valid TE class map is found. The default TE class and attributes are listed. The default mapping includes four class types. Table 4: TE Classes and Priority TE Class Class Type Priority 0 0 7 1 1 7 2 Unused — 3 Unused — 4 0 0 5 1 0 6 Unused — 7 Unused — Flooding Available bandwidth in all configured bandwidth poolsisflooded on the network to calculate accurate constraint paths when a new TE tunnel is configured. Flooding usesIGP protocol extensions and mechanismsto determine when to flood the network with bandwidth. Flooding Triggers TE Link Management (TE-Link) notifies IGP for both global pool and sub-pool available bandwidth and maximum bandwidth to flood the network in these events: • Periodic timer expires (this does not depend on bandwidth pool type). • Tunnel origination node has out-of-date information for either available global pool orsub-pool bandwidth, causing tunnel admission failure at the midpoint. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 129 Implementing MPLS Traffic Engineering Flooding• Consumed bandwidth crosses user-configured thresholds. The same threshold is used for both global pool and sub-pool. If one bandwidth crosses the threshold, both bandwidths are flooded. Flooding Thresholds Flooding frequently can burden a network because all routers must send out and process these updates. Infrequent flooding causes tunnel heads (tunnel-originating nodes) to have out-of-date information, causing tunnel admission to fail at the midpoints. You can control the frequency of flooding by configuring a set of thresholds. When locked bandwidth (at one or more priority levels) crosses one of these thresholds, flooding is triggered. Thresholds apply to a percentage of the maximum available bandwidth (the global pool), which is locked, and the percentage of maximum available guaranteed bandwidth (the sub-pool), which is locked. If, for one or more priority levels, either of these percentages crosses a threshold, flooding is triggered. Setting up a global pool TE tunnel can cause the locked bandwidth allocated to sub-pool tunnels to be reduced (and hence to cross a threshold). A sub-pool TE tunnel setup can similarly cause the locked bandwidth for global pool TE tunnels to cross a threshold. Thus, sub-pool TE and global pool TE tunnels can affect each other when flooding is triggered by thresholds. Note Fast Reroute Fast Reroute (FRR) provides link protection to LSPs enabling the traffic carried by LSPs that encounter a failed link to be rerouted around the failure. The reroute decision is controlled locally by the router connected to the failed link. The headend router on the tunnel is notified of the link failure through IGP or through RSVP. When it is notified of a link failure, the headend router attempts to establish a new LSP that bypasses the failure. This provides a path to reestablish links that fail, providing protection to data transfer. FRR (link or node) is supported over sub-pool tunnels the same way as for regular TE tunnels. In particular, when link protection is activated for a given link, TE tunnels eligible for FRR are redirected into the protection LSP, regardless of whether they are sub-pool or global pool tunnels. The ability to configure FRR on a per-LSP basis makes it possible to provide different levels of fast restoration to tunnels from different bandwidth pools. Note You should be aware of these requirements for the backup tunnel path: • Backup tunnel must not pass through the element it protects. • Primary tunnel and a backup tunnel should intersect at least at two points (nodes) on the path: point of local repair (PLR) and merge point (MP). PLR isthe headend of the backup tunnel, and MP isthe tailend of the backup tunnel. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 130 OL-26056-02 Implementing MPLS Traffic Engineering Fast RerouteWhen you configure TE tunnel with multiple protection on its path and merge point is the same node for more than one protection, you must configure record-route for that tunnel. Note Related Topics Protecting MPLS Tunnels with Fast Reroute, on page 164 MPLS-TE and Fast Reroute over Link Bundles MPLS Traffic Engineering (TE) and Fast Reroute (FRR) are supported over bundle interfaces and virtual local area network (VLAN) interfaces. Bidirectional forwarding detection (BFD) over VLAN is used as an FRR trigger to obtain less than 50 milliseconds of switchover time. These link bundle types are supported for MPLS-TE/FRR: • Over Ethernet link bundles. • Over VLANs over Ethernet link bundles. • Number of links are limited to 100 for MPLS-TE and FRR. • VLANs go over any Ethernet interface (for example, GigabitEthernet and TenGigE). FRR is supported over bundle interfaces in the following ways: • Uses minimum links as a threshold to trigger FRR over a bundle interface. • Uses the minimum total available bandwidth as a threshold to trigger FRR. Ignore Intermediate System-to-Intermediate System Overload Bit Setting in MPLS-TE The Ignore Intermediate System-to-Intermediate System (IS-IS) overload bit avoidance feature allows network administrators to prevent RSVP-TE label switched paths (LSPs) from being disabled, when a router in that path has its Intermediate System-to-Intermediate System (IS-IS) overload bit set. The IS-IS overload bit avoidance feature is activated using this command: mpls traffic-eng path-selection ignore overload The IS-IS overload bit avoidance feature is deactivated using the no form of this command: no mpls traffic-eng path-selection ignore overload When the IS-IS overload bit avoidance feature is activated, all nodes, including head nodes, mid nodes, and tail nodes, with the overload bit set, are ignored. This means that they are still available for use with RSVP-TE label switched paths (LSPs). This feature enables you to include an overloaded node in CSPF. Enhancement Options of IS-IS OLA You can restrict configuring IS-IS overload bit avoidance with the following enhancement options: • path-selection ignore overload head Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 131 Implementing MPLS Traffic Engineering MPLS-TE and Fast Reroute over Link BundlesThe tunnels stay up if set-overload-bit is set by IS-IS on the head router. Ignores overload during CSPF for LSPs originating from an overloaded node. In all other cases (mid, tail, or both), the tunnel stays down. • path-selection ignore overload mid The tunnels stay up if set-overload-bit is set by IS-IS on the mid router. Ignores overload during CSPF for LSPs transiting from an overloaded node. In all other cases (head, tail, or both), the tunnel stays down. • path-selection ignore overload tail The tunnels stay up if set-overload-bit is set by IS-IS on the tail router. Ignores overload during CSPF for LSPs terminating at an overloaded node. In all other cases (head, mid, or both), the tunnel stays down. • path-selection ignore overload The tunnels stay up irrespective of on which router the set-overload-bit is set by IS-IS. When you do not select any of the options, including head nodes, mid nodes, and tail nodes, you get a behavior that is applicable to all nodes. This behavior is backward compatible in nature. Note For more information related to IS-IS overload avoidance related commands, see Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference. Related Topics Configuring the Ignore Integrated IS-IS Overload Bit Setting in MPLS-TE, on page 187 Configure the Ignore IS-IS Overload Bit Setting in MPLS-TE: Example, on page 262 Flexible Name-based Tunnel Constraints MPLS-TE Flexible Name-based Tunnel Constraints provides a simplified and more flexible means of configuring link attributes and path affinities to compute paths for MPLS-TE tunnels. In the traditional TE scheme, links are configured with attribute-flags that are flooded with TE link-state parameters using Interior Gateway Protocols (IGPs), such as Open Shortest Path First (OSPF). MPLS-TE Flexible Name-based Tunnel Constraints lets you assign, or map, up to 32 color names for affinity and attribute-flag attributes instead of 32-bit hexadecimal numbers. After mappings are defined, the attributes can be referred to by the corresponding color name in the command-line interface (CLI). Furthermore, you can define constraints using include, include-strict, exclude, and exclude-all arguments, where each statement can contain up to 10 colors, and define include constraints in both loose and strict sense. You can configure affinity constraints using attribute flags or the Flexible Name Based Tunnel Constraints scheme; however, when configurations for both schemes exist, only the configuration pertaining to the new scheme is applied. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 132 OL-26056-02 Implementing MPLS Traffic Engineering Flexible Name-based Tunnel ConstraintsRelated Topics Assigning Color Names to Numeric Values, on page 188 Associating Affinity-Names with TE Links, on page 190 Associating Affinity Constraints for TE Tunnels, on page 192 Configure Flexible Name-based Tunnel Constraints: Example, on page 263 MPLS Traffic Engineering Interarea Tunneling These topics describe the following new extensions of MPLS-TE: • Interarea Support, on page 133 • Multiarea Support, on page 134 • Loose Hop Expansion, on page 134 • Loose Hop Reoptimization, on page 135 • Fast Reroute Node Protection, on page 135 Interarea Support The MPLS-TE interarea tunneling feature allows you to establish P2P tunnels spanning multiple Interior Gateway Protocol (IGP) areas and levels, thereby eliminating the requirement that headend and tailend routers reside in a single area. Interarea support allowsthe configuration of a TE LSP thatspans multiple areas, where its headend and tailend label switched routers (LSRs) reside in different IGP areas. Multiarea and Interarea TE are required by the customers running multiple IGP area backbones (primarily for scalability reasons). This lets you limit the amount of flooded information, reduces the SPF duration, and lessens the impact of a link or node failure within an area, particularly with large WAN backbones split in multiple areas. This figure shows a typical interarea TE network. Figure 12: Interarea (OSPF) TE Network Diagram Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 133 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Interarea TunnelingMultiarea Support Multiarea support allows an area border router (ABR) LSR to support MPLS-TE in more than one IGP area. A TE LSP is still confined to a single area. Multiarea and Interarea TE are required when you run multiple IGP area backbones. The Multiarea and Interarea TE allows you to: • Limit the volume of flooded information. • Reduce the SPF duration. • Decrease the impact of a link or node failure within an area. Figure 13: Interlevel (IS-IS) TE Network As shown in the figure, R2, R3, R7, and R4 maintain two databases for routing and TE information. For example, R3 has TE topology information related to R2, flooded through Level-1 IS-IS LSPs plus the TE topology information related to R4, R9, and R7, flooded as Level 2 IS-IS Link State PDUs (LSPs) (plus, its own IS-IS LSP). You can configure multiple areas within an IS-IS Level 1. This is transparent to TE. TE has topology information about the IS-IS level, but not the area ID. Note Loose Hop Expansion Loose hop optimization allows the reoptimization of tunnels spanning multiple areas and solves the problem which occurs when an MPLS-TE LSP traverses hops that are not in the LSP's headend's OSPF area and IS-IS level. Interarea MPLS-TE allows you to configure an interarea traffic engineering (TE) label switched path (LSP) by specifying a loose source route of ABRs along the path. It is the then the responsibility of the ABR (having a complete view of both areas) to find a path obeying the TE LSP constraints within the next area to reach the next hop ABR (as specified on the headend). The same operation is performed by the last ABR connected to the tailend area to reach the tailend LSR. You must be aware of these considerations when using loose hop optimization: • You must specify the router ID of the ABR node (as opposed to a link address on the ABR). Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 134 OL-26056-02 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Interarea Tunneling• When multiarea is deployed in a network that contains subareas, you must enable MPLS-TE in the subarea for TE to find a path when loose hop is specified. • You must specify the reachable explicit path for the interarea tunnel. Loose Hop Reoptimization Loose hop reoptimization allows the reoptimization of the tunnels spanning multiple areas and solves the problem which occurs when an MPLS-TE headend does not have visibility into other IGP areas. Whenever the headend attempts to reoptimize a tunnel, it tries to find a better path to the ABR in the headend area. If a better path is found then the headend initiates the setup of a new LSP. In case a suitable path is not found in the headend area, the headend initiates a querying message. The purpose of this message is to query the ABRs in the areas other than the headend area to check if there exist any better paths in those areas. The purpose of this message is to query the ABRs in the areas other than the headend area, to check if a better path exists. If a better path does not exist, ABR forwardsthe query to the next router downstream. Alternatively, if better path is found, ABR responds with a special Path Error to the headend to indicate the existence of a better path outside the headend area. Upon receiving the Path Error that indicates the existence of a better path, the headend router initiates the reoptimization. ABR Node Protection Because one IGP area does not have visibility into another IGP area, it is not possible to assign backup to protect ABR node. To overcome this problem, node ID sub-object is added into the record route object of the primary tunnel so that at a PLR node, backup destination address can be checked against primary tunnel record-route object and assign a backup tunnel. Fast Reroute Node Protection If a link failure occurs within an area, the upstream router directly connected to the failed link generates an RSVP path error message to the headend. As a response to the message, the headend sends an RSVP path tear message and the corresponding path option is marked as invalid for a specified period and the next path-option (if any) is evaluated. To retry the ABR immediately, a second path option (identical to the first one) should be configured. Alternatively, the retry period (path-option hold-down, 2 minutes by default) can be tuned to achieve a faster retry. Related Topics Protecting MPLS Tunnels with Fast Reroute, on page 164 MPLS-TE Forwarding Adjacency The MPLS-TE Forwarding Adjacency feature allows a network administrator to handle a traffic engineering, label-switched path (LSP) tunnel as a link in an Interior Gateway Protocol (IGP) network based on the Shortest Path First (SPF) algorithm. A forwarding adjacency can be created between routers regardless of their location in the network. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 135 Implementing MPLS Traffic Engineering MPLS-TE Forwarding AdjacencyMPLS-TE Forwarding Adjacency Benefits TE tunnel interfaces are advertised in the IGP network just like any other links. Routers can then use these advertisements in their IGPs to compute the SPF even if they are not the head end of any TE tunnels. Related Topics Configuring MPLS-TE Forwarding Adjacency, on page 199 Configure Forwarding Adjacency: Example, on page 265 MPLS-TE Forwarding Adjacency Restrictions The following restrictions are listed for the MPLS-TE Forwarding Adjacency feature: • Using the MPLS-TE Forwarding Adjacency feature increasesthe size of the IGP database by advertising a TE tunnel as a link. • The MPLS-TE Forwarding Adjacency feature is supported by Intermediate System-to-Intermediate System (IS-IS). • When the MPLS-TE Forwarding Adjacency feature is enabled on a TE tunnel, the link is advertised in the IGP network as a Type-Length-Value (TLV) 22 without any TE sub-TLV. • MPLS-TE forwarding adjacency tunnels must be configured bidirectionally. MPLS-TE Forwarding Adjacency Prerequisites Your network must support the following features before enabling the MPLS -TE Forwarding Adjacency feature: • MPLS • IP Cisco Express Forwarding • Intermediate System-to-Intermediate System (IS-IS) Path Computation Element Path Computation Element (PCE) solves the specific issue of inter-domain path computation for MPLS-TE label switched path (LSPs), when the head-end router does not possess full network topology information (for example, when the head-end and tail-end routers of an LSP reside in different IGP areas). PCE uses area border routers(ABRs) to compute a TE LSP spanning multiple IGP areas as well as computation of Inter-AS TE LSP. PCE is usually used to define an overall architecture, which is made of several components, as follows: Path Computation Element (PCE) Represents a software module (which can be a component or application) that enables the router to compute paths applying a set of constraints between any pair of nodes within the router’s TE topology database. PCEs are discovered through IGP. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 136 OL-26056-02 Implementing MPLS Traffic Engineering Path Computation ElementPath Computation Client (PCC) Represents a software module running on a router that is capable of sending and receiving path computation requests and responses to and from PCEs. The PCC is typically an LSR (Label Switching Router). PCC-PCE communication protocol (PCEP) Specifiesthat PCEP is a TCP-based protocol defined by the IETF PCEWG, and defines a set of messages and objects used to manage PCEP sessions and to request and send paths for multi-domain TE LSPs. PCEP is used for communication between PCC and PCE (as well as between two PCEs) and employs IGP extensions to dynamically discover PCE. This figure shows a typical PCE implementation. Figure 14: Path Computation Element Network Diagram Path computation elements provides support for the following message types and objects: • Message types: Open, PCReq, PCRep, PCErr, Close • Objects: OPEN, CLOSE, RP, END-POINT, LSPA, BANDWIDTH, METRIC, and NO-PATH Related Topics Configuring a Path Computation Client, on page 200 Configuring a Path Computation Element Address, on page 202 Configuring PCE Parameters, on page 203 Configure PCE: Example, on page 265 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 137 Implementing MPLS Traffic Engineering Path Computation ElementPath Protection Path protection provides an end-to-end failure recovery mechanism (that is, full path protection) for MPLS-TE tunnels. A secondary Label Switched Path (LSP) is established, in advance, to provide failure protection for the protected LSP that is carrying a tunnel's TE traffic. When there is a failure on the protected LSP, the source router immediately enables the secondary LSP to temporarily carry the tunnel's traffic. If there is a failure on the secondary LSP, the tunnel no longer has path protection until the failure along the secondary path is cleared. Path protection can be used with a single area (OSPF or IS-IS), external BGP [eBGP], and static). The failure detection mechanisms trigger a switchover to a secondary tunnel: • Path error or resv-tear from Resource Reservation Protocol (RSVP) signaling • Notification from the Bidirectional Forwarding Detection (BFD) protocol that a neighbor is lost • Notification from the Interior Gateway Protocol (IGP) that the adjacency is down • Local teardown of the protected tunnel's LSP due to preemption in order to signal higher priority LSPs, a Packet over SONET (POS) alarm, online insertion and removal (OIR), and so forth An alternate recovery mechanism is Fast Reroute (FRR), which protects MPLS-TE LSPs only from link and node failures by locally repairing the LSPs at the point of failure. Co-existence of FRR and path protection is supported, that means FRR and path-protection can be configured on the same tunnel at the same time. Although not as fast as link or node protection, presignaling a secondary LSP is faster than configuring a secondary primary path option or allowing the tunnel's source router to dynamically recalculate a path. The actual recovery time is topology-dependent, and affected by delay factors such as propagation delay or switch fabric latency. Related Topics Enabling Path Protection for an Interface, on page 206 Assigning a Dynamic Path Option to a Tunnel, on page 208 Forcing a Manual Switchover on a Path-Protected Tunnel, on page 210 Configuring the Delay the Tunnel Takes Before Reoptimization, on page 210 Configure Tunnels for Path Protection: Example, on page 266 Prerequisites for Path Protection • Ensure that your network supports MPLS-TE, Cisco Express Forwarding, and Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF). • Enable MPLS. • Configure TE on the routers. • Configure a TE tunnel with a dynamic path option by using the path-option command with the dynamic keyword. Related Topics Enabling Path Protection for an Interface, on page 206 Assigning a Dynamic Path Option to a Tunnel, on page 208 Forcing a Manual Switchover on a Path-Protected Tunnel, on page 210 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 138 OL-26056-02 Implementing MPLS Traffic Engineering Path ProtectionConfiguring the Delay the Tunnel Takes Before Reoptimization, on page 210 Configure Tunnels for Path Protection: Example, on page 266 Restrictions for Path Protection • Only Point-to-Point (P2P) tunnels are supported. • Point-to-Multipoint (P2MP) TE tunnels are not supported. • A maximum of one standby LSP is supported. • There can be only one secondary path for each dynamic path option. • Explicit path option can be configured for the path protected TE with the secondary path option as dynamic. • Do not use link and node protection with path protection on the headend router. • A maximum number of path protected tunnel TE heads is 2000. • A maximum number of TE tunnel heads is equal to 4000. Related Topics Enabling Path Protection for an Interface, on page 206 Assigning a Dynamic Path Option to a Tunnel, on page 208 Forcing a Manual Switchover on a Path-Protected Tunnel, on page 210 Configuring the Delay the Tunnel Takes Before Reoptimization, on page 210 Configure Tunnels for Path Protection: Example, on page 266 MPLS-TE Automatic Bandwidth The MPLS-TE automatic bandwidth feature measures the traffic in a tunnel and periodically adjusts the signaled bandwidth for the tunnel. These topics provide information about MPLS-TE automatic bandwidth: MPLS-TE Automatic Bandwidth Overview MPLS-TE automatic bandwidth is configured on individual Label Switched Paths (LSPs) at every head-end. MPLS-TE monitors the traffic rate on a tunnel interface. Periodically, MPLS-TE resizes the bandwidth on the tunnel interface to align it closely with the traffic in the tunnel. MPLS-TE automatic bandwidth can perform these functions: • Monitors periodic polling of the tunnel output rate • Resizes the tunnel bandwidth by adjusting the highest rate observed during a given period For every traffic-engineered tunnel that is configured for an automatic bandwidth, the average output rate is sampled, based on various configurable parameters. Then, the tunnel bandwidth is readjusted automatically based upon either the largest average output rate that was noticed during a certain interval, or a configured maximum bandwidth value. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 139 Implementing MPLS Traffic Engineering MPLS-TE Automatic BandwidthThis table lists the automatic bandwidth functions. Table 5: Automatic Bandwidth Variables Function Command Description Default Value Configures how often the 24 hours tunnel bandwidths changed for each tunnel. The application period is the period of A minutes between the bandwidth applications during which the output rate collection is done. Application frequency application command Limits the range of 0 Kbps bandwidth within the automatic-bandwidth feature that can request a bandwidth. Requested bandwidth bw-limit command Configures how often the 5 min tunnel output rate is polled globally for all tunnels. auto-bw collect command Collection frequency You cannot configure this — value. Highest collected — bandwidth You cannot configure this — value. Delta — The output rate on a tunnel is collected at regular intervals that are configured by using the application command in MPLS-TE auto bandwidth interface configuration mode. When the application period timer expires, and when the difference between the measured and the current bandwidth exceeds the adjustment threshold, the tunnel is reoptimized. Then, the bandwidth samples are cleared to record the new largest output rate at the next interval. When reoptimizing the LSP with the new bandwidth, a new path request is generated. If the new bandwidth is not available, the last good LSP continues to be used. This way, the network experiences no traffic interruptions. If minimum or maximum bandwidth values are configured for a tunnel, the bandwidth, which the automatic bandwidth signals, stays within these values. When more than 100 tunnels are auto-bw enabled, the algorithm will jitter the first application of every tunnel by a maximum of 20% (max 1hour). The algorithm does this to avoid too many tunnels running auto bandwidth applications at the same time. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 140 OL-26056-02 Implementing MPLS Traffic Engineering MPLS-TE Automatic BandwidthIf a tunnel is shut down, and is later brought again, the adjusted bandwidth is lost and the tunnel is brought back with the initial configured bandwidth. In addition, the application period is reset when the tunnel is brought back. Related Topics Configuring the Collection Frequency, on page 212 Configuring the Automatic Bandwidth Functions, on page 215 Configure Automatic Bandwidth: Example, on page 267 Adjustment Threshold Adjustment Threshold is defined as a percentage of the current tunnel bandwidth and an absolute (minimum) bandwidth. Both thresholds must be fulfilled for the automatic bandwidth to resignal the tunnel. The tunnel bandwidth is resized only if the difference between the largest sample output rate and the current tunnel bandwidth is larger than the adjustment thresholds. For example, assume that the automatic bandwidth is enabled on a tunnel in which the highest observed bandwidth B is 30 Mbps. Also, assume that the tunnel was initially configured for 45 Mbps. Therefore, the difference is 15 mbit/s. Now, assuming the default adjustment thresholds of 10% and 10kbps, the tunnel is signalled with 30 Mbps when the application timer expires. This is because 10% of 45Mbit/s is 4.5 Mbit/s, which is smaller than 15 Mbit/s. The absolute threshold, which by default is 10kbps, is also crossed. Overflow Detection Overflow detection is used if a bandwidth must be resized assoon as an overflow condition is detected, without having to wait for the expiry of an automatic bandwidth application frequency interval. For overflow detection one configures a limit N, a percentage threshold Y% and optionally, a minimum bandwidth threshold Z. The percentage threshold is defined as the percentage of the actual signalled tunnel bandwidth. When the difference between the measured bandwidth and the actual bandwidth are both larger than Y% and Z threshold, for N consecutive times, then the system triggers an overflow detection. The bandwidth adjustment by the overflow detection is triggered only by an increase of traffic volume through the tunnel, and not by a decrease in the traffic volume. When you trigger an overflow detection, the automatic bandwidth application interval is reset. By default, the overflow detection is disabled and needs to be manually configured. Restrictions for MPLS-TE Automatic Bandwidth When the automatic bandwidth cannot update the tunnel bandwidth, the following restrictions are listed: • Tunnel is in a fast reroute (FRR) backup, active, or path protect active state. This occurs because of the assumption that protection is a temporary state, and there is no need to reserve the bandwidth on a backup tunnel. You should prevent taking away the bandwidth from other primary or backup tunnels. • Reoptimization fails to occur during a lockdown. In this case, the automatic bandwidth does not update the bandwidth unless the bandwidth application is manually triggered by using the mpls traffic-eng auto-bw apply command in EXEC mode. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 141 Implementing MPLS Traffic Engineering MPLS-TE Automatic BandwidthPoint-to-Multipoint Traffic-Engineering Point-to-Multipoint Traffic-Engineering Overview The Point-to-Multipoint (P2MP) Resource Reservation Protocol-Traffic Engineering (RSVP-TE) solution allows service providers to implement IP multicast applications, such as IPTV and real-time video, broadcast over the MPLS label switch network. The RSVP-TE protocol is extended to signal point-to-point (P2P) and P2MP label switched paths (LSPs) across the MPLS networks. By using RSVP-TE extensions as defined in RFC 4875, multiple subLSPs are signaled for a given TE source. The P2MP tunnel is considered as a set of Source-to-Leaf (S2L) subLSPs that connect the TE source to multiple leaf Provider Edge (PE) nodes. At the TE source, the ingress point of the P2MP-TE tunnel, IP multicast traffic is encapsulated with a unique MPLS label, which is associated with the P2MP-TE tunnel. The traffic continues to be label-switched in the P2MP tree. If needed, the labeled packet is replicated at branch nodes along the P2MP tree. When the labeled packet reaches the egress leaf (PE) node, the MPLS label is removed and forwarded onto the IP multicast tree across the PE-CE link. To enable end-to-end IP multicast connectivity, RSVP is used in the MPLS-core for P2MP-TE signaling and PIM is used for PE-CE link signaling. • All edge routers are running PIM-SSM or Source-Specific Multicast (SSM) to exchange multicast routing information with the directly-connected Customer Edge (CE) routers. • In the MPLS network, RSVP P2MP-TE replaces PIM as the tree building mechanism, RSVP-TE grafts or prunes a given P2MP tree when the end-points are added or removed in the TE source configuration (explicit user operation). These are the definitions for Point-to-Multipoint (P2MP) tunnels: Source Configures the node in which Label Switched Path (LSP) signaling is initiated. Mid-point Specifies the transit node in which LSP signaling is processed (for example, not a source or receiver). Receiver, Leaf, and Destination Specifies the node in which LSP signaling ends. Branch Point Specifies the node in which packet replication is performed. Bud Node Specifies the node that not only acts as a transit for some S2Ls but also acts as a termination point for a S2L of a P2MP TE tunnel. Source-to-Leaf (S2L) SubLSP Specifies the P2MP-TE LSP segment that runs from the source to one leaf. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 142 OL-26056-02 Implementing MPLS Traffic Engineering Point-to-Multipoint Traffic-EngineeringPoint-to-Multipoint Traffic-Engineering Features • P2MP RSVP-TE (RFC 4875) is supported. RFC 4875 is based on nonaggregate signaling; for example, per S2L signaling. Only P2MP LSP is supported. • interface tunnel-mte command identifies the P2MP interface type. • P2MP tunnel setup is supported with label replication. • Fast-Reroute (FRR) link protection is supported with sub-50 msec for traffic loss. • Explicit routing is supported by using under utilized links. • Reoptimization is supported by calculating a better set of paths to the destination with no traffic loss. Note Per-S2L reoptimization is not supported. • IPv4 and IPv6 payloads are supported. • IPv4 and IPv6 multicast forwarding are supported on a P2MP tunnel interface through a static IGMP and MLD group configuration. • Both IP multicast and P2MP Label Switch Multicast (LSM) coexist in the same network; therefore, both use the same forwarding plane (LFIB or MPLS Forwarding Infrastructure [MFI]). • P2MP label replication supports only Source-Specific Multicast (SSM) traffic. SSM configuration supports the default value, none. • Static mapping for multicast groups to the P2MP-TE tunnel is required. Point-to-Multipoint Traffic-Engineering Benefits • Single point of traffic control ensures that signaling and path engineering parameters (for example, protection and diversity) are configured only at the TE source node. • Ability to configure explicit paths to enable optimized traffic distribution and prevention of single point of failures in the network. • Link protection of MPLS-labeled traffic traversing branch paths of the P2MP-TE tree. • Ability to do bandwidth Admission Control (AC) during set up and signaling of P2MP-TE paths in the MPLS network. Related Topics Configure Point-to-Multipoint for the Source: Example, on page 278 Configure the Point-to-Multipoint Solution: Example, on page 279 Disable a Destination: Example, on page 279 Configure the Point-to-Multipoint Tunnel: Example, on page 278 Configure the Point-to-Multipoint Solution: Example, on page 279 Point-to-Multipoint RSVP-TE , on page 144 Path Option for Point-to-Multipoint RSVP-TE, on page 145 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 143 Implementing MPLS Traffic Engineering Point-to-Multipoint Traffic-EngineeringPoint-to-Multipoint RSVP-TE RSVP-TE signals a P2MP tunnel base that is based on a manual configuration. If all Source-to-Leaf (S2L)s use an explicit path, the P2MP tunnel creates a static tree that follows a predefined path based on a constraint such as a deterministic Label Switched Path (LSP). If the S2L uses a dynamic path, RSVP-TE creates a P2MP tunnel base on the best path in the RSVP-TE topology. RSVP-TE supports bandwidth reservation for constraint-based routing. RSVP-TE distributes stream information in which the topology tree does not change often (where the source and receivers are). For example, large scale video distribution between major sites is suitable for a subset of multicast applications. Because multicast traffic is already in the tunnel, the RSVP-TE tree is protected as long as you build a backup path. Fast-Reroute (FRR) capability is supported for P2MP RSVP-TE by using the unicast link protection. You can choose the type of traffic to go to the backup link. The P2MP tunnel is signaled by the dynamic and explicit path option in the IGP intra area. Only interArea and interAS, which are used for the P2MP tunnels, are signaled by the verbatim path option. Related Topics Configure Point-to-Multipoint for the Source: Example, on page 278 Configure the Point-to-Multipoint Solution: Example, on page 279 Point-to-Multipoint Fast Reroute, on page 144 Path Option for Point-to-Multipoint RSVP-TE, on page 145 Point-to-Multipoint Fast Reroute MPLS-TE Fast Reroute (FRR) is a mechanism to minimize interruption in traffic delivery to a TE Label Switched Path (LSP) destination as a result of link or node failures. FRR enables temporarily fast switching of LSP traffic along an alternative backup path around a network failure, until the TE tunnel source signals a new end-to-end LSP. The Point-of-Local Repair (PLR) is a node that selects a backup tunnel and switches the LSP traffic onto the backup tunnel in case a failure is detected. The receiver of the backup tunnel is referred to as the Merge Point (MP). Both Point-to-Point (P2P) and P2MP-TE support only the Facility FRR method from RFC 4090. Fast reroutable LSPs can coexist with fast reroutable P2P LSPs in a network. Node, link, and bandwidth protection for P2P LSPs are supported. Both MPLS-TE link and node protection rely on the fact that labels for all primary LSPs and subLSPs are using the MPLS global label allocation. For example, one single (global) label space is used for all MPLS-TE enabled physical interfaces on a given MPLS node. Related Topics Point-to-Multipoint Traffic-Engineering Overview, on page 142 Point-to-Multipoint RSVP-TE , on page 144 Point-to-Multipoint Label Switch Path The Point-to-Multipoint Label Switch Path (P2MP LSP) has only a single root, which is the Ingress Label Switch Router (LSR). The P2MP LSP is created based on a receiver that is connected to the Egress LSR. The Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 144 OL-26056-02 Implementing MPLS Traffic Engineering Point-to-Multipoint Traffic-EngineeringEgress LSR initiates the creation of the tree (for example, tunnel grafting or pruning is done by performing an individual sub-LSP operation) by creating the Forwarding Equivalency Class (FEC) and Opaque Value. Note Grafting and pruning operate on a per destination basis. The Opaque Value contains the stream information that uniquely identifies the tree to the root. To receive label switched multicast packets, the Egress Provider Edge (PE) indicates to the upstream router (the next hop closest to the root) which label it uses for the multicast source by applying the label mapping message. The upstream router does not need to have any knowledge of the source; it needs only the received FEC to identify the correct P2MP LSP. If the upstream router does not have any FEC state, it creates it and installs the assigned downstream outgoing label into the label forwarding table. If the upstream router is not the root of the tree, it must forward the label mapping message to the next hop upstream. This process is repeated hop-by-hop until the root is reached. By using downstream allocation, the router that wants to receive the multicast traffic assigns the label for it. The label request, which is sent to the upstream router, is similar to an unsolicited label mapping (that is, the upstream does not request it). The upstream router that receives that label mapping uses the specific label to send multicast packets downstream to the receiver. The advantage isthat the router, which allocatesthe labels, does not get into a situation where it has the same label for two different multicast sources. This is because it manages its own label space allocation locally. Path Option for Point-to-Multipoint RSVP-TE P2MP tunnels are signaled by using the dynamic and explicit path-options in an IGP intra area. InterArea and InterAS cases for P2MP tunnels are signaled by the verbatim path option. Path optionsfor P2MP tunnels are individually configured for each sub-LSP. Only one path option persub-LSP (destination) is allowed. You can choose whether the corresponding sub-LSP is dynamically or explicitly routed. For the explicit option, you can configure the verbatim path option to bypass the topology database lookup and verification for the specified destination. Both dynamic and explicit path options are supported on a per destination basis by using the path-option (P2MP-TE) command. In addition, you can combine both path options. Explicit Path Option Configuresthe intermediate hopsthat are traversed by a sub-LSP going from the TE source to the egress MPLS node. Although an explicit path configuration enables granular control sub-LSP paths in an MPLS network, multiple explicit paths are configured for specific network topologies with a limited number of (equal cost) links or paths. Dynamic Path Option Computes the IGP path of a P2MP tree sub-LSP that is based on the OSPF and ISIS algorithm. The TE source is dynamically calculated based on the IGP topology. Dynamic Path Calculation Requirements Dynamic path calculation for each sub-LSP uses the same path parameters as those for the path calculation of regular point-to-point TE tunnels. As part of the sub-LSP path calculation, the link resource (bandwidth) is included, which is flooded throughout the MPLS network through the existing RSVP-TE extensions to Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 145 Implementing MPLS Traffic Engineering Point-to-Multipoint Traffic-EngineeringOSPF and ISIS. Instead of dynamic calculated paths, explicit paths are also configured for one or more sub-LSPs that are associated with the P2MP-TE tunnel. • OSPF or ISIS are used for each destination. • TE topology and tunnel constraints are used to input the path calculation. • Tunnel constraints such as affinity, bandwidth, and priorities are used for all destinations in a tunnel. • Path calculation yields an explicit route to each destination. Static Path Calculation Requirements The static path calculation does not require any new extensions to IGP to advertise link availability. • Explicit path is required for every destination. • Offline path calculation is used. • TE topology database is not needed. • If the topology changes, reoptimization is not required. Related Topics Configure the Point-to-Multipoint Tunnel: Example, on page 278 Configure the Point-to-Multipoint Solution: Example, on page 279 Point-to-Multipoint Traffic-Engineering Overview, on page 142 Point-to-Multipoint RSVP-TE , on page 144 MPLS Traffic Engineering Shared Risk Link Groups Shared Risk Link Groups (SRLG) in MPLS traffic engineering refer to situations in which links in a network share a common fiber (or a common physical attribute). These links have a shared risk, and that is when one link fails, other links in the group might fail too. OSPF and Intermediate System-to-Intermediate System (IS-IS) flood the SRLG value information (including other TE link attributes such as bandwidth availability and affinity) using a sub-type length value (sub-TLV), so that all routers in the network have the SRLG information for each link. To activate the SRLG feature, configure the SRLG value of each link that has a shared risk with another link. A maximum of 30 SRLGs per interface is allowed. You can configure this feature on multiple interfaces including the bundle interface. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 146 OL-26056-02 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Shared Risk Link GroupsFigure 15: Shared Risk Link Group illustrates the MPLS TE SRLG values configured on the bundle interface. Figure 15: Shared Risk Link Group Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Explicit Path The Explicit Path configuration allows you to configure the explicit path. An IP explicit path is a list of IP addresses, each representing a node or link in the explicit path. The MPLS Traffic Engineering (TE)—IP Explicit Address Exclusion feature provides a means to exclude a link or node from the path for an Multiprotocol Label Switching (MPLS) TE label-switched path (LSP). This feature is enabled through the explicit-path command that allows you to create an IP explicit path and enter a configuration submode for specifying the path. The feature adds to the submode commands of the exclude-address command for specifying addresses to exclude from the path. The feature also adds to the submode commands of the exclude-srlg command that allows you to specify the IP address to get SRLGs to be excluded from the explicit path. If the excluded address or excluded srlg for an MPLS TE LSP identifies a flooded link, the constraint-based shortest path first (CSPF) routing algorithm does not consider that link when computing paths for the LSP. If the excluded address specifies a flooded MPLS TE router ID, the CSPF routing algorithm does not allow paths for the LSP to traverse the node identified by the router ID. Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 147 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Shared Risk Link GroupsCreating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Fast ReRoute with SRLG Constraints Fast ReRoute (FRR) protects MPLS TE Label Switch Paths (LSPs) from link and node failures by locally repairing the LSPs at the point of failure. This protection allows data to continue to flow on LSPs, while their headend routers attempt to establish new end-to-end LSPs to replace them. FRR locally repairs the protected LSPs by rerouting them over backup tunnels that bypass failed links or nodes. Backup tunnels that bypass only a single link of the LSP's path provide Link Protection. They protect LSPs by specifying the protected link IP addresses to extract SRLG values that are to be excluded from the explicit path, thereby bypassing the failed link. These are referred to as next-hop (NHOP) backup tunnels because they terminate at the LSP's next hop beyond the point of failure. Figure 16: NHOP Backup Tunnel with SRLG constraint illustrates an NHOP backup tunnel. Figure 16: NHOP Backup Tunnel with SRLG constraint In the topology shown in the above figure, the backup tunnel path computation can be performed in this manner: • Get all SRLG values from the exclude-SRLG link (SRLG values 5 and 6) • Mark all the links with the same SRLG value to be excluded from SPF • Path computation as CSPF R2->R6->R7->R3 FRR provides Node Protection for LSPs. Backup tunnels that bypass next-hop nodes along LSP paths are called NNHOP backup tunnels because they terminate at the node following the next-hop node of the LSP paths, thereby bypassing the next-hop node. They protect LSPs when a node along their path fails, by enabling the node upstream to the point of failure to reroute the LSPs and their traffic, around the failed node to the next-next hop. They also protect LSPs by specifying the protected link IP addresses that are to be excluded from the explicit path, and the SRLG values associated with the IP addresses excluded from the explicit path. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 148 OL-26056-02 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Shared Risk Link GroupsNNHOP backup tunnels also provide protection from link failures by bypassing the failed link as well as the node. Figure 17: NNHOP Backup Tunnel with SRLG constraint illustrates an NNHOP backup tunnel. Figure 17: NNHOP Backup Tunnel with SRLG constraint In the topology shown in the above figure, the backup tunnel path computation can be performed in this manner: • Get all SRLG values from the exclude-SRLG link (SRLG values 5 and 6) • Mark all links with the same SRLG value to be excluded from SPF • Verify path with SRLG constraint • Path computation as CSPF R2->R9->R10->R4 Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Importance of Protection This section describes the following: • Delivery of Packets During a Failure • Multiple Backup Tunnels Protecting the Same Interface Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 149 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Shared Risk Link GroupsRelated Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Delivery of Packets During a Failure Backup tunnels that terminate at the NNHOP protect both the downstream link and node. This provides protection for link and node failures. Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Multiple Backup Tunnels Protecting the Same Interface • Redundancy—If one backup tunnel is down, other backup tunnels protect LSPs. • Increased backup capacity—If the protected interface is a high-capacity link and no single backup path exists with an equal capacity, multiple backup tunnels can protect that one high-capacity link. The LSPs using thislink falls over to different backup tunnels, allowing all of the LSPsto have adequate bandwidth protection during failure (rerouting). If bandwidth protection is not desired, the router spreads LSPs across all available backup tunnels (that is, there is load balancing across backup tunnels). Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 SRLG Limitations There are few limitations to the configured SRLG feature: • The exclude-address and exclude-srlg options are not allowed in the IP explicit path strict-address network. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 150 OL-26056-02 Implementing MPLS Traffic Engineering MPLS Traffic Engineering Shared Risk Link Groups• Whenever SRLG values are modified after tunnels are signalled, they are verified dynamically in the next path verification cycle. Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Soft-Preemption MPLS-TE preemption consists of freeing the resources of an established LSP, and assigning them to a new LSP. The freeing of resources causes a traffic disruption to the LSP that is being preempted. Soft preemption is an extension to the RSVP-TE protocol to minimize and even eliminate such traffic disruption over the preempted LSP. The soft-preemption feature attempts to preempt the LSPs in a graceful manner to minimize or eliminate traffic loss. However, the link might be over-subscribed for a period of time. In a network that implements soft preemption, zero traffic loss is achieved in this manner: • When signaling a new LSP, the ingress router indicates to all the intermediate nodes that the existing LSP is to be softly preempted, in case its resources are needed and is to be reassigned. • When a given intermediate node needs to soft-preempt the existing LSP, it sends a new or special path error (preemption pending) to the ingress router. The intermediate node does not dismantle the LSP and maintains its state. • When the ingress router receives the path error (preemption pending) from the intermediate node, it immediately starts a re-optimization that avoids the link that caused the preemption. • When the re-optimization is complete, the ingress router tears down the soft-preempted LSP. Related Topics Enabling Soft-Preemption on a Node, on page 245 Enabling Soft-Preemption on a Tunnel, on page 247 Path Option Attributes The path option attributes are configurable through a template configuration. Thistemplate, named attribute-set, is configured globally in the MPLS traffic-engineering mode. You can apply an attribute-set to a path option on a per-LSP basis. The path option configuration is extended to take a path option attribute name. LSPs computed with a particular path option usesthe attributes asspecified by the attribute-set under that path option. These prerequisites are required to implement path option attributes: • Path option type attribute-set is configured in the MPLS TE mode Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 151 Implementing MPLS Traffic Engineering Soft-Preemption• Path option CLI extended to accept an attribute-set name Note The signalled-bandwidth and affinity attributes are supported under the attribute-set template. Related Topics Configuring Attributes within a Path-Option Attribute, on page 249 Configuration Hierarchy of Path Option Attributes You can specify a value for an attribute within a path option attribute-set template. This does not prevent the configuring of the same attribute at a tunnel level. However, it is important to note that only one level is taken into account. So, the configuration at the LSP level is considered more specific than the one at the level of the tunnel, and it is used from this point onwards. Attributes that are not specified within an attribute-set take their values as usual--configuration at the tunnel level, configuration at the global MPLS level, or default values. Here is an example: attribute-set path-option MYSET affinity 0xBEEF mask 0xBEEF interface tunnel-te 10 affinity 0xCAFE mask 0xCAFE signalled-bandwidth 1000 path-option 1 dynamic attribute-set name MYSET path-option 2 dynamic In this example, the attribute-set named MYSET is specifying affinity as 0xBEEF. The signalled bandwidth has not been configured in this MYSET. The tunnel 10, meanwhile, has affinity 0xCAFE configured. LSPs computed from path-option 1 uses the affinity 0xBEEF/0xBEEF, while LSPs computed from path-option 2 uses the affinity 0xCAFE/0xCAFE. All LSPs computed using any of these path-options use signalled-bandwidth as 1000, as this is the only value that is specified only at the tunnel level. The attributes configured in a path option attribute-set template takes precedence over the same attribute configured under a tunnel. An attribute configured under a tunnel is used only if the equivalent attribute is not specified by the in-use path option attribute-set template. Note Related Topics Configuring Attributes within a Path-Option Attribute, on page 249 Traffic Engineering Bandwidth and Bandwidth Pools MPLS traffic engineering allows constraint-based routing (CBR) of IP traffic. One of the constraints satisfied by CBR is the availability of required bandwidth over a selected path. Regular TE tunnel bandwidth is called the global pool. The subpool bandwidth is a portion of the global pool. If it is not in use, the subpool bandwidth is not reserved from the global pool. Therefore, subpool tunnels require a priority higher than that of non-subpool tunnels. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 152 OL-26056-02 Implementing MPLS Traffic Engineering Path Option AttributesYou can configure the signalled-bandwidth path option attribute to use either the global pool (default) or the subpool bandwidth. The signalled-bandwidth value for the path option may be any valid value and the pool does not have to be the same as that which is configured on the tunnel. When you configure signalled-bandwidth for path options with the signalled-bandwidth bandwidth [sub-pool | global] kbps command, use either allsubpool bandwidths or all global-pool bandwidth values. Note Related Topics Configuring Attributes within a Path-Option Attribute, on page 249 Path Option Switchover Reoptimization to a particular path option is not possible if the in-use path option and the new path option do not share the same bandwidth class. The path option switchover operation would fail in such a scenario. Use this command at the EXEC configuration mode to switchover to a newer path option : mpls traffic-eng switchover tunnel-xx ID path-option index The switchover to a newer path option is achieved, in these instances: • when a lower index path option is available • when any signalling message or topology update causes the primary LSP to go down • when a local interface fails on the primary LSP or a path error is received on the primary LSP Note Path option switchover between various path options with different bandwidth classes is not allowed. Related Topics Configuring Attributes within a Path-Option Attribute, on page 249 Path Option and Path Protection When path-protection is enabled, a standby LSP is established to protect traffic going over the tunnel. The standby LSP may be established using either the same path option as the primary LSP, or a different one. The standby LSP is computed to be diverse from the primary LSP, so bandwidth class differences does not matter. This is true in all cases of diversity except node-diversity. With node diversity, it is possible for the standby LSP to share up to two links with the primary LSP, the link exiting the head node, and the link entering the tail node. If you want to switchover from one path option to another path option and these path options have different classes, the path option switchover is rejected. However, the path option switchover can not be blocked in the path-protection feature. When the standby LSP becomes active using another path option of a different class type, the path option switchover cannot be rejected at the head end. It might get rejected by the downstream node. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 153 Implementing MPLS Traffic Engineering Path Option AttributesNode-diversity is only possible under limited conditions. The conditions that must be met are: • there is no second path that is both node and link diverse • the current LSP uses a shared-media link at the head egress or tail ingress • the shared-media link used by the current LSP permits computation of a node-diverse path In Cisco IOS XR, reoptimization between different class types would actually be rejected by the next hop. This rejection will occur by an admission failure. Related Topics Configuring Attributes within a Path-Option Attribute, on page 249 Auto-Tunnel Mesh The MPLS traffic engineering auto-tunnel mesh (Auto-mesh) feature allows you to set up full mesh of TE P2P tunnels automatically with a minimal set of MPLS traffic engineering configurations. You may configure one or more mesh-groups. Each mesh-group requires a destination-list (IPv4 prefix-list) listing destinations, which are used as destinations for creating tunnels for that mesh-group. You may configure MPLS TE auto-mesh type attribute-sets (templates) and associate them to mesh-groups. LSR creates tunnels using the tunnel properties defined in the attribute-set. Auto-Tunnel mesh provides benefits: • Minimizes the initial configuration of the network. You may configure tunnel properties template and mesh-groups or destination-lists on each TE LSRs that further creates full mesh of TE tunnels between those LSRs. • Minimizes future configurations resulting due to network growth. It eliminates the need to reconfigure each existing TE LSR in order to establish a full mesh of TE tunnels whenever a new TE LSR is added in the network. Related Topics Configuring Auto-Tunnel Mesh Tunnel ID, on page 251 Configuring Auto-tunnel Mesh Unused Timeout, on page 252 Configuring Auto-Tunnel Mesh Group, on page 254 Configuring Tunnel Attribute-Set Templates, on page 256 Enabling LDP on Auto-Tunnel Mesh, on page 258 Destination List (Prefix-List) Auto-mesh tunnels can be automatically created using prefix-list. Each TE enabled router in the network learns about the TE router IDs through a existing IGP extension. You can view the router IDs on the router using this command: show mpls traffic-eng topology | include TE Id IGP Id: 0001.0000.0010.00, MPLS TE Id:100.1.1.1 Router Node (ISIS 1 level-2) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 154 OL-26056-02 Implementing MPLS Traffic Engineering Auto-Tunnel MeshIGP Id: 0001.0000.0011.00, MPLS TE Id:100.2.2.2 Router Node (ISIS 1 level-2) IGP Id: 0001.0000.0012.00, MPLS TE Id:100.3.3.3 Router Node (ISIS 1 level-2) A prefix-list may be configured on each TE router to match a desired set of router IDs (MPLS TE ID as shown in the above output). For example, if a prefix-list is configured to match addresses of 100.0.0.0 with wildcard 0.255.255.255, then all 100.x.x.x router IDs are included in the auto-mesh group. When a new TE router is added in the network and its router ID is also in the block of addresses described by the prefix-list, for example, 100.x.x.x, then it is added in the auto-mesh group on each existing TE router without having to explicitly modify the prefix-list or perform any additional configuration. Auto-mesh does not create tunnels to its own (local) TE router IDs. When prefix-list configurations on all routers are not identical, it can result in non- symmetrical mesh of tunnels between those routers. Note Related Topics Configuring Auto-Tunnel Mesh Tunnel ID, on page 251 Configuring Auto-tunnel Mesh Unused Timeout, on page 252 Configuring Auto-Tunnel Mesh Group, on page 254 Configuring Tunnel Attribute-Set Templates, on page 256 Enabling LDP on Auto-Tunnel Mesh, on page 258 How to Implement Traffic Engineering Traffic engineering requires coordination among several global neighbor routers, creating traffic engineering tunnels, setting up forwarding across traffic engineering tunnels, setting up FRR, and creating differential service. These procedures are used to implement MPLS-TE: Building MPLS-TE Topology Perform this task to configure MPLS-TE topology (required for traffic engineering tunnel operations). Before You Begin Before you start to build the MPLS-TE topology, you must have enabled: • IGP such as OSPF or IS-IS for MPLS-TE. • MPLS Label Distribution Protocol (LDP). • RSVP on the port interface. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID, the system defaults to the global router ID. Default router IDs are subject to change, which can result in an unstable link. • If you are going to use nondefault holdtime or intervals, you must decide the values to which they are set. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 155 Implementing MPLS Traffic Engineering How to Implement Traffic EngineeringSUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. exit 5. exit 6. router ospf process-name 7. area area-id 8. exit 9. mpls traffic-eng router-id type interface-path-id 10. Use one of the following commands: • end • commit 11. (Optional) show mpls traffic-eng topology 12. (Optional) show mpls traffic-eng link-management advertisements DETAILED STEPS Command or Action Purpose configure Enters the configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 RP/0/RSP0/CPU0:router(config-mpls-te)# Enables traffic engineering on a particular interface on the originating node and enters MPLS-TE interface configuration mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)#interface Step 3 POS0/6/0/0 RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Step 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 156 OL-26056-02 Implementing MPLS Traffic Engineering Building MPLS-TE TopologyCommand or Action Purpose RP/0/RSP0/CPU0:router(config-mpls-te)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 5 RP/0/RSP0/CPU0:router(config)# router ospf process-name Enters a name for the OSPF process. Example: RP/0/RSP0/CPU0:router(config)# router ospf 1 Step 6 Step 7 area area-id Configures an area for the OSPF process. Example: RP/0/RSP0/CPU0:router(config-router)# area 0 • Backbone areas have an area ID of 0. • Non-backbone areas have a non-zero area ID. exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# exit Step 8 RP/0/RSP0/CPU0:router(config-ospf)# mpls traffic-eng router-id type interface-path-id Sets the MPLS-TE loopback interface. Example: RP/0/RSP0/CPU0:router(config-ospf)# mpls Step 9 traffic-eng router-id Loopback0 Step 10 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ospf)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-ospf)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 157 Implementing MPLS Traffic Engineering Building MPLS-TE TopologyCommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Verifies the traffic engineering topology. show mpls traffic-eng topology Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 11 topology (Optional) Displays all the link-management advertisements for the links on this node. show mpls traffic-eng link-management advertisements Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 12 link-management advertisements Related Topics How MPLS-TE Works, on page 121 Build MPLS-TE Topology and Tunnels: Example, on page 260 Creating an MPLS-TE Tunnel Creating an MPLS-TE tunnel is a process of customizing the traffic engineering to fit your network topology. Perform this task to create an MPLS-TE tunnel after you have built the traffic engineering topology. Before You Begin The following prerequisites are required to create an MPLS-TE tunnel: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. • If you are going to use nondefault holdtime or intervals, you must decide the values to which they are set. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 158 OL-26056-02 Implementing MPLS Traffic Engineering Creating an MPLS-TE TunnelSUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. destination ip-address 4. ipv4 unnumbered type interface-path-id 5. path-option preference - priority dynamic 6. signalled- bandwidth {bandwidth [class-type ct ] | sub-pool bandwidth} 7. Use one of these commands: • end • commit 8. (Optional) show mpls traffic-eng tunnels 9. (Optional) show ipv4 interface brief 10. (Optional) show mpls traffic-eng link-management admission-control DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router# interface tunnel-te Step 2 1 Step 3 destination ip-address Assigns a destination address on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# destination The destination address is the remote node’s MPLS-TE router ID. 192.168.92.125 Assigns a source address so that forwarding can be performed on the new tunnel. Loopback is commonly used as the interface type. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 Step 4 unnumbered Loopback0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 159 Implementing MPLS Traffic Engineering Creating an MPLS-TE TunnelCommand or Action Purpose path-option preference - priority dynamic Sets the path option to dynamic and assigns the path ID. Example: RP/0/RSP0/CPU0:router(config-if)# path-option Step 5 l dynamic Sets the CT0 bandwidth required on this interface. Because the default tunnel priority is 7, tunnels use the default TE class map (namely, class-type 1, priority 7). signalled- bandwidth {bandwidth [class-type ct ] | sub-pool bandwidth} Example: RP/0/RSP0/CPU0:router(config-if)# Step 6 signalled-bandwidth 100 Step 7 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Verifiesthat the tunnel is connected (in the UP state) and displays all configured TE tunnels. show mpls traffic-eng tunnels Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 8 tunnels (Optional) Displays all TE tunnel interfaces. show ipv4 interface brief Example: RP/0/RSP0/CPU0:router# show ipv4 interface Step 9 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 160 OL-26056-02 Implementing MPLS Traffic Engineering Creating an MPLS-TE TunnelCommand or Action Purpose brief (Optional) Displays all the tunnels on this node. show mpls traffic-eng link-management admission-control Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 10 link-management admission-control Related Topics How MPLS-TE Works, on page 121 Build MPLS-TE Topology and Tunnels: Example, on page 260 Building MPLS-TE Topology, on page 155 Configuring Forwarding over the MPLS-TE Tunnel Perform this task to configure forwarding over the MPLS-TE tunnel created in the previous task . This task allows MPLS packets to be forwarded on the link between network neighbors. Before You Begin The following prerequisites are required to configure forwarding over the MPLS-TE tunnel: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 161 Implementing MPLS Traffic Engineering Configuring Forwarding over the MPLS-TE TunnelSUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. ipv4 unnumbered type interface-path-id 4. autoroute announce 5. exit 6. router static address-family ipv4 unicast prefix mask ip-address interface type 7. Use one of these commands: • end • commit 8. (Optional) ping {ip-address | hostname} 9. (Optional) show mpls traffic-eng autoroute DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-te tunnel-id Enters MPLS-TE interface configuration mode. Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-te 1 Assigns a source address so that forwarding can be performed on the new tunnel. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 Step 3 unnumbered Loopback0 Enables messages that notify the neighbor nodes about the routes that are forwarding. autoroute announce Example: RP/0/RSP0/CPU0:router(config-if)# autoroute Step 4 announce Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 162 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Forwarding over the MPLS-TE TunnelCommand or Action Purpose exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if)# exit Step 5 Enables a route using IP version 4 addressing, identifies the destination address and the tunnel where forwarding is enabled. router static address-family ipv4 unicast prefix mask ip-address interface type Step 6 Example: RP/0/RSP0/CPU0:router(config)# router static This configuration is used for static routes when the autoroute announce command is not used. address-family ipv4 unicast 2.2.2.2/32 tunnel-te 1 Step 7 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Checks for connectivity to a particular IP address or host name. ping {ip-address | hostname} Example: RP/0/RSP0/CPU0:router# ping 192.168.12.52 Step 8 (Optional) Verifies forwarding by displaying what is advertised to IGP for the TE tunnel. show mpls traffic-eng autoroute Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 9 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 163 Implementing MPLS Traffic Engineering Configuring Forwarding over the MPLS-TE TunnelCommand or Action Purpose autoroute Related Topics Overview of MPLS Traffic Engineering, on page 121 Creating an MPLS-TE Tunnel, on page 158 Protecting MPLS Tunnels with Fast Reroute Perform this task to protect MPLS-TE tunnels, as created in the previous task. Although this task is similar to the previous task, its importance makes it necessary to present as part of the tasks required for traffic engineering on Cisco IOS XR software. Note Before You Begin The following prerequisites are required to protect MPLS-TE tunnels: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. • You must first configure a primary tunnel. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 164 OL-26056-02 Implementing MPLS Traffic Engineering Protecting MPLS Tunnels with Fast RerouteSUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. fast-reroute 4. exit 5. mpls traffic-eng 6. interface type interface-path-id 7. backup-path tunnel-te tunnel-number 8. exit 9. exit 10. interface tunnel-te tunnel-id 11. backup-bw {backup bandwidth |sub-pool {bandwidth | unlimited} | global-pool {bandwidth | unlimited} } 12. ipv4 unnumbered type interface-path-id 13. path-option preference-priority {explicit name explicit-path-name} 14. destination ip-address 15. Use one of these commands: • end • commit 16. (Optional) show mpls traffic-eng tunnels backup 17. (Optional) show mpls traffic-eng tunnels protection frr 18. (Optional) show mpls traffic-eng fast-reroute database DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router# interface tunnel-te 1 Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 165 Implementing MPLS Traffic Engineering Protecting MPLS Tunnels with Fast RerouteCommand or Action Purpose fast-reroute Enables fast reroute. Example: RP/0/RSP0/CPU0:router(config-if)# fast-reroute Step 3 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if)# exit Step 4 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 5 RP/0/RSP0/CPU0:router(config-mpls-te)# Enables traffic engineering on a particular interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface Step 6 pos0/6/0/0 RP/0/RSP0/CPU0:router(config-mpls-te-if)# backup-path tunnel-te tunnel-number Sets the backup path to the backup tunnel. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# Step 7 backup-path tunnel-te 2 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Step 8 RP/0/RSP0/CPU0:router(config-mpls-te)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 9 RP/0/RSP0/CPU0:router(config)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 166 OL-26056-02 Implementing MPLS Traffic Engineering Protecting MPLS Tunnels with Fast RerouteCommand or Action Purpose interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 10 tunnel-te 2 backup-bw {backup bandwidth | sub-pool {bandwidth Sets the CT0 bandwidth required on this interface. | unlimited} | global-pool {bandwidth | unlimited} } Step 11 Because the default tunnel priority is 7, tunnels use the default TE class map. Note Example: RP/0/RSP0/CPU0:router(config-if)#backup-bw global-pool 5000 Assigns a source address to set up forwarding on the new tunnel. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 Step 12 unnumbered Loopback0 Setsthe path option to explicit with a given name (previously configured) and assigns the path ID. path-option preference-priority {explicit name explicit-path-name} Example: RP/0/RSP0/CPU0:router(config-if)# path-option Step 13 l explicit name backup-path Step 14 destination ip-address Assigns a destination address on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# destination • Destination address is the remote node’s MPLS-TE router ID. • Destination addressisthe merge point between backup and protected tunnels. 192.168.92.125 When you configure TE tunnel with multiple protection on its path and merge point is the same node for more than one protection, you must configure record-route for that tunnel. Note Step 15 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 167 Implementing MPLS Traffic Engineering Protecting MPLS Tunnels with Fast RerouteCommand or Action Purpose ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays the backup tunnel information. show mpls traffic-eng tunnels backup Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 16 tunnels backup (Optional) Displays the tunnel protection information for Fast-Reroute (FRR). show mpls traffic-eng tunnels protection frr Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 17 tunnels protection frr (Optional) Displays the protected tunnel state (for example, the tunnel’s current ready or active state). show mpls traffic-eng fast-reroute database Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 18 fast-reroute database Related Topics Fast Reroute, on page 130 Fast Reroute Node Protection, on page 135 Creating an MPLS-TE Tunnel, on page 158 Configuring Forwarding over the MPLS-TE Tunnel, on page 161 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 168 OL-26056-02 Implementing MPLS Traffic Engineering Protecting MPLS Tunnels with Fast RerouteEnabling an AutoTunnel Backup Perform this task to configure the AutoTunnel Backup feature. By default, this feature is disabled. You can configure the AutoTunnel Backup feature for each interface. It has to be explicitly enabled for each interface or link. SUMMARY STEPS 1. configure 2. ipv4 unnumbered mpls traffic-eng Loopback 0 3. mpls traffic-eng 4. auto-tunnel backup timers removal unused frequency 5. auto-tunnel backup tunnel-id min minmax max 6. Use one of these commands: • end • commit 7. show mpls traffic-eng auto-tunnel backup summary DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures the globally configured IPv4 address that can be used by the AutoTunnel Backup Tunnels. ipv4 unnumbered mpls traffic-eng Loopback 0 Step 2 Example: RP/0/RSP0/CPU0:router(config)#ipv4 unnumbered mpls traffic-eng Loopback 0 Loopback 0 isthe router ID. The AutoTunnel Backup tunnels will not come up until a global IPv4 address is configured. Note mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 3 Configures how frequently a timerscansthe backup automatic tunnels and removes tunnels that are not in use. auto-tunnel backup timers removal unused frequency Step 4 Example: RP/0/RSP0/CPU0:router(config-mpls-te)# auto-tunnel backup timers removal unused 20 • Use the frequency argument to scan the backup automatic tunnel. Range is 0 to 10080. You can also configure the auto-tunnel backup command at mpls traffic-eng interface mode. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 169 Implementing MPLS Traffic Engineering Enabling an AutoTunnel BackupCommand or Action Purpose Configures the range of tunnel interface numbers to be used for automatic backup tunnels. Range is 0 to 65535. auto-tunnel backup tunnel-id min minmax max Example: RP/0/RSP0/CPU0:router(config-mpls-te)# auto-tunnel backup tunnel-id min 6000 max 6500 Step 5 Step 6 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mpls traffic-eng auto-tunnel backup Displaysinformation about configured MPLS-TE backup autotunnels. summary Step 7 Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng auto-tunnel backup summary Related Topics Backup AutoTunnels, on page 123 Configure the MPLS-TE Auto-Tunnel Backup: Example, on page 269 Removing an AutoTunnel Backup To remove all the backup autotunnels, perform this task to remove the AutoTunnel Backup feature. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 170 OL-26056-02 Implementing MPLS Traffic Engineering Removing an AutoTunnel BackupSUMMARY STEPS 1. clear mpls traffic-eng auto-tunnel backup unused { all | tunnel-tenumber} 2. Use one of these commands: • end • commit 3. show mpls traffic-eng auto-tunnel summary DETAILED STEPS Command or Action Purpose Clears all MPLS-TE automatic backup tunnelsfrom the EXEC mode. You can also remove the automatic backup tunnel marked with specific tunnel-te, provided it is currently unused. clear mpls traffic-eng auto-tunnel backup unused { all | tunnel-tenumber} Example: RP/0/RSP0/CPU0:router# clear mpls traffic-eng auto-tunnel backup unused all Step 1 Step 2 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays information about MPLS-TE autotunnels including the ones removed. show mpls traffic-eng auto-tunnel summary Example: Step 3 RP/0/RSP0/CPU0:router# show mpls traffic-eng auto-tunnel summary Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 171 Implementing MPLS Traffic Engineering Removing an AutoTunnel BackupRelated Topics Backup AutoTunnels, on page 123 Configure the MPLS-TE Auto-Tunnel Backup: Example, on page 269 Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPs To establish an MPLS backup autotunnel to protect fast reroutable TE LSPs, perform these steps: SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. auto-tunnel backup 5. attribute-set attribute-set-name 6. Use one of these commands: • end • commit 7. show mpls traffic-eng auto-tunnel backup summary DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enables traffic engineering on a specific interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 Enables an auto-tunnel backup feature for the specified interface. auto-tunnel backup Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# auto-tunnel backup Step 4 You cannot configure the static backup on the similar link. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 172 OL-26056-02 Implementing MPLS Traffic Engineering Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPsCommand or Action Purpose Configures attribute-set template for auto-tunnel backup tunnels. attribute-set attribute-set-name Example: RP/0/RSP0/CPU0:router(config-mpls-te-if-auto-backup)#attribute-set ab Step 5 Step 6 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, • commit Example: RP/0/RSP0/CPU0:router(config)# end commit them before exiting(yes/no/cancel)? or [cancel]: RP/0/RSP0/CPU0:router(config)# commit ? Entering yessaves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays information about configured MPLS-TE backup autotunnels. show mpls traffic-eng auto-tunnel backup summary Example: RP/0/RSP0/CPU0:router# show mpls traffic auto-tunnel backup summary Step 7 Related Topics Backup AutoTunnels, on page 123 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 173 Implementing MPLS Traffic Engineering Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPsConfigure the MPLS-TE Auto-Tunnel Backup: Example, on page 269 Establishing Next-Hop Tunnels with Link Protection To establish a next-hop tunnel and link protection on the primary tunnel, perform these steps: SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. auto-tunnel backup nhop-only 5. auto-tunnel backup exclude srlg [preferred] 6. attribute-set attribute-set-name 7. Use one of these commands: • end • commit 8. show mpls traffic-eng tunnels number detail DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enables traffic engineering on a specific interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 Enables the creation of dynamic NHOP backup tunnels. By default, both NHOP and NNHOP protection are enabled. auto-tunnel backup nhop-only Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# auto-tunnel backup nhop-only Step 4 Using this nhop-only option, only link protection is provided. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 174 OL-26056-02 Implementing MPLS Traffic Engineering Establishing Next-Hop Tunnels with Link ProtectionCommand or Action Purpose Enables the exclusion of SRLG values on a given link for the AutoTunnel backup associated with a given interface. auto-tunnel backup exclude srlg [preferred] Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# auto-tunnel backup exclude srlg preferred Step 5 The preferred option allowsthe AutoTunnel Backup tunnels to come up even if no path excluding all SRLG is found. Configures attribute-set template for auto-tunnel backup tunnels. attribute-set attribute-set-name Example: RP/0/RSP0/CPU0:router(config-mpls-te-if-auto-backup)#attribute-set ab Step 6 Step 7 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, • commit Example: RP/0/RSP0/CPU0:router(config)# end commit them before exiting(yes/no/cancel)? or [cancel]: RP/0/RSP0/CPU0:router(config)# commit ? Entering yessaves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 175 Implementing MPLS Traffic Engineering Establishing Next-Hop Tunnels with Link ProtectionCommand or Action Purpose Displays information about configured NHOP tunnels and SRLG information. show mpls traffic-eng tunnels number detail Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels 1 detail Step 8 Related Topics Backup AutoTunnels, on page 123 Configure the MPLS-TE Auto-Tunnel Backup: Example, on page 269 Configuring a Prestandard DS-TE Tunnel Perform this task to configure a Prestandard DS-TE tunnel. Before You Begin The following prerequisites are required to configure a Prestandard DS-TE tunnel: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. SUMMARY STEPS 1. configure 2. rsvp interface type interface-path-id 3. bandwidth [total reservable bandwidth] [bc0 bandwidth] [global-pool bandwidth] [sub-pool reservable-bw] 4. exit 5. exit 6. interface tunnel-te tunnel-id 7. signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} 8. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 176 OL-26056-02 Implementing MPLS Traffic Engineering Configuring a Prestandard DS-TE TunnelDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp interface type interface-path-id Enters RSVP configuration mode and selects an RSVP interface. Example: RP/0/RSP0/CPU0:router(config)# rsvp interface Step 2 pos0/6/0/0 Sets the reserved RSVP bandwidth available on this interface by using the prestandard DS-TE mode. The range for the totalreserve bandwidth argument is 0 to 4294967295. bandwidth [total reservable bandwidth] [bc0 bandwidth] [global-pool bandwidth] [sub-pool reservable-bw] Step 3 Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Physical interface bandwidth is not used by MPLS-TE. bandwidth 100 150 sub-pool 50 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# exit Step 4 RP/0/RSP0/CPU0:router(config-rsvp)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp)# exit Step 5 RP/0/RSP0/CPU0:router(config)# interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 6 tunnel-te 2 Sets the bandwidth required on this interface. Because the default tunnel priority is 7, tunnels use the default TE class map (namely, class-type 1, priority 7). signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} Example: RP/0/RSP0/CPU0:router(config-if)# Step 7 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 177 Implementing MPLS Traffic Engineering Configuring a Prestandard DS-TE TunnelCommand or Action Purpose signalled-bandwidth sub-pool 10 Step 8 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Prestandard DS-TE Mode, on page 127 Configure IETF DS-TE Tunnels: Example, on page 261 Configuring an IETF DS-TE Tunnel Using RDM Perform this task to create an IETF mode DS-TE tunnel using RDM. Before You Begin The following prerequisites are required to create an IETF mode DS-TE tunnel using RDM: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 178 OL-26056-02 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using RDMSUMMARY STEPS 1. configure 2. rsvp interface type interface-path-id 3. bandwidth rdm {total-reservable-bw | bc0 | global-pool} {sub-pool | bc1 reservable-bw} 4. exit 5. exit 6. mpls traffic-eng 7. ds-te mode ietf 8. exit 9. interface tunnel-te tunnel-id 10. signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} 11. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 rsvp interface type interface-path-id Enters RSVP configuration mode and selects an RSVP interface. Example: RP/0/RSP0/CPU0:router(config)# rsvp interface Step 2 pos0/6/0/0 Sets the reserved RSVP bandwidth available on this interface by using the Russian Doll Model (RDM) bandwidth constraints bandwidth rdm {total-reservable-bw | bc0 | global-pool} {sub-pool | bc1 reservable-bw} Step 3 model. The range for the total reserve bandwidth argument is 0 to 4294967295. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Physical interface bandwidth is not used by MPLS-TE. Note bandwidth rdm 100 150 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# exit Step 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 179 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using RDMCommand or Action Purpose RP/0/RSP0/CPU0:router(config-rsvp) exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp) exit Step 5 RP/0/RSP0/CPU0:router(config) mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 6 traffic-eng RP/0/RSP0/CPU0:router(config-mpls-te)# Enables IETF DS-TE mode and default TE class map. IETF DS-TE mode is configured on all network nodes. ds-te mode ietf Example: RP/0/RSP0/CPU0:router(config-mpls-te)# ds-te Step 7 mode ietf exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 8 interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 9 tunnel-te 4 RP/0/RSP0/CPU0:router(config-if)# Configures the bandwidth required for an MPLS TE tunnel. Because the default tunnel priority is 7, tunnels use the default TE class map (namely, class-type 1, priority 7). signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} Example: RP/0/RSP0/CPU0:router(config-if)# Step 10 signalled-bandwidth 10 class-type 1 Step 11 Use one of these commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 180 OL-26056-02 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using RDMCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Russian Doll Bandwidth Constraint Model, on page 128 Configuring an IETF DS-TE Tunnel Using MAM Perform this task to configure an IETF mode differentiated services traffic engineering tunnel using the Maximum Allocation Model (MAM) bandwidth constraint model. Before You Begin The following prerequisites are required to configure an IETF mode differentiated servicestraffic engineering tunnel using the MAM bandwidth constraint model: • You must have a router ID for the neighboring router. • Stable router ID is required at either end of the link to ensure that the link is successful. If you do not assign a router ID to the routers, the system defaultsto the global router ID. Default router IDs are subject to change, which can result in an unstable link. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 181 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using MAMSUMMARY STEPS 1. configure 2. rsvp interface type interface-path-id 3. bandwidth mam {total reservable bandwidth | max-reservable-bw maximum-reservable-bw} [bc0 reservable bandwidth] [bc1 reservable bandwidth] 4. exit 5. exit 6. mpls traffic-eng 7. ds-te mode ietf 8. ds-te bc-model mam 9. exit 10. interface tunnel-te tunnel-id 11. signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} 12. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters RSVP configuration mode and selects the RSVP interface. rsvp interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config)# rsvp interface Step 2 pos0/6/0/0 bandwidth mam {total reservable bandwidth | Setsthe reserved RSVP bandwidth available on thisinterface. max-reservable-bw maximum-reservable-bw} [bc0 reservable bandwidth] [bc1 reservable bandwidth] Step 3 Physical interface bandwidth is not used by MPLS-TE. Note Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# bandwidth mam max-reservable-bw 400 bc0 300 bc1 200 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 182 OL-26056-02 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using MAMCommand or Action Purpose exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# exit Step 4 RP/0/RSP0/CPU0:router(config-rsvp)# exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-rsvp)# exit Step 5 RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 6 RP/0/RSP0/CPU0:router(config-mpls-te)# Enables IETF DS-TE mode and default TE class map. Configure IETF DS-TE mode on all nodes in the network. ds-te mode ietf Example: RP/0/RSP0/CPU0:router(config-mpls-te)# ds-te Step 7 mode ietf ds-te bc-model mam Enables the MAM bandwidth constraint model globally. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# ds-te Step 8 bc-model mam exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 9 interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 10 tunnel-te 4 RP/0/RSP0/CPU0:router(config-if)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 183 Implementing MPLS Traffic Engineering Configuring an IETF DS-TE Tunnel Using MAMCommand or Action Purpose Configures the bandwidth required for an MPLS TE tunnel. Because the default tunnel priority is 7, tunnels use the default TE class map (namely, class-type 1, priority 7). signalled-bandwidth {bandwidth [class-type ct] | sub-pool bandwidth} Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# Step 11 signalled-bandwidth 10 class-type 1 Step 12 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-rsvp-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration or session, and returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-rsvp-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Maximum Allocation Bandwidth Constraint Model, on page 128 Configuring MPLS -TE and Fast-Reroute on OSPF Perform this task to configure MPLS-TE and Fast Reroute (FRR) on OSPF. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 184 OL-26056-02 Implementing MPLS Traffic Engineering Configuring MPLS -TE and Fast-Reroute on OSPFBefore You Begin Only point-to-point (P2P) interfaces are supported for OSPF multiple adjacencies. These may be either native P2P interfaces or broadcast interfaces on which the OSPF P2P configuration command is applied to force them to behave as P2P interfaces as far as OSPF is concerned. This restriction does not apply to IS-IS. The tunnel-te interface is not supported under IS-IS. Note SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. path-option [protecting ] preference-priority {dynamic [pce [address ipv4 address] | explicit {name pathname | identifier path-number } } [isis instance name {level level} ] [ospf instance name {area area ID} ] ] [verbatim] [lockdown] 4. Repeat Step 3 as many times as needed. 5. Use one of these commands: • end • commit 6. show mpls traffic-eng tunnels [tunnel-number] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures an MPLS-TE tunnel interface. The range for the tunnel ID number is 0 to 65535. interface tunnel-te tunnel-id Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-te 1 RP/0/RSP0/CPU0:router(config-if)# Configures an explicit path option for an MPLS-TE tunnel. OSPF is limited to a single OSPF instance and area. path-option [protecting ] preference-priority {dynamic [pce [address ipv4 address] | explicit {name pathname | identifier path-number } } [isis instance name {level Step 3 level} ] [ospf instance name {area area ID} ] ] [verbatim] [lockdown] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 185 Implementing MPLS Traffic Engineering Configuring MPLS -TE and Fast-Reroute on OSPFCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-if)# path-option 1 explicit identifier 6 ospf green area 0 Repeat Step 3 as many times as needed. Configures another explicit path option. Example: RP/0/RSP0/CPU0:router(config-if)# path-option Step 4 2 explicit name 234 ospf 3 area 7 verbatim Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mpls traffic-eng tunnels [tunnel-number] Displays information about MPLS-TE tunnels. Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 6 tunnels 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 186 OL-26056-02 Implementing MPLS Traffic Engineering Configuring MPLS -TE and Fast-Reroute on OSPFConfiguring the Ignore Integrated IS-IS Overload Bit Setting in MPLS-TE Perform this task to configure an overload node avoidance in MPLS-TE. When the overload bit is enabled, tunnels are brought down when the overload node is found in the tunnel path. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. path-selection ignore overload {head | mid | tail} 4. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng RP/0/RSP0/CPU0:router(config-mpls-te)# Ignoresthe Intermediate System-to-Intermediate System (IS-IS) overload bit setting for MPLS-TE. path-selection ignore overload {head | mid | tail} Step 3 Example: RP/0/RSP0/CPU0:router(config-mpls-te)# If set-overload-bit is set by IS-IS on the head router, the tunnels stay up. path-selection ignore overload head Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 187 Implementing MPLS Traffic Engineering Configuring the Ignore Integrated IS-IS Overload Bit Setting in MPLS-TECommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-mpls-te)# ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. end or RP/0/RSP0/CPU0:router(config-mpls-te)# ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. commit • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Ignore Intermediate System-to-Intermediate System Overload Bit Setting in MPLS-TE, on page 131 Configure the Ignore IS-IS Overload Bit Setting in MPLS-TE: Example, on page 262 Configuring Flexible Name-based Tunnel Constraints To fully configure MPLS-TE flexible name-based tunnel constraints, you must complete these high-level tasks in order: 1 Assigning Color Names to Numeric Values, on page 188 2 Associating Affinity-Names with TE Links, on page 190 3 Associating Affinity Constraints for TE Tunnels, on page 192 Assigning Color Names to Numeric Values The first task in enabling the new coloring scheme is to assign a numerical value (in hexadecimal) to each value (color). An affinity color name cannot exceed 64 characters. An affinity value cannot exceed a single digit. For example, magenta1. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 188 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Flexible Name-based Tunnel ConstraintsSUMMARY STEPS 1. configure 2. mpls traffic-eng 3. affinity-map affinity name {affinity value | bit-position value} 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng RP/0/RSP0/CPU0:router(config-mpls-te)# Enters an affinity name and a map value by using a color name (repeat this command to assign multiple colors up to a maximum of 64 colors). affinity-map affinity name {affinity value | bit-position value} Step 3 An affinity color name cannot exceed 64 characters. The value you assign to a color name must be a single digit. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# affinity-map red 1 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-mpls-te)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 189 Implementing MPLS Traffic Engineering Configuring Flexible Name-based Tunnel ConstraintsCommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Flexible Name-based Tunnel Constraints, on page 132 Configure Flexible Name-based Tunnel Constraints: Example, on page 263 Associating Affinity-Names with TE Links The next step in the configuration of MPLS-TE Flexible Name-based Tunnel Constraints is to assign affinity names and values to TE links. You can assign up to a maximum of 32 colors. Before you assign a color to a link, you must define the name-to-value mapping for each color. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. attribute-names attribute name 5. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 190 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Flexible Name-based Tunnel ConstraintsCommand or Action Purpose mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng RP/0/RSP0/CPU0:router(config-mpls-te)# Enables MPLS-TE on an interface and enters MPLS-TE interface configuration mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# Step 3 interface tunnel-te 2 RP/0/RSP0/CPU0:router(config-mpls-te-if)# attribute-names attribute name Assigns colors to TE links over the selected interface. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# Step 4 attribute-names red Step 5 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-mpls-te-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 191 Implementing MPLS Traffic Engineering Configuring Flexible Name-based Tunnel ConstraintsRelated Topics Flexible Name-based Tunnel Constraints, on page 132 Configure Flexible Name-based Tunnel Constraints: Example, on page 263 Assigning Color Names to Numeric Values, on page 188 Associating Affinity Constraints for TE Tunnels The final step in the configuration of MPLS-TE Flexible Name-based Tunnel Constraints requires that you associate a tunnel with affinity constraints. Using this model, there are no masks. Instead, there is support for four types of affinity constraints: • include • include-strict • exclude • exclude-all Note For the affinity constraints above, all but the exclude-all constraint may be associated with up to 10 colors. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. affinity {affinity-value mask mask-value | exclude name | exclude -all | include name | include-strict name} 4. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 192 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Flexible Name-based Tunnel ConstraintsCommand or Action Purpose interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# Step 2 interface tunnel-te 1 Configures link attributes for links comprising a tunnel. You can have up to ten colors. affinity {affinity-value mask mask-value | exclude name | exclude -all | include name | include-strict name} Step 3 Multiple include statements can be specified under tunnel configuration. With this configuration, a link is eligible for CSPF if it has at least a red Example: RP/0/RSP0/CPU0:router(config-if)# color or has at least a green color. Thus, a link with red and any other colors as well as a link with green and any additional colors meet the above affinity include red constraint. Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Flexible Name-based Tunnel Constraints, on page 132 Configure Flexible Name-based Tunnel Constraints: Example, on page 263 Configuring IS-IS to Flood MPLS-TE Link Information Perform this task to configure a router running the Intermediate System-to-Intermediate System (IS-IS) protocol to flood MPLS-TE link information into multiple IS-IS levels. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 193 Implementing MPLS Traffic Engineering Configuring IS-IS to Flood MPLS-TE Link InformationThis procedure shows how to enable MPLS-TE in both IS-IS Level 1 and Level 2. SUMMARY STEPS 1. configure 2. router isis instance-id 3. net network-entity-title 4. address-family {ipv4 | ipv6} {unicast} 5. metric-style wide 6. mpls traffic-eng level 7. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 router isis instance-id Enters an IS-IS instance. Example: RP/0/RSP0/CPU0:router(config)# router isis Step 2 1 net network-entity-title Enters an IS-IS network entity title (NET) for the routing process. Example: RP/0/RSP0/CPU0:router(config-isis)# net Step 3 47.0001.0000.0000.0002.00 Enters address family configuration mode for configuring IS-IS routing that uses IPv4 and IPv6 address prefixes. address-family {ipv4 | ipv6} {unicast} Example: RP/0/RSP0/CPU0:router(config-isis)# Step 4 address-family ipv4 unicast Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 194 OL-26056-02 Implementing MPLS Traffic Engineering Configuring IS-IS to Flood MPLS-TE Link InformationCommand or Action Purpose metric-style wide Enters the new-style type, length, and value (TLV) objects. Example: RP/0/RSP0/CPU0:router(config-isis-af)# Step 5 metric-style wide mpls traffic-eng level Enters the required MPLS-TE level or levels. Example: RP/0/RSP0/CPU0:router(config-isis-af)# mpls Step 6 traffic-eng level-1-2 Step 7 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-isis-af)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-isis-af)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuring an OSPF Area of MPLS-TE Perform this task to configure an OSPF area for MPLS-TE in both the OSPF backbone area 0 and area 1. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 195 Implementing MPLS Traffic Engineering Configuring an OSPF Area of MPLS-TESUMMARY STEPS 1. configure 2. router ospf process-name 3. mpls traffic-eng router-id type interface-path-id 4. area area-id 5. interface type interface-path-id 6. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 router ospf process-name Enters a name that uniquely identifies an OSPF routing process. Example: RP/0/RSP0/CPU0:router(config)# router Step 2 process-name Any alphanumeric string no longer than 40 characters without spaces. ospf 100 Entersthe MPLS interface type. For more information, use the question mark (?) online help function. mplstraffic-eng router-id type interface-path-id Example: RP/0/RSP0/CPU0:router(config-ospf)# mpls Step 3 traffic-eng router-id Loopback0 area area-id Enters an OSPF area identifier. Example: RP/0/RSP0/CPU0:router(config-ospf)# area Step 4 area-id Either a decimal value or an IP address. 0 Identifies an interface ID. For more information, use the question mark (?) online help function. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# Step 5 interface POS 0/2/0/0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 196 OL-26056-02 Implementing MPLS Traffic Engineering Configuring an OSPF Area of MPLS-TECommand or Action Purpose Step 6 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-ospf-ar)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-ospf-ar)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuring Explicit Paths with ABRs Configured as Loose Addresses Perform this task to specify an IPv4 explicit path with ABRs configured as loose addresses. SUMMARY STEPS 1. configure 2. explicit-path name name 3. index index-id next-address [loose] ipv4 unicast ip-address 4. Use one of the following commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 197 Implementing MPLS Traffic Engineering Configuring Explicit Paths with ABRs Configured as Loose AddressesDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 explicit-path name name Enters a name for the explicit path. Example: RP/0/RSP0/CPU0:router(config)# Step 2 explicit-path name interarea1 index index-id next-address [loose] ipv4 unicast Includes an address in an IP explicit path of a tunnel. ip-address Step 3 Example: RP/0/RSP0/CPU0:router(config-expl-path)# index 1 next-address loose ipv4 unicast 10.10.10.10 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-expl-path)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-expl-path)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 198 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Explicit Paths with ABRs Configured as Loose AddressesConfiguring MPLS-TE Forwarding Adjacency Perform this task to configure forwarding adjacency on a specific tunnel-te interface. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. forwarding-adjacency holdtime value 4. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-te tunnel-id Enters MPLS-TE interface configuration mode. Example: RP/0/RSP0/CPU0:router(config)# Step 2 interface tunnel-te 1 Configures forwarding adjacency using an optional specific holdtime value. By default, this value is 0 (milliseconds). forwarding-adjacency holdtime value Example: RP/0/RSP0/CPU0:router(config-if)# Step 3 forwarding-adjacency holdtime 60 Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 199 Implementing MPLS Traffic Engineering Configuring MPLS-TE Forwarding AdjacencyCommand or Action Purpose or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics MPLS-TE Forwarding Adjacency Benefits, on page 136 Configure Forwarding Adjacency: Example, on page 265 Configuring a Path Computation Client and Element Perform these tasks to configure Path Comptation Client (PCC) and Path Computation Element (PCE): • Configuring a Path Computation Client, on page 200 • Configuring a Path Computation Element Address, on page 202 • Configuring PCE Parameters, on page 203 Configuring a Path Computation Client Perform this task to configure a TE tunnel as a PCC. Note Only one TE-enabled IGP instance can be used at a time. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. path-option preference-priority dynamic pce 4. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 200 OL-26056-02 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters MPLS-TE interface configuration mode and enables traffic engineering on a particular interface on the originating node. interface tunnel-te tunnel-id Example: RP/0/RSP0/CPU0:router(config)# Step 2 interface tunnel-te 6 path-option preference-priority dynamic pce Configures a TE tunnel as a PCC. Example: RP/0/RSP0/CPU0:router(config-if)# Step 3 path-option 1 dynamic pce Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Path Computation Element, on page 136 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 201 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementConfigure PCE: Example, on page 265 Configuring a Path Computation Element Address Perform this task to configure a PCE address. Note Only one TE-enabled IGP instance can be used at a time. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. pce address ipv4 address 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters the MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng pce address ipv4 address Configures a PCE IPv4 address. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# Step 3 pce address ipv4 10.1.1.1 Step 4 Use one of the following commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 202 OL-26056-02 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-mpls-te)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Path Computation Element, on page 136 Configure PCE: Example, on page 265 Configuring PCE Parameters Perform this task to configure PCE parameters, including a static PCE peer, periodic reoptimization timer values, and request timeout values. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 203 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementSUMMARY STEPS 1. configure 2. mpls traffic-eng 3. pce address ipv4 address 4. pce peer ipv4 address 5. pce keepalive interval 6. pce deadtimer value 7. pce reoptimize value 8. pce request-timeout value 9. pce tolerance keepalive value 10. Use one of the following commands: • end • commit 11. show mpls traffic-eng pce peer [address | all] 12. show mpls traffic-eng pce tunnels DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng pce address ipv4 address Configures a PCE IPv4 address. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 3 address ipv4 10.1.1.1 Configures a static PCE peer address. PCE peers are also discovered dynamically through OSPF or ISIS. pce peer ipv4 address Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 204 OL-26056-02 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementCommand or Action Purpose peer address ipv4 10.1.1.1 Configures a PCEP keepalive interval. The range is from 0 to 255 seconds. When the keepalive interval is 0, the LSR does not send keepalive messages. pce keepalive interval Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 5 keepalive 10 Configures a PCE deadtimer value. The range is from 0 to 255 seconds. When the dead interval is 0, the LSR does not timeout a PCEP session to a remote peer. pce deadtimer value Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 6 deadtimer 50 Configures a periodic reoptimization timer value. The range is from 60 to 604800 seconds. When the dead interval is 0, the LSR does not timeout a PCEP session to a remote peer. pce reoptimize value Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 7 reoptimize 200 Configures a PCE request-timeout. Range isfrom 5 to 100 seconds. PCC or PCE keeps a pending path request only for the request-timeout period. pce request-timeout value Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 8 request-timeout 10 Configures a PCE tolerance keepalive value (which is the minimum acceptable peer proposed keepalive). pce tolerance keepalive value Example: RP/0/RSP0/CPU0:router(config-mpls-te)# pce Step 9 tolerance keepalive 10 Step 10 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-mpls-te)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 205 Implementing MPLS Traffic Engineering Configuring a Path Computation Client and ElementCommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mpls traffic-eng pce peer [address | all] Displays the PCE peer address and state. Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 11 pce peer show mpls traffic-eng pce tunnels Displays the status of the PCE tunnels. Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 12 pce tunnels Related Topics Path Computation Element, on page 136 Configure PCE: Example, on page 265 Configuring Path Protection on MPLS-TE These tasks show how to configure path protection on MPLS-TE: Enabling Path Protection for an Interface Perform this task to enable path protection for a given tunnel interface. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 206 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TESUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. path-protection 4. Use one of these commands: • end • commit 5. show mpls traffic-eng tunnels [tunnel-number] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures an MPLS-TE tunnel interface and enablestraffic engineering on a particular interface on the originating node. interface tunnel-te tunnel-id Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-te 6 path-protection Enables path protection on the tunnel-te interface. Example: RP/0/RSP0/CPU0:router(config-if)# Step 3 path-protection Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 207 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TECommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays information that path protection is enabled on the tunnel-te interface for tunnel number 6. show mplstraffic-eng tunnels[tunnel-number] Example: RP/0/RSP0/CPU0:router# show mpls Step 5 traffic-eng tunnels 6 Related Topics Path Protection, on page 138 Prerequisites for Path Protection, on page 138 Restrictions for Path Protection, on page 139 Configure Tunnels for Path Protection: Example, on page 266 Assigning a Dynamic Path Option to a Tunnel Perform this task to assign a secondary path option in case there is a link or node failure along a path and all interfaces in your network are not protected. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. path-option preference-priority dynamic 4. Use one of these commands: • end • commit 5. show mpls traffic-eng tunnels [tunnel-number] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 208 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TEDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures an MPLS-TE tunnel interface and enablestraffic engineering on a particular interface on the originating node. interface tunnel-te tunnel-id Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-te 6 path-option preference-priority dynamic Configures a secondary path option for an MPLS-TE tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# Step 3 path-option 10 dynamic Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays information about the secondary path option that on the tunnel-te interface for tunnel number 6. show mplstraffic-eng tunnels[tunnel-number] Example: RP/0/RSP0/CPU0:router# show mpls Step 5 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 209 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TECommand or Action Purpose traffic-eng tunnels 6 Related Topics Path Protection, on page 138 Prerequisites for Path Protection, on page 138 Restrictions for Path Protection, on page 139 Configure Tunnels for Path Protection: Example, on page 266 Forcing a Manual Switchover on a Path-Protected Tunnel Perform this task to force a manual switchover on a path-protected tunnel. SUMMARY STEPS 1. mpls traffic-eng path-protection switchover tunnel-te tunnel-ID DETAILED STEPS Command or Action Purpose Forces the path protection switchover of the Point-to-Point (P2P) tunnel on the tunnel-te interface. mplstraffic-eng path-protection switchover tunnel-te tunnel-ID Example: RP/0/RSP0/CPU0:router# mpls traffic-eng path-protection Step 1 switchover tunnel-te 6 Related Topics Path Protection, on page 138 Prerequisites for Path Protection, on page 138 Restrictions for Path Protection, on page 139 Configure Tunnels for Path Protection: Example, on page 266 Configuring the Delay the Tunnel Takes Before Reoptimization Perform this task to configure the time between when a path-protection switchover event is effected on a tunnel head to when a reoptimization is performed on that tunnel. This timer affects only the required reoptimization that is attempted due to a switchover and does not override the global reoptimization timer. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 210 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TESUMMARY STEPS 1. configure 2. mpls traffic-eng 3. reoptimize timers delay path-protection seconds 4. Use one of the following commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router# mpls traffic-eng Step 2 Adjusts the number of seconds that the tunnel takes before triggering reoptimization after switchover has happened. The restriction is that at least one dynamic path-option must be configured for a standby LSP to come up. The strict (explicit) path option is not supported for the standby LSP. Note reoptimize timers delay path-protection seconds Example: RP/0/RSP0/CPU0:router(config-mpls-te)# Step 3 reoptimize timers delay path-protection 180 Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-mpls-te)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 211 Implementing MPLS Traffic Engineering Configuring Path Protection on MPLS-TECommand or Action Purpose ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Path Protection, on page 138 Prerequisites for Path Protection, on page 138 Restrictions for Path Protection, on page 139 Configure Tunnels for Path Protection: Example, on page 266 Configuring the Automatic Bandwidth Perform these tasks to configure the automatic bandwidth: Configuring the Collection Frequency Perform thistask to configure the collection frequency. You can configure only one global collection frequency. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. auto-bw collect frequency minutes 4. Use one of the following commands: • end • commit 5. show mpls traffic-eng tunnels [auto-bw] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 212 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls Step 2 traffic-eng RP/0/RSP0/CPU0:router(config-mpls-te)# Configures the automatic bandwidth collection frequency, and controls the manner in which the bandwidth for a tunnel collects output rate information; but does not adjust the tunnel bandwidth. auto-bw collect frequency minutes Example: RP/0/RSP0/CPU0:router(config-mpls-te)# Step 3 minutes auto-bw collect frequency 1 Configuresthe interval between automatic bandwidth adjustments in minutes. Range is from 1 to 10080. Step 4 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mpls-te)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns or the router to EXEC mode. RP/0/RSP0/CPU0:router(config-mpls-te)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 213 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthCommand or Action Purpose Displays information about MPLS-TE tunnels for the automatic bandwidth. The globally configured collection frequency is displayed. show mpls traffic-eng tunnels [auto-bw] Example: RP/0/RSP0/CPU0:router# show mpls traffic Step 5 tunnels auto-bw Related Topics MPLS-TE Automatic Bandwidth Overview, on page 139 Configure Automatic Bandwidth: Example, on page 267 Forcing the Current Application Period to Expire Immediately Perform this task to force the current application period to expire immediately on the specified tunnel. The highest bandwidth is applied on the tunnel before waiting for the application period to end on its own. SUMMARY STEPS 1. mpls traffic-eng auto-bw apply {all | tunnel-te tunnel-number} 2. show mpls traffic-eng tunnels [auto-bw] DETAILED STEPS Command or Action Purpose Configures the highest bandwidth available on a tunnel without waiting for the current application period to end. mpls traffic-eng auto-bw apply {all | tunnel-te tunnel-number} Example: RP/0/RSP0/CPU0:router# mpls traffic-eng Step 1 all Configures the highest bandwidth available instantly on all the tunnels. auto-bw apply tunnel-te 1 tunnel-te Configures the highest bandwidth instantly to the specified tunnel. Range is from 0 to 65535. Displays information about MPLS-TE tunnels for the automatic bandwidth. show mpls traffic-eng tunnels [auto-bw] Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 2 tunnels auto-bw Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 214 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthConfiguring the Automatic Bandwidth Functions Perform this task to configure the following automatic bandwidth functions: Application frequency Configuresthe application frequency in which a tunnel bandwidth is updated by the automatic bandwidth. Bandwidth collection Configures only the bandwidth collection. Bandwidth parameters Configures the minimum and maximum automatic bandwidth to set on a tunnel. Adjustment threshold Configures the adjustment threshold for each tunnel. Overflow detection Configures the overflow detection for each tunnel. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. auto-bw 4. application minutes 5. bw-limit {min bandwidth } {max bandwidth} 6. adjustment-threshold percentage [min minimum-bandwidth] 7. overflow threshold percentage [min bandwidth] limit limit 8. Use one of the following commands: • end • commit 9. show mpls traffic-eng tunnels [auto-bw] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 215 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures an MPLS-TE tunnel interface and enables traffic engineering on a particular interface on the originating node. interface tunnel-te tunnel-id Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-te 6 RP/0/RSP0/CPU0:router(config-if)# Configures automatic bandwidth on a tunnel interface and enters MPLS-TE automatic bandwidth interface configuration mode. auto-bw Example: RP/0/RSP0/CPU0:router(config-if)# auto-bw Step 3 RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# Configures the application frequency in minutes for the applicable tunnel. application minutes Example: RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# Step 4 minutes Frequency in minutes for the automatic bandwidth application. Range is from 5 to 10080 (7 days). The default value is 1440 (24 hours). application 1000 Configures the minimum and maximum automatic bandwidth set on a tunnel. bw-limit {min bandwidth } {max bandwidth} Example: RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# Step 5 min Applies the minimum automatic bandwidth in kbps on a tunnel. Range is from 0 to 4294967295. bw-limit min 30 max 80 max Applies the maximum automatic bandwidth in kbps on a tunnel. Range is from 0 to 4294967295. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 216 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthCommand or Action Purpose Configures the tunnel bandwidth change threshold to trigger an adjustment. adjustment-threshold percentage [min minimum-bandwidth] Example: RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# Step 6 percentage Bandwidth change percent threshold to trigger an adjustment if the largest sample percentage is higher or lower than the current tunnel bandwidth. Range is from 1 to 100 percent. The default value is 5 percent. adjustment-threshold 50 min 800 min Configures the bandwidth change value to trigger an adjustment. The tunnel bandwidth is changed only if the largest sample is higher or lower than the current tunnel bandwidth. Range is from 10 to 4294967295 kilobits per second (kbps). The default value is 10 kbps. overflow threshold percentage [min bandwidth] limit Configures the tunnel overflow detection. limit Step 7 percentage Example: RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# Bandwidth change percent to trigger an overflow. Range is from 1 to 100 percent. overflow threshold 100 limit 1 limit Configures the number of consecutive collection intervals that exceeds the threshold. The bandwidth overflow triggers an early tunnel bandwidth update. Range is from 1 to 10 collection periods. The default value is none. min Configures the bandwidth change value in kbps to trigger an overflow. Range is from 10 to 4294967295. The default value is 10. Step 8 Use one of the following commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and or returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-if-tunte-autobw)# commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 217 Implementing MPLS Traffic Engineering Configuring the Automatic BandwidthCommand or Action Purpose ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays the MPLS-TE tunnel information only for tunnels in which the automatic bandwidth is enabled. show mpls traffic-eng tunnels [auto-bw] Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 9 tunnels auto-bw Related Topics MPLS-TE Automatic Bandwidth Overview, on page 139 Configure Automatic Bandwidth: Example, on page 267 Configuring the Shared Risk Link Groups To activate the MPLS traffic engineering SRLG feature, you must configure the SRLG value of each link that has a shared risk with another link. Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link Perform this task to configure the SRLG value for each link that has a shared risk with another link. Note You can configure up to 30 SRLGs per interface. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 218 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsSUMMARY STEPS 1. configure 2. srlg 3. interface type interface-path-id 4. value value 5. Use one of these commands: • end • commit 6. show srlg interface type interface-path-id 7. show srlg DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Configures SRLG configuration commands on a specific interface configuration mode and assigns this SRLG a value. srlg Example: RP/0/RSP0/CPU0:router(config)# srlg Step 2 Configures an interface type and path ID to be associated with an SRLG and enters SRLG interface configuration mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-srlg)# interface POS 0/6/0/0 Step 3 Configures SRLG network values for a specific interface. Range is 0 to 4294967295. value value Example: RP/0/RSP0/CPU0:router(config-srlg-if)# value 100 Step 4 You can also set SRLG values on multiple interfacesincluding bundle interface. Note RP/0/RSP0/CPU0:router (config-srlg-if)# value 200 RP/0/RSP0/CPU0:router(config-srlg-if)# value 300 Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 219 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. or RP/0/RSP0/CPU0:router(config)# commit ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show srlg interface type interface-path-id (Optional) Displaysthe SRLG values configured for a specific interface. Example: RP/0/RSP0/CPU0:router# show srlg interface POS 0/6/0/0 Step 6 Step 7 show srlg (Optional) Displays the SRLG values for all the configured interfaces. Example: RP/0/RSP0/CPU0:router# show srlg You can configure up to 250 interfaces. Note Related Topics MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Delivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Creating an Explicit Path With Exclude SRLG Perform this task to create an explicit path with the exclude SRLG option. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 220 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsSUMMARY STEPS 1. configure 2. explicit-path {identifier number [disable | index]}{ name explicit-path-name} 3. index 1 exclude-address 192.168.92.1 4. index 2 exclude-srlg 192.168.92.2 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters the explicit path configuration mode. Identifer range is 1 to 65535. explicit-path {identifier number [disable | index]}{ name explicit-path-name} Example: RP/0/RSP0/CPU0:router(config)# explicit-path name backup-srlg Step 2 index 1 exclude-address 192.168.92.1 Specifies the IP address to be excluded from the explicit path. Example: RP/0/RSP0/CPU0:router router(config-expl-path)# index 1 exclude-address 192.168.92.1 Step 3 Specifies the IP address to extract SRLGs to be excluded from the explicit path. index 2 exclude-srlg 192.168.92.2 Example: RP/0/RSP0/CPU0:router(config-expl-path)# index 2 exclude-srlg 192.168.192.2 Step 4 Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 221 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Delivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Using Explicit Path With Exclude SRLG Perform this task to use an explicit path with the exclude SRLG option on the static backup tunnel. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 222 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsSUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. backup-path tunnel-te tunnel-number 5. exit 6. exit 7. interface tunnel-tetunnel-id 8. ipv4 unnumbered type interface-path-id 9. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} 10. destination ip-address 11. exit 12. Use one of these commands: • end • commit 13. show run explicit-path name name 14. show mpls traffic-eng topology path destination name explicit-path name DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enables traffic engineering on a specific interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 backup-path tunnel-te tunnel-number Configures an MPLS TE backup path for a specific interface. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# backup-path tunnel-te 2 Step 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 223 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Step 5 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 6 interface tunnel-tetunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-te 2 Step 7 ipv4 unnumbered type interface-path-id Assigns a source addressto set up forwarding on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 unnumbered Loopback0 Step 8 Sets the path option to explicit with a given name (previously configured) and assigns the path ID. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} Step 9 Example: RP/0/RSP0/CPU0:router(config-if)# path-option l explicit name backup-srlg You can use the dynamic option to dynamically assign a path. Note Step 10 destination ip-address Assigns a destination address on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# destination 192.168.92.125 • Destination addressisthe remote node’s MPLS-TE router ID. • Destination address is the merge point between backup and protected tunnels. When you configure TE tunnel with multiple protection on its path and merge point is the same node for more than one protection, you must configure record-route for that tunnel. Note exit Exits the current configuration mode. Example: Step 11 RP/0/RSP0/CPU0:router(config-if)# exit Step 12 Use one of these commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 224 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. show run explicit-path name name Displays the SRLG values that are configured for the link. Example: RP/0/RSP0/CPU0:router# show run explicit-path name backup-srlg Step 13 show mpls traffic-eng topology path destination Displays the SRLG values that are configured for the link. name explicit-path name Step 14 Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng topology path destination 192.168.92.125 explicit-path backup-srlg Related Topics MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Delivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 225 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCreating a Link Protection on Backup Tunnel with SRLG Constraint Perform this task to create an explicit path with the exclude SRLG option on the static backup tunnel. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. backup-path tunnel-te tunnel-number 5. exit 6. exit 7. interface tunnel-tetunnel-id 8. ipv4 unnumbered type interface-path-id 9. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} 10. destination ip-address 11. exit 12. explicit-path {identifier number [disable | index]}{ name explicit-path-name} 13. index 1 exclude-srlg 192.168.92.2 14. Use one of these commands: • end • commit 15. show mpls traffic-eng tunnelstunnel-number detail DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enables traffic engineering on a particular interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 226 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose backup-path tunnel-te tunnel-number Sets the backup path to the primary tunnel outgoing interface. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# backup-path tunnel-te 2 Step 4 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Step 5 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 6 interface tunnel-tetunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-te 2 Step 7 ipv4 unnumbered type interface-path-id Assigns a source addressto set up forwarding on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 unnumbered Loopback0 Step 8 Sets the path option to explicit with a given name (previously configured) and assigns the path ID. Identifier range is from 1 to 4294967295. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} Example: RP/0/RSP0/CPU0:router(config-if)# path-option 1 explicit name backup-srlg Step 9 You can use the dynamic option to dynamically assign a path. Note Step 10 destination ip-address Assigns a destination address on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# destination 192.168.92.125 • Destination address is the remote node’s MPLS-TE router ID. • Destination address is the merge point between backup and protected tunnels. When you configure TE tunnel with multiple protection on its path and merge point is the same node for more than one protection, you must configure record-route for that tunnel. Note exit Exits the current configuration mode. Example: Step 11 RP/0/RSP0/CPU0:router(config-if)# exit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 227 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose Enters the explicit path configuration mode. Identifer range is 1 to 65535. explicit-path {identifier number [disable | index]}{ name explicit-path-name} Example: RP/0/RSP0/CPU0:router(config)# explicit-path name backup-srlg-nodep Step 12 Specifies the protected link IP address to get SRLGs to be excluded from the explicit path. index 1 exclude-srlg 192.168.92.2 Example: RP/0/RSP0/CPU0:router:router(config-if)# index 1 exclude-srlg 192.168.192.2 Step 13 Step 14 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Display the tunnel details with SRLG valuesthat are configured for the link. show mplstraffic-eng tunnelstunnel-number detail Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels 2 detail Step 15 Related Topics MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 228 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsDelivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Creating a Node Protection on Backup Tunnel with SRLG Constraint Perform this task to configure node protection on backup tunnel with SRLG constraint. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. backup-path tunnel-te tunnel-number 5. exit 6. exit 7. interface tunnel-tetunnel-id 8. ipv4 unnumbered type interface-path-id 9. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} 10. destination ip-address 11. exit 12. explicit-path {identifier number [disable | index]}{ name explicit-path-name} 13. index 1 exclude-address 192.168.92.1 14. index 2 exclude-srlg 192.168.92.2 15. Use one of these commands: • end • commit 16. show mpls traffic-eng tunnels topology path destination ip-address explicit-path-name name DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 229 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose Enables traffic engineering on a particular interface on the originating node. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 backup-path tunnel-te tunnel-number Sets the backup path for the primary tunnel outgoing interface. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# backup-path tunnel-te 2 Step 4 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# exit Step 5 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# exit Step 6 interface tunnel-tetunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-te 2 Step 7 Assigns a source address to set up forwarding on the new tunnel. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 unnumbered Loopback0 Step 8 Sets the path option to explicit with a given name (previously configured) and assigns the path ID. Identifier range is 1 to 4294967295. path-option preference-priority{ dynamic | explicit {identifier | name explicit-path-name}} Example: RP/0/RSP0/CPU0:router(config-if)# path-option 1 explicit name backup-srlg Step 9 You can use the dynamic option to dynamically assign path. Note Step 10 destination ip-address Assigns a destination address on the new tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# destination 192.168.92.125 • Destination addressisthe remote node’s MPLS-TE router ID. • Destination address is the merge point between backup and protected tunnels. When you configure TE tunnel with multiple protection on its path and merge point is the same node for more than one protection, you must configure record-route for that tunnel. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 230 OL-26056-02 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if)# exit Step 11 Enters the explicit path configuration mode. Identifer range is 1 to 65535. explicit-path {identifier number [disable | index]}{ name explicit-path-name} Example: RP/0/RSP0/CPU0:router(config)# explicit-path name backup-srlg-nodep Step 12 Specifies the protected node IP address to be excluded from the explicit path. index 1 exclude-address 192.168.92.1 Example: RP/0/RSP0/CPU0:router:router(config-if)# index 1 exclude-address 192.168.92.1 Step 13 Specifies the protected link IP address to get SRLGs to be excluded from the explicit path. index 2 exclude-srlg 192.168.92.2 Example: RP/0/RSP0/CPU0:router(config-if)# index 2 exclude-srlg 192.168.192.2 Step 14 Step 15 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 231 Implementing MPLS Traffic Engineering Configuring the Shared Risk Link GroupsCommand or Action Purpose Displaysthe path to the destination with the constraintspecified in the explicit path. show mpls traffic-eng tunnels topology path destination ip-address explicit-path-name name Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels topology path destination Step 16 192.168.92.125 explicit-path-name backup-srlg-nodep Related Topics MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Delivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Shared Risk Link Groups: Example, on page 267 Configuring Point-to-Multipoint TE You must enable multicast routing on the edge router before performing Point-to-Multipoint (P2MP) TE configurations. To configure Point-to-Multipoint TE, perform these procedures: Enabling Multicast Routing on the Router Perform this task to enable multicast routing on the router to configure P2MP tunnels. Before You Begin • To configure Point-to-Multipoint (P2MP) tunnels, you must enable multicast routing on the router. • The customer-facing interface must enable multicast. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 232 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TESUMMARY STEPS 1. configure 2. multicast-routing 3. address-family {ipv4 | ipv6 } 4. interface tunnel-mte tunnel-id 5. enable 6. exit 7. interface type interface-path-id 8. enable 9. Use one of these commands: • end • commit 10. show pim ipv6 interface type interface-path-id DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 multicast-routing Enters multicast routing configuration mode. Example: RP/0/RSP0/CPU0:router(config)# multicast-routing Step 2 RP/0/RSP0/CPU0:router(config-mcast)# Configures the available IPv4 or IPv6 address prefixes to enable multicast routing and forwarding on all router interfaces. address-family {ipv4 | ipv6 } Example: RP/0/RSP0/CPU0:router(config-mcast)# address-family Step 3 ipv6 RP/0/RSP0/CPU0:router(config-mcast-default-ipv6)# interface tunnel-mte tunnel-id Configures an MPLS-TE P2MP tunnel interface. Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6)# Step 4 interface tunnel-mte 1 RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 233 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose enable Enables multicast routing on the tunnel-mte interface. Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# Step 5 enable exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# Step 6 exit RP/0/RSP0/CPU0:router(config-mcast-default-ipv6)# Configures multicast routing on the GigabitEthernet interface. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6)# Step 7 interface GigabitEthernet0/2/0/3 RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# Enables multicast routing on the GigabitEthernet interface. enable Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# Step 8 enable Step 9 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# ? Entering yes saves configuration changes to end the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-mcast-default-ipv6-if)# ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. commit ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 234 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays the output for the P2MP-TE tunnel interface that has IPv6 multicast enabled. show pim ipv6 interface type interface-path-id Example: RP/0/RSP0/CPU0:router# show pim ipv6 interface Step 10 tunnel-mte 1 Related Topics Configuring the Static Group for the Point-to-Multipoint Interface, on page 235 Configuring the Static Group for the Point-to-Multipoint Interface Perform thistask to configure the static group on the Point-to-Multipoint (P2MP) interface to forward specified multicast traffic over P2MP LSP. SUMMARY STEPS 1. configure 2. router mld 3. vrf vrf-name 4. interface tunnel-mte tunnel-id 5. static-group group-address 6. Use one of these commands: • end • commit 7. show mrib ipv6 route source-address DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 235 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose router mld Enters router MLD configuration mode. Example: RP/0/RSP0/CPU0:router(config)# router mld Step 2 RP/0/RSP0/CPU0:router(config-mld)# vrf vrf-name Configures a virtual private network (VRF) instance. Example: RP/0/RSP0/CPU0:router(config-mld)#vrf default Step 3 RP/0/RSP0/CPU0:router(config-mld-default)# interface tunnel-mte tunnel-id Configures an MPLS-TE P2MP tunnel interface. Example: RP/0/RSP0/CPU0:router(config-mld-default)#interface Step 4 tunnel-mte 1 RP/0/RSP0/CPU0:router(config-mld-default-if)# Configures the multicast group address in the Source-Specific Multicast (SSM) addressrange (ff35::/16) for the IPv6 address prefix. static-group group-address Example: RP/0/RSP0/CPU0:router(config-mld-default-if)# Step 5 static-group ff35::1 2000::1 Step 6 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-mld-default-if)# end ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-mld-default-if)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 236 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mrib ipv6 route source-address Verifies the multicast static mapping. Example: RP/0/RSP0/CPU0:router# show mrib ipv6 route ff35::1 Step 7 Related Topics Enabling Multicast Routing on the Router, on page 232 Configuring Destinations for the Tunnel Interface Perform this task to configure three destinations for the tunnel interface for Point-to-Multipoint (P2MP). These variations are listed to ensure that the destination and path option configurations are separate from the tunnel interface. • Different path option is used for different destinations. This task shows three destinations. • Explicit path option is based on an ID or a name. • Default path option is similar to the Point-to-Point (P2P) LSP. Before You Begin These prerequisites are required to configure destinations for the tunnel interface. • Multicast routing must be enabled on both the tunnel-mte interface and customer-facing interface from the source. • Static-group must be configured on the tunnel-mte interface to forward specified multicast traffic over P2MP LSP. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 237 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TESUMMARY STEPS 1. configure 2. interface tunnel-mte tunnel-id 3. destination ip-address 4. path-option preference-priority explicit identifier path-number 5. path-option preference-priority dynamic 6. exit 7. destination ip-address 8. path-option preference-priority explicit name pathname 9. path-option preference-priority dynamic 10. exit 11. destination ip-address 12. path-option preference-priority explicit name pathname [verbatim] 13. Use one of these commands: • end • commit 14. show mpls traffic-eng tunnels [brief] [p2mp tunnel-number] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-mte tunnel-id Configures an MPLS-TE P2MP tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-mte 10 RP/0/RSP0/CPU0:router(config-if)# Sets the destination address for tunnel-mte 10 to 172.16.255.1. This destination usesthe explicit path identified destination ip-address Example: RP/0/RSP0/CPU0:router(config-if)# destination Step 3 by explicit path ID 10. If destination 172.16.255.1 cannot come with explicit path ID 10, the fall back path option is dynamic. 172.16.255.1 RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 238 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose path-option preference-priority explicit identifier Configures the path number of the IP explicit path. path-number Step 4 Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# path-option 1 explicit identifier 10 Specifies that label switched paths (LSP) are dynamically calculated. path-option preference-priority dynamic Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 5 path-option 2 dynamic exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# exit Step 6 RP/0/RSP0/CPU0:router(config-if)# Sets the destination address for tunnel-mte 10 to 172.16.255.2. destination ip-address Example: RP/0/RSP0/CPU0:router(config-if)# destination Step 7 172.16.255.2 RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Specifies the path name of the IP explicit path. Destination 172.16.255.2 uses the explicit path that is identified by the explicit path name "how-to-get-to-172.16.255.2." path-option preference-priority explicit name pathname Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 8 path-option 1 explicit name how-to-get-to-172.16.255.2 Setsthe fall back path option as dynamic when the destination cannot come to the explicit path. path-option preference-priority dynamic Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 9 path-option 2 dynamic exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# exit Step 10 RP/0/RSP0/CPU0:router(config-if)# Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 239 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose Specifies that destination 172.16.255.3 uses only the dynamically computed path. destination ip-address Example: RP/0/RSP0/CPU0:router(config-if)# destination Step 11 172.16.255.3 RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Specifiesthat destination 172.16.255.3 usesthe explicit path identified by the explicit path name "how-to-get-to-172.16.255.3" in verbatim mode. path-option preference-priority explicit name pathname [verbatim] Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 12 path-option 1 explicit name how-to-get-to-172.16.255.3 verbatim Step 13 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# ? Entering no exits the configuration session and returns the router to EXEC mode without commit committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Displays the brief summary of the P2MP tunnel status and configuration. show mpls traffic-eng tunnels [brief] [p2mp tunnel-number] Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 14 tunnels brief p2mp 10 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 240 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TERelated Topics Enabling Multicast Routing on the Router, on page 232 Configuring the Static Group for the Point-to-Multipoint Interface, on page 235 Disabling Destinations Perform this task to disable the given destination for the Point-to-Multipoint (P2MP) tunnel interface. SUMMARY STEPS 1. configure 2. interface tunnel-mte tunnel-id 3. ipv4 unnumbered type interface-path-id 4. destination ip-address 5. disable 6. path-option preference-priority dynamic 7. path-option preference-priority explicit name pathname 8. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-mte tunnel-id Configures an MPLS-TE P2MP tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-mte Step 2 101 RP/0/RSP0/CPU0:router(config-if)# Assigns a source address so that forwarding can be performed on the new tunnel. Loopback is commonly used as the interface type. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 unnumbered Step 3 Loopback0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 241 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose Sets the destination address for tunnel-mte 10 to 140.140.140.140. destination ip-address Example: RP/0/RSP0/CPU0:router(config-if)# destination Step 4 140.140.140.140 RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Disables destination 140.140.140.140 for tunnel-mte 10. disable Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)#disable Step 5 Specifies that label switched paths (LSP) are dynamically calculated. path-option preference-priority dynamic Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)#path-option Step 6 1 dynamic Specifies that destination 140.140.140.140 uses the explicit path identified by the explicit path name "to4." path-option preference-priority explicit name pathname Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)#path-option Step 7 2 explicit name to4 Step 8 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# end ? Entering yessaves configuration changesto the running configuration file, exits the or RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# commit configuration session, and returnsthe router to EXEC mode. ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 242 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Logging Per Destinations for Point-to-Multipoint Perform this task to log destinations for Point-to-Multipoint (P2MP). SUMMARY STEPS 1. configure 2. interface tunnel-mte tunnel-id 3. ipv4 unnumbered type interface-path-id 4. destination ip-address 5. logging events lsp-status state 6. logging events lsp-status reroute 7. path-option preference-priority explicit name pathname 8. exit 9. fast-reroute 10. Use one of these commands: • end • commit 11. show mpls traffic-eng tunnels [p2mp] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface tunnel-mte tunnel-id Configures an MPLS-TE P2MP tunnel interface. Example: RP/0/RSP0/CPU0:router(config)# interface Step 2 tunnel-mte 1000 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 243 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose RP/0/RSP0/CPU0:router(config-if)# Configures the MPLS-TE tunnel to use the IPv4 address on loopback interface 0. ipv4 unnumbered type interface-path-id Example: RP/0/RSP0/CPU0:router(config-if)# ipv4 Step 3 unnumbered loopback0 Sets the destination address for tunnel-mte from 1000 to 100.0.0.3. destination ip-address Example: RP/0/RSP0/CPU0:router(config-if)# destination Step 4 100.0.0.3 RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Sends out the log message when the tunnel LSP goes up or down when the software is enabled. logging events lsp-status state Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 5 logging events lsp-status state Sends out the log message when the tunnel LSP is rerouted due to an FRR event when the software is enabled. logging events lsp-status reroute Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 6 logging events lsp-status reroute Specifies the path name of the IP explicit path. Destination 100.0.0.3 uses the explicit path that is identified by the explicit path name "path123." path-option preference-priority explicit name pathname Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 7 path-option 1 explicit name path123 exit Exits the current configuration mode. Example: RP/0/RSP0/CPU0:router(config-if-p2mp-dest)# Step 8 exit RP/0/RSP0/CPU0:router(config-if)# fast-reroute Enables fast-reroute (FRR) protection for a P2MP TE tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# fast-reroute Step 9 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 244 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Point-to-Multipoint TECommand or Action Purpose Step 10 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration or session, and returns the router to EXEC mode. RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show mpls traffic-eng tunnels [p2mp] Displays the information for all P2MP tunnels. Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng Step 11 tunnels p2mp Enabling Soft-Preemption on a Node Perform this task to enable the soft-preemption feature in the MPLS TE configuration mode. By default, this feature is disabled. You can configure the soft-preemption feature for each node. It hasto be explicitly enabled for each node. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 245 Implementing MPLS Traffic Engineering Enabling Soft-Preemption on a NodeSUMMARY STEPS 1. configure 2. mpls traffic-eng 3. soft-preemption 4. timeout seconds 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Step 3 soft-preemption Enables soft-preemption on a node. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# soft-preemption If soft-preemption is enabled, the head-end node tracks whether an LSP desires the soft-preemption treatment. However, when a soft-preemption feature is disabled on a node, this node continues to track all LSPs desiring soft-preemption. This is needed in a case when soft-preemption is re-enabled, TE will have the property of the existing LSPs without any re-signaling. Note Specifies the timeout for the soft-preempted LSP, in seconds. The range is from 1 to 300. timeout seconds Example: RP/0/RSP0/CPU0:router(config-soft-preemption)# timeout 20 Step 4 Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 246 OL-26056-02 Implementing MPLS Traffic Engineering Enabling Soft-Preemption on a NodeCommand or Action Purpose ? Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Soft-Preemption, on page 151 Enabling Soft-Preemption on a Tunnel Perform this task to enable the soft-preemption feature on a MPLS TE tunnel. By default, this feature is disabled. It has to be explicitly enabled. SUMMARY STEPS 1. configure 2. interface tunnel-te tunnel-id 3. soft-preemption 4. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 247 Implementing MPLS Traffic Engineering Enabling Soft-Preemption on a TunnelCommand or Action Purpose interface tunnel-te tunnel-id Configures an MPLS-TE tunnel interface. Example: RP/0/RSP0/CPU0:router# interface tunnel-te 10 Step 2 Step 3 soft-preemption Enables soft-preemption on a tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# soft-preemption When soft preemption is enabled on a tunnel, these actions occur: • A path-modify message issent for the current LSP with the soft preemption desired property. • A path-modify message is sent for the reopt LSP with the soft preemption desired property. • A path-modify message is sent for the path protection LSP with the soft preemption desired property. • A path-modify message is sent for the current LSP in FRR active state with the soft preemption desired property. The soft-preemption is not available in the interface tunnel-mte and interface tunnel-gte configuration modes. Note Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC or mode. RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Soft-Preemption, on page 151 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 248 OL-26056-02 Implementing MPLS Traffic Engineering Enabling Soft-Preemption on a TunnelConfiguring Attributes within a Path-Option Attribute Perform this task to configure attributes within a path option attribute-set template. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. attribute-set path-option attribute-set-name 4. affinity affinity-value mask mask-value 5. signalled-bandwidth kbps class-type class-type number 6. Use one of these commands: • end • commit 7. show mpls traffic-eng attribute-set 8. show mpls traffic-eng tunnelsdetail DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Step 3 attribute-set path-option attribute-set-name Enters attribute-set path option configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# attribute-set path-option myset The configuration at the path-option level takes precedence over the values configured at the level of the tunnel, and therefore is applied. Note Configures affinity attribute under a path option attribute-set. The attribute values that are required for links to carry this tunnel. affinity affinity-value mask mask-value Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# affinity 0xBEEF mask 0xBEEF Step 4 Configures the bandwidth attribute required for an MPLS-TE tunnel under a path option attribute-set. signalled-bandwidth kbps class-type class-type number Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# signalled-bandwidth 1000 class-type 0 Step 5 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 249 Implementing MPLS Traffic Engineering Configuring Attributes within a Path-Option AttributeCommand or Action Purpose You can configure the class type of the tunnel bandwidth request. The class-type 0 is strictly equivalent to global-pool and class-type 1 is strictly equivalent to subpool. Note Step 6 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Displays the attributes that are defined in the attribute-set for the link. show mpls traffic-eng attribute-set Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng attribute-set Step 7 Displays the attribute-set path option information on a specific tunnel. show mpls traffic-eng tunnelsdetail Example: RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels detail Step 8 Related Topics Path Option Attributes, on page 151 Configuration Hierarchy of Path Option Attributes, on page 152 Traffic Engineering Bandwidth and Bandwidth Pools, on page 152 Path Option Switchover, on page 153 Path Option and Path Protection, on page 153 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 250 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Attributes within a Path-Option AttributeConfiguring Auto-Tunnel Mesh Tunnel ID Perform this activity to configure the tunnel ID range that can be allocated to Auto-tunnel mesh tunnels. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. auto-tunnel mesh 4. tunnel-id min value max value 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enters auto-tunnel mesh configuration mode. You can configure auto-tunnel mesh related options from this mode. auto-tunnel mesh Example: RP/0/RSP0/CPU0:router(config-mpls-te)# auto-tunnel mesh Step 3 Specifies the minimum and maximum number of auto-tunnel mesh tunnels that can be created on this router. The range of tunnel ID is from 0 to 65535. tunnel-id min value max value Example: RP/0/RSP0/CPU0:router(config-te-auto-mesh)# tunnel-id min 10 max 50 Step 4 Step 5 Use one of these commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 251 Implementing MPLS Traffic Engineering Configuring Auto-Tunnel Mesh Tunnel IDCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Related Topics Auto-Tunnel Mesh, on page 154 Destination List (Prefix-List), on page 154 Configuring Auto-tunnel Mesh Unused Timeout Perform this task to configure a global timer to remove unused auto-mesh tunnels. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. auto-tunnel mesh 4. timer removal unused timeout 5. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 252 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Auto-tunnel Mesh Unused TimeoutDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 auto-tunnel mesh Enables auto-tunnel mesh groups globally. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# auto-tunnel mesh Step 3 Specifies a timer, in minutes, after which a down auto-tunnel mesh gets deleted whose destination was not in TE topology. The default value for this timer is 60. timer removal unused timeout Example: RP/0/RSP0/CPU0:router(config-mpls-te-auto-mesh)# timers removal unused 10 Step 4 The timer gets started when these conditions are met: • Tunnel destination node is removed from the topology • Tunnel is in down state The unused timer runs per tunnel because the same destination in different mesh-groups may have different tunnels created. Note Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 253 Implementing MPLS Traffic Engineering Configuring Auto-tunnel Mesh Unused TimeoutCommand or Action Purpose • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Auto-Tunnel Mesh, on page 154 Destination List (Prefix-List), on page 154 Configuring Auto-Tunnel Mesh Group Perform this task to configure an auto-tunnel mesh group globally on the router. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. auto-tunnel mesh 4. group value 5. disable 6. attribute-setname 7. destination-list 8. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 254 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Auto-Tunnel Mesh GroupCommand or Action Purpose auto-tunnel mesh Enables auto-tunnel mesh groups globally. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# auto-tunnel mesh Step 3 Specifiesthe membership of auto-tunnel mesh. The range is from 0 to 4294967295. group value Example: RP/0/RSP0/CPU0:router(config-mpls-te-auto-mesh)# group 65 Step 4 When the destination-list is not supplied, head-end will automatically build destination list belonging for the given mesh-group membership using TE topology. Note Disables the meshgroup and deletes all tunnels created for this meshgroup. disable Example: RP/0/RSP0/CPU0:router(config-mpls-te-auto-mesh-group)# disable Step 5 Specifies the attributes used for all tunnels created for the meshgroup. If it is not defined, this meshgroup does not create any tunnel. attribute-setname Example: RP/0/RSP0/CPU0:router(config-mpls-te-auto-mesh-group)# attribute-set am-65 Step 6 This is a mandatory configuration under a meshgroup. If a given destination-list is not defined as a prefix-list, destination-list Example: RP/0/RSP0/CPU0:router(config-mpls-te-auto-mesh-group)# destination-list dl-65 Step 7 this meshgroup create tunnels to all nodes available in TE topology. Step 8 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the or RP/0/RSP0/CPU0:router(config)# commit configuration session, and returns the router to EXEC mode. ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 255 Implementing MPLS Traffic Engineering Configuring Auto-Tunnel Mesh GroupCommand or Action Purpose • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Auto-Tunnel Mesh, on page 154 Destination List (Prefix-List), on page 154 Configuring Tunnel Attribute-Set Templates Perform this task to define attribute-set templates for auto-mesh tunnels. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. attribute-set auto-mesh attribute-set-name 4. affinity value mask mask-value 5. signalled-bandwidth kbps class-type class-type number 6. autoroute announce 7. fast-reroute protect bandwidth node 8. auto-bw collect-bw-only 9. logging events lsp-status {state | insufficient-bandwidth | reoptimize | reroute } 10. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 256 OL-26056-02 Implementing MPLS Traffic Engineering Configuring Tunnel Attribute-Set TemplatesCommand or Action Purpose mpls traffic-eng Enters MPLS-TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 attribute-set auto-mesh attribute-set-name Specifies name of the attribute-set of auto-mesh type. Example: RP/0/RSP0/CPU0:router(config-te)# attribute-set auto-mesh attribute-set-mesh Step 3 Configures the affinity properties the tunnel requires in its links for an MPLS-TE tunnel under an auto-mesh attribute-set. affinity value mask mask-value Example: RP/0/RSP0/CPU0:router(config-te)# affinity 0101 mask 320 Step 4 Configures the bandwidth attribute required for an MPLS-TE tunnel under an auto-mesh attribute-set. Because the default signalled-bandwidth kbps class-type class-type number Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# signalled-bandwidth 1000 class-type 0 Step 5 tunnel priority is 7, tunnels use the default TE class map (namely, class-type 0, priority 7). You can configure the class type of the tunnel bandwidth request. The class-type 0 is strictly equivalent to global-pool and class-type 1 is strictly equivalent to subpool. Note autoroute announce Enables parameters for IGP routing over tunnel. Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# autoroute announce Step 6 Enables fast-reroute bandwidth protection and node protection for auto-mesh tunnels. fast-reroute protect bandwidth node Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# fast-reroute Step 7 Enables automatic bandwidth collection frequency, and controls the manner in which the bandwidth for a tunnel collects output rate information, but does not adjust the tunnel bandwidth. auto-bw collect-bw-only Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# auto-bw collect-bw-only Step 8 Sends out the log message when the tunnel LSP goes up or down when the software is enabled. logging events lsp-status {state | insufficient-bandwidth | reoptimize | reroute } Step 9 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 257 Implementing MPLS Traffic Engineering Configuring Tunnel Attribute-Set TemplatesCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-te-attribute-set)# logging events lsp-status state Sends out the log message when the tunnel LSP undergoessetup or reoptimize failure due to bandwidth issues. Sends out the log message for the LSP reoptimize change alarms. Sends out the log message for the LSP reroute change alarms. Step 10 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Auto-Tunnel Mesh, on page 154 Destination List (Prefix-List), on page 154 Enabling LDP on Auto-Tunnel Mesh Perform this task to enable LDP on auto-tunnel mesh group. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 258 OL-26056-02 Implementing MPLS Traffic Engineering Enabling LDP on Auto-Tunnel MeshSUMMARY STEPS 1. configure 2. mpls ldp 3. traffic-eng auto-tunnel mesh 4. groupidall 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls ldp Enters MPLS LDP configuration mode. Example: RP/0/RSP0/CPU0:router(config-ldp)# mpls ldp Step 2 Enters auto-tunnel mesh configuration mode. You can configure TE auto-tunnel mesh groups from this mode. traffic-eng auto-tunnel mesh Example: RP/0/RSP0/CPU0:router(config-ldp-te-auto-mesh)# traffic-eng auto-tunnel mesh Step 3 Configures an auto-tunnel mesh group of interfacesin LDP. You can enable LDP on all TE meshgroup interfaces or you can groupidall Example: RP/0/RSP0/CPU0:router(config-ldp-te-auto-mesh)# group all Step 4 specify the TE mesh group ID on which the LDP is enabled. The range of group ID is from 0 to 4294967295. Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 259 Implementing MPLS Traffic Engineering Enabling LDP on Auto-Tunnel MeshCommand or Action Purpose or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Related Topics Auto-Tunnel Mesh, on page 154 Destination List (Prefix-List), on page 154 Configuration Examples for Cisco MPLS-TE These configuration examples are used for MPLS-TE: Build MPLS-TE Topology and Tunnels: Example The following examples show how to build an OSPF and IS-IS topology: (OSPF) ... configure mpls traffic-eng interface pos 0/6/0/0 router id loopback 0 router ospf 1 router-id 192.168.25.66 area 0 interface pos 0/6/0/0 interface loopback 0 mpls traffic-eng router-id loopback 0 mpls traffic-eng area 0 rsvp interface pos 0/6/0/0 bandwidth 100 commit show mpls traffic-eng topology show mpls traffic-eng link-management advertisement ! (IS-IS) ... configure mpls traffic-eng interface pos 0/6/0/0 router id loopback 0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 260 OL-26056-02 Implementing MPLS Traffic Engineering Configuration Examples for Cisco MPLS-TErouter isis lab address-family ipv4 unicast mpls traffic-eng level 2 mpls traffic-eng router-id Loopback 0 ! interface POS0/0/0/0 address-family ipv4 unicast ! The following example shows how to configure tunnel interfaces: interface tunnel-te1 destination 192.168.92.125 ipv4 unnumbered loopback 0 path-option l dynamic bandwidth 100 commit show mpls traffic-eng tunnels show ipv4 interface brief show mpls traffic-eng link-management admission-control ! interface tunnel-te1 autoroute announce route ipv4 192.168.12.52/32 tunnel-te1 commit ping 192.168.12.52 show mpls traffic autoroute ! interface tunnel-te1 fast-reroute mpls traffic-eng interface pos 0/6/0/0 backup-path tunnel-te 2 interface tunnel-te2 backup-bw global-pool 5000 ipv4 unnumbered loopback 0 path-option l explicit name backup-path destination 192.168.92.125 commit show mpls traffic-eng tunnels backup show mpls traffic-eng fast-reroute database ! rsvp interface pos 0/6/0/0 bandwidth 100 150 sub-pool 50 interface tunnel-te1 bandwidth sub-pool 10 commit Related Topics Building MPLS-TE Topology, on page 155 Creating an MPLS-TE Tunnel, on page 158 How MPLS-TE Works, on page 121 Configure IETF DS-TE Tunnels: Example The following example shows how to configure DS-TE: rsvp interface pos 0/6/0/0 bandwidth rdm 100 150 bc1 50 mpls traffic-eng ds-te mode ietf interface tunnel-te 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 261 Implementing MPLS Traffic Engineering Configure IETF DS-TE Tunnels: Examplebandwidth 10 class-type 1 commit configure rsvp interface 0/6/0/0 bandwidth mam max-reservable-bw 400 bc0 300 bc1 200 mpls traffic-eng ds-te mode ietf ds-te model mam interface tunnel-te 1bandwidth 10 class-type 1 commit Related Topics Configuring a Prestandard DS-TE Tunnel, on page 176 Prestandard DS-TE Mode, on page 127 Configure MPLS-TE and Fast-Reroute on OSPF: Example CSPF areas are configured on a per-path-option basis. The following example shows how to use the traffic-engineering tunnels (tunnel-te) interface and the active path for the MPLS-TE tunnel: configure interface tunnel-te 0 path-option 1 explicit id 6 ospf 126 area 0 path-option 2 explicit name 234 ospf 3 area 7 verbatim path-option 3 dynamic isis mtbf level 1 lockdown commit Configure the Ignore IS-IS Overload Bit Setting in MPLS-TE: Example This example shows how to configure the IS-IS overload bit setting in MPLS-TE: This figure illustrates the IS-IS overload bit scenario: Figure 18: IS-IS overload bit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 262 OL-26056-02 Implementing MPLS Traffic Engineering Configure MPLS-TE and Fast-Reroute on OSPF: ExampleConsider a MPLS TE topology in which usage of nodes that indicated an overload situation was restricted. In this topology, the router R7 exhibits overload situation and hence this node can not be used during TE CSPF. To overcome this limitation, the IS-IS overload bit avoidance (OLA) feature was introduced. This feature allows network administrators to prevent RSVP-TE label switched paths (LSPs) from being disabled when a router in that path has its Intermediate System-to-Intermediate System (IS-IS) overload bit set. The IS-IS overload bit avoidance feature is activated at router R1 using this command: mpls traffic-eng path-selection ignore overload configure mpls traffic-eng path-selection ignore overload commit Related Topics Configuring the Ignore Integrated IS-IS Overload Bit Setting in MPLS-TE, on page 187 Ignore Intermediate System-to-Intermediate System Overload Bit Setting in MPLS-TE, on page 131 Configure Flexible Name-based Tunnel Constraints: Example The following configuration shows the three-step process used to configure flexible name-based tunnel constraints. R2 line console exec-timeout 0 0 width 250 ! logging console debugging explicit-path name mypath index 1 next-address loose ipv4 unicast 3.3.3.3 ! explicit-path name ex_path1 index 10 next-address loose ipv4 unicast 2.2.2.2 index 20 next-address loose ipv4 unicast 3.3.3.3 ! interface Loopback0 ipv4 address 22.22.22.22 255.255.255.255 ! interface tunnel-te1 ipv4 unnumbered Loopback0 signalled-bandwidth 1000000 destination 3.3.3.3 affinity include green affinity include yellow affinity exclude white affinity exclude orange path-option 1 dynamic ! router isis 1 is-type level-1 net 47.0001.0000.0000.0001.00 nsf cisco address-family ipv4 unicast metric-style wide mpls traffic-eng level-1 mpls traffic-eng router-id Loopback0 ! interface Loopback0 passive address-family ipv4 unicast ! ! interface GigabitEthernet0/1/0/0 address-family ipv4 unicast Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 263 Implementing MPLS Traffic Engineering Configure Flexible Name-based Tunnel Constraints: Example! ! interface GigabitEthernet0/1/0/1 address-family ipv4 unicast ! ! interface GigabitEthernet0/1/0/2 address-family ipv4 unicast ! ! interface GigabitEthernet0/1/0/3 address-family ipv4 unicast ! ! ! rsvp interface GigabitEthernet0/1/0/0 bandwidth 1000000 1000000 ! interface GigabitEthernet0/1/0/1 bandwidth 1000000 1000000 ! interface GigabitEthernet0/1/0/2 bandwidth 1000000 1000000 ! interface GigabitEthernet0/1/0/3 bandwidth 1000000 1000000 ! ! mpls traffic-eng interface GigabitEthernet0/1/0/0 attribute-names red purple ! interface GigabitEthernet0/1/0/1 attribute-names red orange ! interface GigabitEthernet0/1/0/2 attribute-names green purple ! interface GigabitEthernet0/1/0/3 attribute-names green orange ! affinity-map red 1 affinity-map blue 2 affinity-map black 80 affinity-map green 4 affinity-map white 40 affinity-map orange 20 affinity-map purple 10 affinity-map yellow 8 ! Related Topics Assigning Color Names to Numeric Values, on page 188 Associating Affinity-Names with TE Links, on page 190 Associating Affinity Constraints for TE Tunnels, on page 192 Flexible Name-based Tunnel Constraints, on page 132 Configure an Interarea Tunnel: Example The following configuration example shows how to configure a traffic engineering interarea tunnel. . Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 264 OL-26056-02 Implementing MPLS Traffic Engineering Configure an Interarea Tunnel: ExampleNote Specifying the tunnel tailend in the loosely routed path is optional. configure interface Tunnel-te1 ipv4 unnumbered Loopback0 destination 192.168.20.20 signalled-bandwidth 300 path-option 1 explicit name path-tunnel1 explicit-path name path-tunnel1 index 10 next-address loose ipv4 unicast 192.168.40.40 index 20 next-address loose ipv4 unicast 192.168.60.60 index 30 next-address loose ipv4 unicast 192.168.20.20 Generally for an interarea tunnel you should configure multiple loosely routed path options that specify different combinations of ABRs (for OSPF) or level-1-2 boundary routers (for IS-IS) to increase the likelihood that the tunnel issuccessfully signaled. In thissimple topology there are no other loosely routed paths. Note Configure Forwarding Adjacency: Example The following configuration example shows how to configure an MPLS-TE forwarding adjacency on tunnel-te 68 with a holdtime value of 60: configure interface tunnel-te 68 forwarding-adjacency holdtime 60 commit Related Topics Configuring MPLS-TE Forwarding Adjacency, on page 199 MPLS-TE Forwarding Adjacency Benefits, on page 136 Configure PCE: Example The following configuration example illustrates a PCE configuration: configure mpls traffic-eng interface pos 0/6/0/0 pce address ipv4 192.168.25.66 router id loopback 0 router ospf 1 router-id 192.168.25.66 area 0 interface pos 0/6/0/0 interface loopback 0 mpls traffic-eng router-id loopback 0 mpls traffic-eng area 0 rsvp interface pos 0/6/0/0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 265 Implementing MPLS Traffic Engineering Configure Forwarding Adjacency: Examplebandwidth 100 commit The following configuration example illustrates PCC configuration: configure interface tunnel-te 10 ipv4 unnumbered loopback 0 destination 1.2.3.4 path-option 1 dynamic pce mpls traffic-eng interface pos 0/6/0/0 router id loopback 0 router ospf 1 router-id 192.168.25.66 area 0 interface pos 0/6/0/0 interface loopback 0 mpls traffic-eng router-id loopback 0 mpls traffic-eng area 0 rsvp interface pos 0/6/0/0 bandwidth 100 commit Related Topics Configuring a Path Computation Client, on page 200 Configuring a Path Computation Element Address, on page 202 Configuring PCE Parameters, on page 203 Path Computation Element, on page 136 Configure Tunnels for Path Protection: Example The path protection feature is configured only on the source router. The dynamic path option is a prerequisite to configure a path protection. interface tunnel-te150 ipv4 unnumbered Loopback150 autoroute announce destination 151.151.151.151 affinity 11 mask 11 path-protection path-option 2 explicit name p2mp3-p2mp4-p2mp5_1 protected-by 10 path-option 10 dynamic Related Topics Enabling Path Protection for an Interface, on page 206 Assigning a Dynamic Path Option to a Tunnel, on page 208 Forcing a Manual Switchover on a Path-Protected Tunnel, on page 210 Configuring the Delay the Tunnel Takes Before Reoptimization, on page 210 Path Protection, on page 138 Prerequisites for Path Protection, on page 138 Restrictions for Path Protection, on page 139 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 266 OL-26056-02 Implementing MPLS Traffic Engineering Configure Tunnels for Path Protection: ExampleConfigure Automatic Bandwidth: Example The following configuration example illustrates an automatic bandwidth configuration: configure interface tunnel-te6 auto-bw bw-limit min 10000 max 500000 overflow threshold 50 min 1000 limit 3 adjustment-threshold 20 min 1000 application 180 Related Topics Configuring the Collection Frequency, on page 212 Configuring the Automatic Bandwidth Functions, on page 215 MPLS-TE Automatic Bandwidth Overview, on page 139 Configure the MPLS-TE Shared Risk Link Groups: Example The following configuration example shows how to specify the SRLG value of each link that has a shared risk with another link: config t srlg interface POS0/4/0/0 value 10 value 11 | interface POS0/4/0/1 value 10 | The following example shows the SRLG values configured on a specific link. RP/0/RSP0/CPU0:router# show mpls traffic-eng topology brief My_System_id: 100.0.0.2 (OSPF 0 area 0) My_System_id: 0000.0000.0002.00 (IS-IS 1 level-1) My_System_id: 0000.0000.0002.00 (IS-IS 1 level-2) My_BC_Model_Type: RDM Signalling error holddown: 10 sec Global Link Generation 389225 IGP Id: 0000.0000.0002.00, MPLS TE Id: 100.0.0.2 Router Node (IS-IS 1 level-1) IGP Id: 0000.0000.0002.00, MPLS TE Id: 100.0.0.2 Router Node (IS-IS 1 level-2) Link[1]:Broadcast, DR:0000.0000.0002.07, Nbr Node Id:21, gen:389193 Frag Id:0, Intf Address:51.2.3.2, Intf Id:0 Nbr Intf Address:51.2.3.2, Nbr Intf Id:0 TE Metric:10, IGP Metric:10, Attribute Flags:0x0 Attribute Names: SRLGs: 1, 4, 5 Switching Capability:, Encoding: BC Model ID:RDM Physical BW:1000000 (kbps), Max Reservable BW Global:10000 (kbps) Max Reservable BW Sub:10000 (kbps) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 267 Implementing MPLS Traffic Engineering Configure Automatic Bandwidth: ExampleThe following example shows the configured tunnels and associated SRLG values. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels Signalling Summary: LSP Tunnels Process: running RSVP Process: running Forwarding: enabled Periodic reoptimization: every 3600 seconds, next in 1363 seconds Periodic FRR Promotion: every 300 seconds, next in 181 seconds Auto-bw enabled tunnels: 0 (disabled) Name: tunnel-te1 Destination: 100.0.0.3 Status: Admin: up Oper: up Path: valid Signalling: recovered path option 1, type explicit path123 (Basis for Setup, path weight 2) OSPF 0 area 0 G-PID: 0x0800 (derived from egress interface properties) SRLGs excluded: 2,3,4,5 6,7,8,9 Bandwidth Requested: 0 kbps CT0 The following example shows all the interfaces associated with SRLG. RP/0/RSP0/CPU0:router# show mpls traffic-eng topo srlg My_System_id: 100.0.0.5 (OSPF 0 area 0) My_System_id: 0000.0000.0005.00 (IS-IS 1 level-2) My_System_id: 0000.0000.0005.00 (IS-IS ISIS-instance-123 level-2) SRLG Interface Addr TE Router ID IGP Area ID __________ ______________ ____________ _______________ 10 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 11 50.2.3.3 100.0.0.3 IS-IS 1 level-2 12 50.2.3.3 100.0.0.3 IS-IS 1 level-2 30 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 77 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 88 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 1500 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 10000000 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 4294967290 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 4294967295 50.4.5.5 100.0.0.5 IS-IS ISIS-instance-123 level-2 The following example shows the NHOP and NNHOP backup tunnels with excluded SRLG values. RP/0/RSP0/CPU0:router# show mpls traffic-eng topology path dest 100.0.0.5 exclude-srlg ipaddr Path Setup to 100.0.0.2: bw 0 (CT0), min_bw 0, metric: 30 setup_pri 7, hold_pri 7 affinity_bits 0x0, affinity_mask 0xffff Exclude SRLG Intf Addr : 50.4.5.5 SRLGs Excluded : 10, 30, 1500, 10000000, 4294967290, 4294967295 Hop0:50.5.1.5 Hop1:50.5.1.1 Hop2:50.1.3.1 Hop3:50.1.3.3 Hop4:50.2.3.3 Hop5:50.2.3.2 Hop6:100.0.0.2 The following example shows an extract of explicit-path set to protect a specific interface. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 268 OL-26056-02 Implementing MPLS Traffic Engineering Configure the MPLS-TE Shared Risk Link Groups: ExampleRP/0/RSP0/CPU0:router#sh mpls traffic-eng topology path dest 10.0.0.5 explicit-path name name Path Setup to 100.0.0.5: bw 0 (CT0), min_bw 9999, metric: 2 setup_pri 7, hold_pri 7 affinity_bits 0x0, affinity_mask 0xffff SRLGs Excluded: 10, 30, 77, 88, 1500, 10000000 4294967290, 4294967295 Hop0:50.3.4.3 Hop1:50.3.4.4 Hop2:50.4.5.4 Hop3:50.4.5.5 Hop4:100.0.0.5 Related Topics Configuring the SRLG Values of Each Link that has a Shared Risk with Another Link, on page 218 Creating an Explicit Path With Exclude SRLG, on page 220 Using Explicit Path With Exclude SRLG, on page 222 Creating a Link Protection on Backup Tunnel with SRLG Constraint, on page 226 Creating a Node Protection on Backup Tunnel with SRLG Constraint, on page 229 MPLS Traffic Engineering Shared Risk Link Groups, on page 146 Explicit Path, on page 147 Fast ReRoute with SRLG Constraints, on page 148 Importance of Protection, on page 149 Delivery of Packets During a Failure, on page 150 Multiple Backup Tunnels Protecting the Same Interface , on page 150 SRLG Limitations, on page 150 Configure the MPLS-TE Auto-Tunnel Backup: Example The following example shows the auto-tunnel backup configuration for core or edge routers. RP/0/RSP0/CPU0:router(config)# mpls traffic-eng auto-tunnel backup tunnel-id min 60000 max 61000 interface pos 0/1/0/0 auto-tunnel backup attribute-set ab The following example shows the protection (NNHOP and SRLG) that was set on the auto-tunnel backup. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels 1 Signalling Summary: LSP Tunnels Process: running RSVP Process: running Forwarding: enabled Periodic reoptimization: every 3600 seconds, next in 2524 seconds Periodic FRR Promotion: every 300 seconds, next in 49 seconds Auto-bw enabled tunnels: 1 Name: tunnel-te1 Destination: 200.0.0.3 (auto backup) Status: Admin: up Oper: up Path: valid Signalling: connected Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 269 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: Examplepath option 10, type explicit (autob_nnhop_srlg_tunnel1) (Basis for Setup, path weight 11) path option 20, type explicit (autob_nnhop_tunnel1) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Fri Jul 10 01:53:25.581 PST (1h 25m 17s ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Path Protection: Not Enabled Auto Backup: Protected LSPs: 4 Protected S2L Sharing Families: 0 Protected S2Ls: 0 Protected i/f: Gi0/1/0/0 Protected node: 20.0.0.2 Protection: NNHOP+SRLG Unused removal timeout: not running History: Tunnel has been up for: 00:00:08 Current LSP: Uptime: 00:00:08 Prior LSP: ID: path option 1 [545] Removal Trigger: configuration changed Path info (OSPF 0 area 0): Hop0: 10.0.0.2 Hop1: 100.0.0.2 Hop2: 100.0.0.3 Hop3: 200.0.0.3 The following example shows automatically created path options for this backup auto-tunnel. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels 1 detail Signalling Summary: LSP Tunnels Process: running RSVP Process: running Forwarding: enabled Periodic reoptimization: every 3600 seconds, next in 2524 seconds Periodic FRR Promotion: every 300 seconds, next in 49 seconds Auto-bw enabled tunnels: 1 Name: tunnel-te1 Destination: 200.0.0.3 (auto backup) Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit (autob_nnhop_srlg_tunnel1) (Basis for Setup, path weight 11) path option 20, type explicit (autob_nnhop_tunnel1) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Fri Jul 10 01:53:25.581 PST (1h 25m 17s ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Path Protection: Not Enabled Auto Backup (NNHOP+SRLG): Protected LSPs: 4 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 270 OL-26056-02 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExampleProtected S2L Sharing Families: 0 Protected S2Ls: 0 Protected i/f: Gi0/1/0/0 Protected node: 20.0.0.2 Protection: NNHOP+SRLG Unused removal timeout: not running Path Options Details: 10: Explicit Path Name: (autob_nnhop_srlg_te1) 1: exclude-srlg 50.0.0.1 2: exclude-address 50.0.0.2 3: exclude-node 20.0.0.2 20: Explicit Path Name: (autob_nnhop_te1) 1: exclude-address 50.0.0.1 2: exclude-address 50.0.0.2 3: exclude-node 20.0.0.2 History: Tunnel has been up for: 00:00:08 Current LSP: Uptime: 00:00:08 Prior LSP: ID: path option 1 [545] Removal Trigger: configuration changed Path info (OSPF 0 area 0): Hop0: 10.0.0.2 Hop1: 100.0.0.2 Hop2: 100.0.0.3 Hop3: 200.0.0.3 This example shows the automatically created backup tunnels. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels brief TUNNEL NAME DESTINATION STATUS STATE tunnel-te0 200.0.0.3 up up tunnel-te1 200.0.0.3 up up tunnel-te2 200.0.0.3 up up tunnel-te50 200.0.0.3 up up *tunnel-te60 200.0.0.3 up up *tunnel-te70 200.0.0.3 up up *tunnel-te80 200.0.0.3 up up RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels tabular Tunnel LSP Destination Source FRR LSP Path Name ID Address Address State State Role Prot ------------------ ------ --------------- --------------- ------- ------- ------ ----- tunnel-te0 549 200.0.0.3 200.0.0.1 up Inact Head InAct tunnel-te1 546 200.0.0.3 200.0.0.1 up Inact Head InAct tunnel-te2 6 200.0.0.3 200.0.0.1 up Inact Head InAct tunnel-te50 6 200.0.0.3 200.0.0.1 up Active Head InAct tunnel-te60 4 200.0.0.3 200.0.0.1 up Active Head InAct tunnel-te70 4 200.0.0.3 200.0.0.1 up Active Head InAct tunnel-te80 3 200.0.0.3 200.0.0.1 up Active Head InAct This example shows the auto-tunnel backup details. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels auto-tunnel backup detail Name: tunnel-te400 Destination: 1.1.1.1 (auto-tunnel backup) Status: Admin: up Oper: up Path: valid Signalling: connected path option 20, type explicit (autob_nnhop_te400) (Basis for Setup, path weight 2) path option 10, type explicit (autob_nnhop_srlg_te400) [disabled] G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Thu Aug 16 18:30:41 2012 (00:01:28 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) Metric Type: TE (default) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 271 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExampleHop-limit: disabled AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Path Protection: Not Enabled Soft Preemption: Disabled Auto Backup: Protected LSPs: 1 Protected S2L Sharing Families: 0 Protected S2L: 0 Protected i/f: Gi0/1/0/3 Protected node: 3.3.3.3 Attribute-set: ab1 Protection: NNHOP Unused removal timeout: not running Path Option Details: 10: Explicit Path Name: (autob_nnhop_srlg_te400) 1: exclude-srlg 34.9.0.4 2: exclude-address 34.9.0.3 3: exclude-node 3.3.3.3 20: Explicit Path Name: (autob_nnhop_te400) 1: exclude-address 34.9.0.4 2: exclude-address 34.9.0.3 3: exclude-node 3.3.3.3 SNMP Index: 221 History: Tunnel has been up for: 00:00:34 (since Thu Aug 16 18:31:35 EST 2012) Current LSP: Uptime: 00:00:34 (since Thu Aug 16 18:31:35 EST 2012) Current LSP Info: Instance: 2, Signaling Area: OSPF 100 area 1.2.3.4 Uptime: 00:00:34 (since Thu Aug 16 18:31:35 EST 2012) Outgoing Interface: GigabitEthernet0/1/0/2, Outgoing Label: 16000 Router-IDs: local 4.4.4.4 downstream 2.2.2.2 Soft Preemption: None Path Info: Outgoing: Explicit Route: Strict, 24.9.0.2 Strict, 12.9.1.1 Strict, 1.1.1.1 Record Route: Empty Tspec: avg rate=0 kbits, burst=1000 bytes, peak rate=0 kbits Session Attributes: Local Prot: Not Set, Node Prot: Not Set, BW Prot: Not Set Soft Preemption Desired: Not Set Resv Info: Record Route: IPv4 24.9.0.2, flags 0x0 IPv4 12.9.1.1, flags 0x0 Fspec: avg rate=0 kbits, burst=1000 bytes, peak rate=0 kbits Displayed 1 (of 104) heads, 0 (of 0) midpoints, 0 (of 201) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads This example shows the automatically created backup tunnels. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels auto-tunnel backup tabular Tunnel LSP Destination Source Tun FRR LSP Path Name ID Address Address State State Role Prot ----------------- ----- --------------- --------------- ------ ------ ---- ----- *tunnel-te400 2 1.1.1.1 4.4.4.4 up Inact Head Inact *tunnel-te401 2 3.3.3.3 4.4.4.4 up Inact Head Inact * = automatically created backup tunnel RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels auto-tunnel backup brief TUNNEL NAME DESTINATION STATUS STATE *tunnel-te400 1.1.1.1 up up *tunnel-te401 3.3.3.3 up up * = automatically created backup tunnel Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 272 OL-26056-02 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExampleDisplayed 2 (of 104) heads, 0 (of 0) midpoints, 0 (of 201) tails Displayed 2 up, 0 down, 0 recovering, 0 recovered heads This example shows the attribute-set for auto-backup tunnels. RP/0/RSP0/CPU0:router# show mpls traffic-eng attribute-set auto-backup Attribute Set Name: ab (Type: auto-backup) Number of affinity constraints: 2 Include bit map : 0x4 Include name : blue Exclude bit map : 0x2 Exclude name : red Priority: 7 7 (Default) Record-route: Enabled Policy-class: 1 Logging: reoptimize, state List of protected interfaces (count 1) POS0_3_0_1 List of tunnel IDs (count 1) 3000 This example shows the attribute-set for auto-mesh tunnels. RP/0/RSP0/CPU0:router# show mpls traffic-eng attribute-set auto-mesh Attribute Set Name: am (Type: auto-mesh) Bandwidth: 100 kbps (CT0) Number of affinity constraints: 2 Include bit map : 0x8 Include name : yellow Exclude bit map : 0x2 Exclude name : red Priority: 2 2 Interface Bandwidth: 0 kbps (Default) AutoRoute Announce: Disabled Auto-bw: Disabled Soft Preemption: Disabled Fast Reroute: Enabled, Protection Desired: Node, Bandwidth Record-route: Enabled Policy-class: 0 (Not configured) Logging: None List of Mesh Groups (count 1) 1 This example shows the details about the tunnel that is using auto-backup type of attribute-set. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels attribute-set auto-backup ab Name: tunnel-te3000 Destination: 1.1.1.1 (auto-tunnel backup) Status: Admin: up Oper: up Path: valid Signalling: connected path option 20, type explicit (autob_nhop_te3000) (Basis for Setup, path weight 2) path option 10, type explicit (autob_nhop_srlg_te3000) [disabled] G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Tue Aug 14 23:24:27 2012 (00:05:28 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Number of affinity constraints: 2 Include bit map : 0x4 Include name : blue Exclude bit map : 0x2 Exclude name : red Metric Type: TE (default) Hop-limit: disabled AutoRoute: disabled LockDown: disabled Policy class: 1 Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 273 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExamplePath Protection: Not Enabled Soft Preemption: Disabled Auto Backup: Protected LSPs: 2 Protected S2L Sharing Families: 0 Protected S2L: 0 Protected i/f: PO0/3/0/1 Attribute-set: ab Protection: NHOP Unused removal timeout: not running History: Tunnel has been up for: 00:04:57 (since Tue Aug 14 23:24:58 EST 2012) Current LSP: Uptime: 00:04:57 (since Tue Aug 14 23:24:58 EST 2012) Path info (OSPF 100 area 16909060): Node hop count: 2 Hop0: 23.9.0.2 Hop1: 12.9.0.2 Hop2: 12.9.0.1 Hop3: 1.1.1.1 Displayed 1 (of 7) heads, 0 (of 3) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads This example shows the protected interface for auto-backup auto-tunnels. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels backup protected-interface Interface: Gi0/2/0/1 (auto-tunnel backup) SRLG: N/A, NHOP-only: No Attribute-set: Not configured Auto-tunnel backup recreate time remaining: timer not running No backup tunnel found Interface: Gi0/2/0/3 tunnel-te340 PROTECTED : out i/f: PO0/3/0/2 Admin: up Oper: up Interface: PO0/3/0/1 (auto-tunnel backup) SRLG: N/A, NHOP-only: No Attribute-set: ab Auto-tunnel backup recreate time remaining: timer not running *tunnel-te3000 NHOP : out i/f: Gi0/2/0/2 Admin: up Oper: up * = automatically created backup tunnel This example shows the details about all the tunnels that are using auto-mesh type of attribute-set. RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels attribute-set auto-mesh all Name: tunnel-te3501 Destination: 1.1.1.1 (auto-tunnel mesh) Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type dynamic (Basis for Setup, path weight 2) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 100 kbps CT0 Creation Time: Tue Aug 14 23:25:41 2012 (00:06:13 ago) Config Parameters: Bandwidth: 100 kbps (CT0) Priority: 2 2 Number of affinity constraints: 2 Include bit map : 0x8 Include name : yellow Exclude bit map : 0x2 Exclude name : red Metric Type: TE (default) Hop-limit: disabled AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Enabled, Protection Desired: Node, Bandwidth Path Protection: Not Enabled Attribute-set: am (type auto-mesh) Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 274 OL-26056-02 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExampleSoft Preemption: Disabled Auto-tunnel Mesh: Group ID: 1 Destination list: blah Unused removal timeout: not running History: Tunnel has been up for: 00:06:13 (since Tue Aug 14 23:25:41 EST 2012) Current LSP: Uptime: 00:06:13 (since Tue Aug 14 23:25:41 EST 2012) Path info (OSPF 100 area 16909060): Node hop count: 2 Hop0: 23.9.0.2 Hop1: 12.9.0.2 Hop2: 12.9.0.1 Hop3: 1.1.1.1 Name: tunnel-te3502 Destination: 2.2.2.2 (auto-tunnel mesh) Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type dynamic (Basis for Setup, path weight 1) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 100 kbps CT0 Creation Time: Tue Aug 14 23:25:41 2012 (00:06:13 ago) Config Parameters: Bandwidth: 100 kbps (CT0) Priority: 2 2 Number of affinity constraints: 2 Include bit map : 0x8 Include name : yellow Exclude bit map : 0x2 Exclude name : red Metric Type: TE (default) Hop-limit: disabled AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Enabled, Protection Desired: Node, Bandwidth Path Protection: Not Enabled Attribute-set: am (type auto-mesh) Soft Preemption: Disabled Auto-tunnel Mesh: Group ID: 1 Destination list: blah Unused removal timeout: not running History: Tunnel has been up for: 00:06:13 (since Tue Aug 14 23:25:41 EST 2012) Current LSP: Uptime: 00:06:13 (since Tue Aug 14 23:25:41 EST 2012) Path info (OSPF 100 area 16909060): Node hop count: 1 Hop0: 23.9.0.2 Hop1: 2.2.2.2 Name: tunnel-te3503 Destination: 4.4.4.4 (auto-tunnel mesh) Status: Admin: up Oper: down Path: not valid Signalling: Down path option 10, type dynamic Last PCALC Error: Tue Aug 14 23:31:26 2012 Info: No path to destination, 4.4.4.4 (affinity) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 100 kbps CT0 Creation Time: Tue Aug 14 23:25:41 2012 (00:06:13 ago) Config Parameters: Bandwidth: 100 kbps (CT0) Priority: 2 2 Number of affinity constraints: 2 Include bit map : 0x8 Include name : yellow Exclude bit map : 0x2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 275 Implementing MPLS Traffic Engineering Configure the MPLS-TE Auto-Tunnel Backup: ExampleExclude name : red Metric Type: TE (default) Hop-limit: disabled AutoRoute: disabled LockDown: disabled Policy class: not set Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Enabled, Protection Desired: Node, Bandwidth Path Protection: Not Enabled Attribute-set: am (type auto-mesh) Soft Preemption: Disabled Auto-tunnel Mesh: Group ID: 1 Destination list: blah Unused removal timeout: not running Displayed 3 (of 7) heads, 0 (of 3) midpoints, 0 (of 0) tails Displayed 2 up, 1 down, 0 recovering, 0 recovered heads Related Topics Enabling an AutoTunnel Backup, on page 169 Removing an AutoTunnel Backup, on page 170 Establishing MPLS Backup AutoTunnels to Protect Fast Reroutable TE LSPs, on page 172 Establishing Next-Hop Tunnels with Link Protection, on page 174 Backup AutoTunnels, on page 123 Configure Point-to-Multipoint TE: Examples These configuration examples show how to configure Point-to-Multipoint TE: P2MP Topology Scenario: Example Thissection describes a typicalscenario of point-to-multipoint traffic engineering toplogy. Thisfigure illustrates the P2MP toplogy. Figure 19: P2MP Topology This head router describes the configuration at head node. This router does the imposition of MPLS at head node. interface tunnel-mte1 ipv4 unnumbered Loopback0 destination 1.1.1.1 path-option 1 explicit name path-to-tail1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 276 OL-26056-02 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examples! destination 2.2.2.2 path-option 1 explicit name path-to-tail2 ! fast-reroute mpls traffic-eng interface GigabitEthernet0/1/3/0 ! interface GigabitEthernet0/1/3/7 ! multicast-routing address-family ipv4 nsf interface all enable ! address-family ipv6 nsf interface all enable ! ! ! router igmp vrf default interface tunnel-mte1 static-group 232.0.0.1 192.168.10.1 ! This mid router describesthe configuration at mid node. Thisrouter performsthe role of MPLS label replication at mid node. mpls traffic-eng interface POS0/2/0/0 ! interface POS0/2/0/1 backup-path tunnel-te 1000 ! interface TenGigE0/3/0/3 ! interface GigabitEthernet0/2/5/0 ! ! This tail router describes the configuration at tail node. This router performs the role of MPLS disposition at tail node. mpls traffic-eng interface POS0/0/3/0 ! ! multicast-routing address-family ipv4 interface all enable ! core-tree-protocol rsvp-te group-list lsm static-rpf 192.168.10.1 32 mpls 5.5.5.5 ! ! This configuration describes the Fast Reroute configuration in the MPLS network. explicit-path name backup-path-to-tail1 index 1 next-address strict 198.1.1.2 index 2 next-address strick 198.1.2.2 ! interface tunnel-te1000 <<< backup p2p tunnel ipv4 unnumbered Loopback0 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 277 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examplesdestination 140.140.140.140 path-option 1 explicit name backup-path-to-tail1 ! mpls traffic-eng interface POS0/2/0/0 ! interface POS0/2/0/1 backup-path tunnel-te 1000 ! interface TenGigE0/5/0/4 ! Configure Point-to-Multipoint for the Source: Example At the source, multicast routing must be enabled on both the tunnel-mte interface and customer-facing interface. Then, the static-group must be configured on the tunnel-mte interface to forward specified multicast traffic over P2MP LSP. The multicast group address, which is in Source-Specific Multicast (SSM) address range (ff35::/16), must be used on the static-group configuration because Cisco IOS XR software supports only SSM for Label Switch Multicast (LSM). Additionally, the customer-facing interface must have an IPv6 address. Note multicast-routing address-family ipv6 interface tunnel-mte 1 enable ! interface GigabitEthernet0/2/0/3 enable ! ! ! router mld vrf default interface tunnel-mte 1 static-group ff35::1 2000::1 3eFF::A ! ! ! interface tunnel-mte 1 ipv4 unnumbered Loopback0 destination 3.3.3.3 path-option 1 dynamic destination 4.4.4.4 path-option 1 dynamic ! ! Related Topics Point-to-Multipoint Traffic-Engineering Overview, on page 142 Point-to-Multipoint RSVP-TE , on page 144 Configure the Point-to-Multipoint Tunnel: Example There is no difference between logging events at the tunnel level for both P2P and P2MP. The P2MP tunnel reoptimizes only at the per tunnel level. interface tunnel-mte1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 278 OL-26056-02 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examplesipv4 unnumbered Loopback0 destination 60.60.60.60 logging events lsp-status state logging events lsp-status reroute path-option 10 explicit name toR6_via_R2andR3 ! logging events lsp-status reoptimize logging events lsp-status state logging events lsp-status reroute fast-reroute record-route ! explicit-path name PATH7 index 1 next-address strict ipv4 unicast 192.168.7.2 index 2 next-address strict ipv4 unicast 192.168.7.1 index 3 next-address strict ipv4 unicast 192.168.16.1 index 4 next-address strict ipv4 unicast 192.168.16.2 ! Related Topics Path Option for Point-to-Multipoint RSVP-TE, on page 145 Point-to-Multipoint Traffic-Engineering Overview, on page 142 Disable a Destination: Example From the tunnel-mte interface, you can disable the destination. interface tunnel-mte101 ipv4 unnumbered Loopback0 destination 150.150.150.150 disable path-option 10 dynamic ! destination 150.150.150.150 path-option 2 dynamic ! ! Related Topics Point-to-Multipoint Traffic-Engineering Overview, on page 142 Configure the Point-to-Multipoint Solution: Example Requirements for MPLS-TE Configuration Before the Point-to-Multipoint (P2MP) tunnel is defined, these MPLS-TE requirements must be configured: • Multiprotocol Label Switching traffic engineering (MPLS-TE) • Resource ReSerVation Protocol (RSVP) • Open Shortest Path First (OSPF) This example shows the entire P2MP solution: • Source is the location where the P2MP-TE tunnel interface is created. • Tunnel contains multiple destinations. For example, the P2MP-TE tunnel is configured with two leaf node destinations by using the dynamic and explicit path options. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 279 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examples• Fast-Reroute (FRR) is specified on the P2MP tunnel. • All regular TE tunnel options such as affinity or bandwidth are configured. • Static mapping of the group address to the P2MP tunnel is done in IGMP. Internet Group Management Protocol (IGMP). • The P2MP-TE midpoint configuration requires only TE and Interior Gateway Protocol (IGP) information. • The P2MP-TE receiver configuration requires a static group and RPF map. ! explicit-path name g2-r2-r1 index 1 next-address strict ipv4 unicast 10.2.15.1 ! explicit-path name g2-r2-r3 index 1 next-address strict ipv4 unicast 10.2.25.1 index 2 next-address strict ipv4 unicast 10.2.23.2 ! explicit-path name g2-r2-r4 index 1 next-address strict ipv4 unicast 10.2.25.1 index 2 next-address strict ipv4 unicast 10.2.24.2 ! ipv4 access-list ssm 10 permit ipv4 232.1.0.0/16 any 20 permit ipv4 232.3.0.0/16 any 30 permit ipv4 232.4.0.0/16 any ! ipv4 access-list ssm-test 10 permit ipv4 235.0.0.0/8 any ! interface Loopback0 ipv4 address 192.168.1.2 255.255.255.255 ! interface tunnel-mte221 ipv4 unnumbered Loopback0 destination 192.168.1.1 path-option 1 dynamic ! destination 192.168.1.3 path-option 1 dynamic ! destination 192.168.1.4 path-option 1 dynamic ! ! interface tunnel-mte222 ipv4 unnumbered Loopback0 destination 192.168.1.1 path-option 1 explicit name g2-r2-r1 ! destination 192.168.1.3 path-option 1 explicit name g2-r2-r3 ! destination 192.168.1.4 path-option 1 explicit name g2-r2-r4 ! signalled-bandwidth 1000 ! interface MgmtEth0/RP0/CPU0/0 ipv4 address 172.20.163.12 255.255.255.128 ! interface MgmtEth0/RP1/CPU0/0 shutdown ! interface GigabitEthernet0/0/0/0 ipv4 address 172.2.1.2 255.255.255.0 load-interval 30 ! Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 280 OL-26056-02 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examplesinterface GigabitEthernet0/0/0/1 ipv4 address 10.1.15.2 255.255.255.0 ! interface GigabitEthernet0/0/0/1.2 ipv4 address 10.2.15.2 255.255.255.0 dot1q vlan 2 ! interface GigabitEthernet0/0/0/2 ipv4 address 10.1.25.2 255.255.255.0 ! interface GigabitEthernet0/0/0/2.2 ipv4 address 10.2.25.2 255.255.255.0 dot1q vlan 2 ! interface GigabitEthernet0/0/0/3 shutdown ! interface GigabitEthernet0/0/0/4 shutdown ! interface GigabitEthernet0/0/0/5 shutdown ! interface GigabitEthernet0/0/0/6 shutdown ! interface GigabitEthernet0/0/0/7 shutdown ! router static address-family ipv4 unicast 0.0.0.0/0 1.56.0.1 0.0.0.0/0 172.20.163.1 ! ! router ospf 100 nsr router-id Loopback0 area 0 mpls traffic-eng interface Loopback0 ! interface GigabitEthernet0/0/0/0 ! interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/1.2 ! interface GigabitEthernet0/0/0/2 ! interface GigabitEthernet0/0/0/2.2 ! ! mpls traffic-eng router-id Loopback0 ! mpls oam ! rsvp interface GigabitEthernet0/0/0/0 bandwidth 20000 ! interface GigabitEthernet0/0/0/1 bandwidth 20000 ! interface GigabitEthernet0/0/0/2 bandwidth 20000 ! interface GigabitEthernet0/0/0/1.2 bandwidth 20000 ! interface GigabitEthernet0/0/0/2.2 bandwidth 20000 ! Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 281 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: Examples! mpls traffic-eng interface GigabitEthernet0/0/0/0 ! interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/2 ! interface GigabitEthernet0/0/0/1.2 ! interface GigabitEthernet0/0/0/2.2 ! ! mpls ldp router-id 192.168.1.2 nsr graceful-restart interface GigabitEthernet0/0/0/0 ! interface GigabitEthernet0/0/0/1 ! interface GigabitEthernet0/0/0/1.2 ! interface GigabitEthernet0/0/0/2 ! interface GigabitEthernet0/0/0/2.2 ! ! multicast-routing address-family ipv4 core-tree-protocol rsvp-te ssm range ssm static-rpf 172.1.1.1 32 mpls 192.168.1.1 static-rpf 172.3.1.1 32 mpls 192.168.1.3 static-rpf 172.4.1.1 32 mpls 192.168.1.4 interface all enable ! ! router igmp ! interface tunnel-mte221 static-group 232.2.2.1 172.2.1.1 ! interface tunnel-mte222 static-group 232.2.2.2 172.2.1.1 ! interface GigabitEthernet0/0/0/0 static-group 232.1.2.1 172.1.1.1 static-group 232.1.2.2 172.1.1.1 static-group 232.3.2.1 172.3.1.1 static-group 232.3.2.2 172.3.1.1 static-group 232.4.2.1 172.4.1.1 static-group 232.4.2.2 172.4.1.1 ! ! end Related Topics Point-to-Multipoint Traffic-Engineering Overview, on page 142 Point-to-Multipoint RSVP-TE , on page 144 Path Option for Point-to-Multipoint RSVP-TE, on page 145 Point-to-Multipoint Traffic-Engineering Overview, on page 142 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 282 OL-26056-02 Implementing MPLS Traffic Engineering Configure Point-to-Multipoint TE: ExamplesAdditional References For additional information related to implementing MPLS-TE, refer to the following references: Related Documents Related Topic Document Title MPLS Traffic Engineering Commands on Cisco ASR 9000 Series Router module in CiscoASR9000SeriesAggregationServicesRouterMPLS Command Reference MPLS-TE commands CiscoASR9000SeriesAggregationServicesRouterGetting Started Guide Getting started material Standards Standards Title No new or modified standards are supported by this — feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/ sw-center/netmgmt/cmtk/mibs.shtml — RFCs RFCs Title Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering, F. Le Faucheur, Ed. June 2005. (Format: TXT=79265 bytes) (Status: PROPOSED STANDARD) RFC 4124 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 283 Implementing MPLS Traffic Engineering Additional ReferencesRFCs Title Maximum Allocation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering, F. Le Faucheur, W. Lai. June 2005. (Format: TXT=22585 bytes) (Status: EXPERIMENTAL) RFC 4125 Russian Dolls Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering, F. Le Faucheur, Ed. June 2005. (Format: TXT=23694 bytes) (Status: EXPERIMENTAL) RFC 4127 Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 284 OL-26056-02 Implementing MPLS Traffic Engineering Additional ReferencesC H A P T E R 5 Implementing MPLS OAM This module describes Multiprotocol Label Switching (MPLS) P2MP Ping and Traceroute features. These feature provide a means to check connectivity, isolate failure point, thus providing the MPLS Operations, Administration, and Maintenance (OAM) solution. For detailed information about MPLS commands and examples, see Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference. Feature History for Implementing MPLS OAM Release Modification Release 4.1.0 This feature was introduced. • Prerequisites for MPLS LSP Ping and Traceroute for P2MP, page 285 • MPLS Network Management with MPLS LSP Ping and MPLS LSP Traceroute, page 286 • Roles of Various Routers, page 286 • P2MP Ping, page 287 • P2MP Traceroute, page 288 • Configure the Ping and Traceroute: Example, page 288 Prerequisites for MPLS LSP Ping and Traceroute for P2MP Before you use the MPLS LSP Ping and Traceroute for P2MP feature, you should have the support for following: • Cisco IOS XR software Release 4.1.0or a later release • Configure Resource Reservation Protocol (RSVP) features on the headend, midpoint, and tailend routers in the MPLS network • Configure traffic engineering features on the headend, midpoint, and tailend routersin the MPLS network • Enable MPLS OAM using the mpls oam command on all routers in the MPLS network Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 285MPLS Network Management with MPLS LSP Ping and MPLS LSP Traceroute To manage an MPLS network, you must have the ability to monitor LSPs and quickly isolate MPLS forwarding problems. You need ways to characterize the liveliness of an LSP and reliably detect when an LSP fails to deliver user traffic. You can use MPLS LSP ping to verify the LSP that is used to transport packets. You can use MPLS LSP traceroute to trace LSPs that are used to carry packets destined for P2MP LSP. An MPLS echo request is sent through an LSP to validate it. A TTL expiration or LSP breakage causes the transit router to processthe echo request before it gets to the intended destination. The router returns an MPLS echo reply that contains an explanatory reply code to the originator of the echo request. The successful echo request is processed at the egress of the LSP. The echo reply is sent through an IP path, an MPLS path, or a combination of both, back to the originator of the echo request. Roles of Various Routers A P2MP TE network contains the following elements: • Headend Router The headend router, also called the source or ingress router, is responsible for initiating the signaling messages that set up the P2MP TE LSP. The headend router can also be a branch point, which means the router performs packet replication and the sub-LSPs split into different directions. • Midpoint Router The midpoint router is where the sub-LSP signaling is processed. The midpoint router can be a branch point. • Tailend Router The tailend router, also called the destination, egress, or leaf-node router, is where sub-LSP signaling ends. The router which is one of potentially many destinations of the P2MP TE LSP. • Bud Router A bud router is a midpoint and tailend router at the same time. An LSR that is an egress LSR, but also has one or more directly connected downstream LSRs. • Branch Router A branch router is either a midpoint or tailend router at any given time. • Transit Router A transit router is an LSR that is not an egress router, but also has one or more directly connected downstream routers. • A P2MP tunnel consists of one or more sub-LSPs.All sub-LSPs belonging to the same P2MP tunnel employ the same constraints, protection policies, and so on, which are configured at the headend router. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 286 OL-26056-02 Implementing MPLS OAM MPLS Network Management with MPLS LSP Ping and MPLS LSP TracerouteFigure 20: Elements of P2MP TE Network illustrates the elements of P2MP TE network. Figure 20: Elements of P2MP TE Network P2MP TE tunnels build on the features that exist in basic point-to-point TE tunnels. The P2MP TE tunnels have the following characteristics: • There is one source (headend) but more than one destination (tailend). • They are unidirectional. • They are explicitly routed. • Multiple sub-LSPs connect the headend router to various tailend routers. P2MP Ping The P2MP ping feature is used to check the connectivity between Ingress LSR and egress LSR, along a P2MP LSP. The Ingress LSR sends the P2MP echo request message along the specified P2MP LSP. All egress LSRs which receive the P2MP echo request message from the ingress LSR must send a P2MP echo reply message to the ingress LSR, according to the reply mode specified in the P2MP echo request message. MPLS LSP ping uses MPLS echo request and reply packets to validate an LSP. You can use MPLS LSP ping to validate RSVP P2MP IPv4 FECs by using appropriate keywords and arguments with the ping mpls command. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 287 Implementing MPLS OAM P2MP PingThe MPLS echo request packet issent to a target router through the use of the appropriate labelstack associated with the LSP to be validated. Use of the label stack causes the packet to be forwarded over the LSP itself. The destination IP address of the MPLS echo request packet is different from the address used to select the label stack. The destination IP address is defined as a 127.x.y.z/8 address. The 127.x.y.z/8 address prevents the IP packet from being IP switched to its destination, if the LSP is broken. An MPLS echo reply is sent in response to an MPLS echo request. The reply is sent as an IP packet and it is forwarded using IP, MPLS, or a combination of both types of switching. The source address of the MPLS echo reply packet is an address obtained from the router generating the echo reply. The destination address is the source address of the router that originated the MPLS echo request packet. The MPLS echo reply destination port is set to the echo request source port. Only P2MP TE LSP IPv4 is supported. If the Responder Identifier TLV is missing, the echo request requests information from all responder-ids. Note Jitter Jitter is used to reduce the load on the LSR where the ping is performed. By adding a jitter, the replying routers will space their reply time based on a random number between 0 and the jitter value, Jitter TLV, specified in the packet. P2MP Traceroute The P2MP traceroute feature is used to isolate the failure point of a P2MP LSP. It is used for hop-by-hop fault localization and path tracing. The traceroute feature relies on the expiration of the TTL of the packet that carries the echo request. When the P2MP echo request message hits a transit node, it checks the TTL and if it is expired, the packet is punted to the control plane, else the message is forwarded or replicated. If punted to the control plane, a reply message is build based on the contents of the request message. Traceroute can be applied to all nodes in the P2MP tree. However, you can select a specific traceroute target through the P2MP Responder Identifier TLV. An entry in this TLV represents an responder-id or a transit node. This is only the case for P2MP TE LSPs. Only P2MP TE LSP IPv4 is supported. If the Responder Identifier TLV is missing, the echo request requests information from all responder-ids. Note Jitter Jitter is used to reduce the load on the LSR where the traceroute is performed. By adding a jitter, the replying routers will space their reply time based on a random number between 0 and the jitter value, , Jitter TLV, specified in the packet. For more information about ping and traceroute commands, see MPLS OAM commands chapter in the Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference. Configure the Ping and Traceroute: Example This section contains examples of the ping and traceroute commands, based on this topology. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 288 OL-26056-02 Implementing MPLS OAM P2MP TracerouteThis example shows multiple destinations set on the assigned LSP path. RP/0/RSP0/CPU0:router# show run int tunnel-mte 10 interface tunnel-mte10 ipv4 unnumbered Loopback0 destination 11.0.0.1 path-option 1 dynamic ! destination 12.0.0.1 path-option 1 dynamic ! destination 13.0.0.1 path-option 1 dynamic ! ! This example shows an extract of the ping command. # ping mpls traffic-eng tunnel-mte 10 Sending 1, 100-byte MPLS Echos to tunnel-mte10, timeout is 2.2 seconds, send interval is 0 msec, jitter value is 200 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. Request #1 ! reply addr 192.168.222.2 ! reply addr 192.168.140.2 ! reply addr 192.168.170.1 Success rate is 100 percent (3 received replies/3 expected replies), round-trip min/avg/max = 154/232/302 ms This example shows an extract of the ping command with the jitter option. RP/0/RSP0/CPU0:router# ping mpls traffic-eng tunnel-mte 10 jitter 300 Sending 1, 100-byte MPLS Echos to tunnel-mte10, timeout is 2.3 seconds, send interval is 0 msec, jitter value is 300 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 289 Implementing MPLS OAM Configure the Ping and Traceroute: ExampleType escape sequence to abort. Request #1 ! reply addr 192.168.222.2 ! reply addr 192.168.140.2 ! reply addr 192.168.170.1 Success rate is 100 percent (3 received replies/3 expected replies), round-trip min/avg/max = 148/191/256 ms This example shows an extract of the ping command with the ddmap option. RP/0/RSP0/CPU0:router# ping mpls traffic-eng tunnel-mte 10 ddmap Sending 1, 100-byte MPLS Echos to tunnel-mte10, timeout is 2.2 seconds, send interval is 0 msec, jitter value is 200 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. Request #1 ! reply addr 192.168.222.2 ! reply addr 192.168.140.2 ! reply addr 192.168.170.1 Success rate is 100 percent (3 received replies/3 expected replies), round-trip min/avg/max = 105/178/237 ms RP/0/RSP0/CPU0:router# show mpls traffic-eng tunnels p2mp 10 Mon Apr 12 12:13:55.075 EST Signalling Summary: LSP Tunnels Process: running RSVP Process: running Forwarding: enabled Periodic reoptimization: every 3600 seconds, next in 654 seconds Periodic FRR Promotion: every 300 seconds, next in 70 seconds Auto-bw enabled tunnels: 0 (disabled) Name: tunnel-mte10 Status: Admin: up Oper: up (Up for 12w4d) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) Fast Reroute: Not Enabled, Protection Desired: None Record Route: Not Enabled Destination summary: (3 up, 0 down, 0 disabled) Affinity: 0x0/0xffff Auto-bw: disabled Destination: 11.0.0.1 State: Up for 12w4d Path options: path-option 1 dynamic [active] Destination: 12.0.0.1 State: Up for 12w4d Path options: path-option 1 dynamic [active] Destination: 13.0.0.1 State: Up for 12w4d Path options: path-option 1 dynamic [active] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 290 OL-26056-02 Implementing MPLS OAM Configure the Ping and Traceroute: ExampleHistory: Reopt. LSP: Last Failure: LSP not signalled, identical to the [CURRENT] LSP Date/Time: Thu Jan 14 02:49:22 EST 2010 [12w4d ago] Current LSP: lsp-id: 10002 p2mp-id: 10 tun-id: 10 src: 10.0.0.1 extid: 10.0.0.1 LSP up for: 12w4d Reroute Pending: No Inuse Bandwidth: 0 kbps (CT0) Number of S2Ls: 3 connected, 0 signaling proceeding, 0 down S2L Sub LSP: Destination 11.0.0.1 Signaling Status: connected S2L up for: 12w4d Sub Group ID: 1 Sub Group Originator ID: 10.0.0.1 Path option path-option 1 dynamic (path weight 1) Path info (OSPF 1 area 0) 192.168.222.2 11.0.0.1 S2L Sub LSP: Destination 12.0.0.1 Signaling Status: connected S2L up for: 12w4d Sub Group ID: 2 Sub Group Originator ID: 10.0.0.1 Path option path-option 1 dynamic (path weight 2) Path info (OSPF 1 area 0) 192.168.222.2 192.168.140.3 192.168.140.2 12.0.0.1 S2L Sub LSP: Destination 13.0.0.1 Signaling Status: connected S2L up for: 12w4d Sub Group ID: 3 Sub Group Originator ID: 10.0.0.1 Path option path-option 1 dynamic (path weight 2) Path info (OSPF 1 area 0) 192.168.222.2 192.168.170.3 192.168.170.1 13.0.0.1 Reoptimized LSP (Install Timer Remaining 0 Seconds): None Cleaned LSP (Cleanup Timer Remaining 0 Seconds): None Displayed 1 (of 16) heads, 0 (of 0) midpoints, 0 (of 0) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads RP/0/RSP0/CPU0:router# ping mpls traffic-eng tunnel-mte 10 lsp id 10002 Mon Apr 12 12:14:04.532 EST Sending 1, 100-byte MPLS Echos to tunnel-mte10, timeout is 2.2 seconds, send interval is 0 msec, jitter value is 200 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. Request #1 ! reply addr 192.168.222.2 ! reply addr 192.168.170.1 ! reply addr 192.168.140.2 Success rate is 100 percent (3 received replies/3 expected replies), round-trip min/avg/max = 128/153/167 ms Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 291 Implementing MPLS OAM Configure the Ping and Traceroute: ExampleThis example shows an extract of the ping command with the responder-id of R3. RP/0/RSP0/CPU0:router# ping mpls traffic-eng tunnel-mte 10 responder-id 13.0.0.1 Mon Apr 12 12:15:34.205 EST Sending 1, 100-byte MPLS Echos to tunnel-mte10, timeout is 2.2 seconds, send interval is 0 msec, jitter value is 200 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. Request #1 ! reply addr 192.168.170.1 Success rate is 100 percent (1 received reply/1 expected reply), round-trip min/avg/max = 179/179/179 ms This example shows an extract of the traceroute command with the ttl option. RP/0/RSP0/CPU0:router# traceroute mpls traffic-eng tunnel-mte 10 ttl 4 Mon Apr 12 12:16:50.095 EST Tracing MPLS MTE Label Switched Path on tunnel-mte10, timeout is 2.2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. ! 1 192.168.222.2 186 ms [Estimated Role: Bud] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 2 192.168.222.2 115 ms [Estimated Role: Bud] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 2 192.168.140.2 213 ms [Estimated Role: Egress] ! 2 192.168.170.1 254 ms [Estimated Role: Egress] ! 3 192.168.222.2 108 ms [Estimated Role: Bud] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 3 192.168.170.1 164 ms [Estimated Role: Egress] ! 3 192.168.140.2 199 ms [Estimated Role: Egress] ! 4 192.168.170.1 198 ms [Estimated Role: Egress] ! 4 192.168.222.2 206 ms [Estimated Role: Bud] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 This example shows an extract of the traceroute command with the responder-id option. RP/0/RSP0/CPU0:router# traceroute mpls traffic-eng tunnel-mte 10 responder-id 13.0.0.1 Mon Apr 12 12:18:01.994 EST Tracing MPLS MTE Label Switched Path on tunnel-mte10, timeout is 2.2 seconds Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 292 OL-26056-02 Implementing MPLS OAM Configure the Ping and Traceroute: ExampleCodes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. d 1 192.168.222.2 113 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] d 2 192.168.222.2 118 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 2 192.168.170.1 244 ms [Estimated Role: Egress] d 3 192.168.222.2 141 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 3 192.168.170.1 204 ms [Estimated Role: Egress] d 4 192.168.222.2 110 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 4 192.168.170.1 174 ms [Estimated Role: Egress] This example shows an extract of the traceroute command with the jitter option. RP/0/RSP0/CPU0:router# traceroute mpls traffic-eng tunnel-mte 10 responder-id 13.0.0.1 ttl 4 jitter 500 Mon Apr 12 12:19:00.292 EST Tracing MPLS MTE Label Switched Path on tunnel-mte10, timeout is 2.5 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0, 'd' - DDMAP Type escape sequence to abort. d 1 192.168.222.2 238 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] d 2 192.168.222.2 188 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 2 192.168.170.1 290 ms [Estimated Role: Egress] d 3 192.168.222.2 115 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 3 192.168.170.1 428 ms [Estimated Role: Egress] d 4 192.168.222.2 127 ms [Estimated Role: Branch] [L] DDMAP 0: 192.168.140.2 192.168.140.2 MRU 1500 [Labels: 16001 Exp: 0] [L] DDMAP 1: 192.168.170.1 192.168.170.1 MRU 1500 [Labels: 16000 Exp: 0] ! 4 192.168.170.1 327 ms [Estimated Role: Egress] Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 293 Implementing MPLS OAM Configure the Ping and Traceroute: Example Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 294 OL-26056-02 Implementing MPLS OAM Configure the Ping and Traceroute: ExampleC H A P T E R 6 Implementing MPLS Transport Profile This module describes how to implement MPLS transport profile (MPLS-TP) on the router. MPLS-TP supported by IETF enables the migration of transport networks to a packet-based network that efficiently scale to support packetservicesin a simple and cost-effective way. MPLS-TP combinesthe necessary existing capabilities of MPLS with additional minimal mechanisms in order that it can be used in a transport role. MPLS transport profile enables you to create tunnels that provide the transport network service layer over which IP and MPLS traffic traverse. Feature History for Implementing MPLS Transport Profile Release Modification Release 4.2.0 This feature was introduced. • Restrictions for MPLS-TP, page 295 • Information About Implementing MPLS Transport Profile, page 296 • How to Implement MPLS Transport Profile, page 300 Restrictions for MPLS-TP • Penultimate hop popping is not supported. Only ultimate hop popping is supported, because label mappings are configured at the MPLS-TP endpoints. • MPLS-TP links must be configured with IP addresses. • IPv6 addressing is not supported. L2VPN Restrictions • Pseudowire ID Forward Equivalence Class(FEC) (type 128) issupported, but generalized ID FEC (type 129) is not supported. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 295• BFD over pseudowire is not supported. Static pseudowire OAM protocol is used to signal fault on static pseudowire placed over TP tunnels using pseudowire status. • Only Ethernet pseudowire type is supported. Information About Implementing MPLS Transport Profile To implement MPLS-TP, you should understand these concepts: MPLS Transport Profile MPLS Transport Profile (TP) enables you to create tunnels that provide the transport network service layer over which IP and MPLS traffic traverse. MPLS-TP tunnels enable a transition from Synchronous Optical Networking (SONET) and Synchronous Digital Hierarchy (SDH) time-division multiplexing (TDM) technologies to packet switching, to support services with high bandwidth utilization and low cost. Transport networks are connection oriented,statically provisioned, and have long-lived connections. Transport networks usually avoid control protocolsthat change identifierslike labels. MPLS-TP tunnels provide thisfunctionality through statically provisioned bidirectional label switched paths (LSPs). This figure shows the MPLS-TP tunnel: Figure 21: MPLS Transport Profile Tunnel MPLS-TP combines the necessary existing capabilities of MPLS with additional minimal mechanisms in order that it can be used in a transport role. You can set up MPLS-TP through a CLI or a network management system. MPLS-TP tunnels have these characteristics: • An MPLS-TP tunnel can be associated with working LSP, protect LSP, or both LSP • Statically provisioned bidirectional MPLS-TP label switched paths (LSPs) • Symmetric or asymmetric bandwidth reservation • 1:1 path protection with revertive mode for MPLS-TP LSP with revertive mode for MPLS-TP LSP Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 296 OL-26056-02 Implementing MPLS Transport Profile Information About Implementing MPLS Transport Profile• Use of Generic Alert Label (GAL) and Generic Associated Channel Header (G-ACH) to transport control packets; for example, BFD packets and pseudowire OAM packets • BFD is used as a continuity check (CC) mechanism over MPLS-TP LSP • Remote Defect Indication (RDI) based on BFD • Fault OAM functions These services are supported over MPLS-TP tunnels: • Dynamic spoke pseudowire (for H-VPLS) over static MPLS-TP tunnels. • Static spoke pseudowire (for H-VPLS) over static MPLS-TP tunnels. • MS-PW services where static and dynamic pseudowire segments can be concatenated. • MPLS ping and traceroute over MPLS TP LSP and PW. • Static routes over MPLS-TP tunnels. • Pseudowire redundancy for static pseudowire. • VPWS using static or dynamic pseudowire pinned down to MPLS-TP tunnels. • VPLS and H-VPLS using static or dynamic pseudowire pinned down to MPLS-TP tunnels. Bidirectional LSPs MPLS transport profile (MPLS-TP) LSPs are bidirectional and congruent where LSPs traverse the same path in both directions. An MPLS-TP tunnel can be associated with either working MPLS-TP LSP, protect MPLS-TP LSP, or both. The working LSP is the primary LSP backed up by the protect LSP. When a working LSP goes down, protect LSP is automatically activated. In order for an MPLS-TP tunnel to be operationally up, it must be configured with at least one LSP. MPLS-TP Path Protection Path protection provides an end-to-end failure recovery mechanism (that is, full path protection) for MPLS-TP tunnels. MPLS-TP LSPs support 1:1 path protection. You can configure the working and protect LSPs as part of configuring the MPLS-TP tunnel. The working LSP is the primary LSP used to route traffic, while the protect LSP is a backup for a working LSP. If the working LSP fails, traffic is switched to the protect LSP until the working LSP is restored, at which time traffic forwarding reverts back to the working LSP (revertive mode). Fault OAM Support The fault OAM protocols and messages support the provisioning and maintenance of MPLS-TP tunnels and bidirectional LSPs: Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 297 Implementing MPLS Transport Profile Bidirectional LSPs• Generic Associated Channel Generic Associated Channel (G-ACh) is the control channel mechanism associated with MPLS LSPs in addition to MPLS pseudowire. The G-ACh Label (GAL) (Label 13) is a generic alert label to identify the presence of the G-ACh in the label packet. It istaken from the reserved MPLS label space. G-ACh or GAL is used to support in-band OAMs of MPLS-TP LSPs and pseudowires. The OAM messages are used for fault management, connection verification, continuity check and other functions. These messages are forwarded along the specified MPLS LSP: • OAM Fault Management: Alarm Indication Signal (AIS), Link Down Indication (LDI), and Lock Report (LKR) messages (GAL with fault-OAM channel) • OAM Connection Verification: Ping and traceroute messages (GAL with IP channel) • BFD messages (GAL with BFD channel) These messages are forwarded along the specified pseudowire: • Static pseudowire OAM messages (static pseudowire status) • Pseudowire ping and traceroute messages • Fault Management: Alarm Indication Signal (AIS), Link Down Indication (LDI), and Lock Report (LKR) messages LDI messages are generated at midpoint nodes when a failure is detected. The midpoint sends the LDI message to the endpoint that is reachable with the existing failure. The midpoint node also sends LKR messages to the reachable endpoint, when an interface is administratively down. AIS messages are not generated by Cisco platforms, but are processed if received. By default, the reception of LDI and LKR on the active LSP at an endpoint will cause a path protection switchover, while AIS will not. • Fault Management: Emulated Protection Switching for LSP Lockout You can implement a form of Emulated Protection Switching in support of LSP Lockout using customized fault messages. When a Cisco Lockout message is sent, it does not cause the LSP to be administratively down. The Cisco Lockout message causes a path protection switchover and prevents data traffic from using the LSP. The LSP's data path remains up so that BFD and other OAM messages can continue to traverse it. Maintenance of the LSP can take place such as reconfiguring or replacing a midpoint LSR. BFD state over LSP must be up and MPLS ping and traceroute can be used to verify the LSP connectivity, before the LSP is put back into service by removing the lockout. You cannot lockout working and protect LSPs simultaneously. • LSP ping and traceroute For MPLS-TP connectivity verification, you can use ping mpls traffic-eng tunnel-tp and traceroute mpls traffic-eng tunnel-tp commands. You can specify that the echo requests be sent along the working LSP or the protect LSP. You can also specify that the echo request be sent on a locked out MPLS-TP tunnel LSP (either working or protect) if the working or protect LSP is explicitly specified. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 298 OL-26056-02 Implementing MPLS Transport Profile Fault OAM Support• Continuity Check through BFD BFD session is automatically created on MPLS-TP LSPs with default parameters. You can override the default BFD parameters either through global commands or per-tunnel commands. Furthermore, you can optionally specify different BFD parameters for standby LSPs. For example, when an LSP is in standby, BFD hello messages can be sent at smaller frequency to reduce line-card CPU usage. However, when a standby LSP becomes active (for example, due to protection switching), nominal BFD parameters are used for that LSPs(for example, to run BFD hello messages at higher frequency). For more information about BFD, see the Configuring Bidirectional Forwarding Detection on the Cisco ASR 9000 Series Router in the Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide. MPLS-TP Links and Physical Interfaces MPLS-TP link IDs may be assigned to physical interfaces only. Bundled interfaces and virtual interfaces are not supported for MPLS-TP link IDs. The MPLS-TP link is used to create a level of indirection between the MPLS-TP tunnel and midpoint LSP configuration and the physical interface. The MPLS-TP link-id command is used to associate an MPLS-TP link ID with a physical interface and next-hop node address. Multiple tunnels and LSPs may then refer to the MPLS-TP link to indicate they are traversing that interface. You can move the MPLS-TP link from one interface to another without reconfiguring all the MPLS-TP tunnels and LSPs that refer to the link. Link IDs must be unique on the router or node. For more information, see the Configuring MPLS-TP Links and Physical Interfaces section. Tunnel LSPs Tunnel LSPs, whether endpoint or midpoint, use the same identifying information. However, it is entered differently. • A midpoint consists of a forward LSP and a reverse LSP. A MPLS-TP LSP mid point is identified by its name, and forward LSP, reverse LSP, or both are configured under a submode. • At the midpoint, determining which end is source and which is destination is arbitrary. That is, if you are configuring a tunnel between your router and a coworker's router, then your router is the source. However, your coworker considers his or her router to be the source. At the midpoint, either router could be considered the source. At the midpoint, the forward direction is from source to destination, and the reverse direction is from destination to source. For more information, see the Configuring MPLS-TP LSPs at Midpoints section. • At the midpoint, the LSP number does not assume default values, and hence must be explicitly configured. • At the endpoint, the local information (source) either comes from the global node ID and global ID, or from locally configured information using the source command after you enter the interface tunnel-tp number command, where number is the local or source tunnel-number. • At the endpoint, the remote information (destination) is configured using the destination command after you enter the interface tunnel-tp number command. The destination command includesthe destination Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 299 Implementing MPLS Transport Profile MPLS-TP Links and Physical Interfacesnode ID, optionally the global ID, and optionally the destination tunnel number. If you do not specify the destination tunnel number, the source tunnel number is used. MPLS-TP IP-less support Generally,MPLS-TP functionality can be deployed with or without an IP address. However, the main motivation for the IP-less model is this: an LSR can be inserted into an MPLS-TP network without changing the configurations on adjacent LSRs. In the past Cisco IOS-XR MPLS-TP release, if an interface does not have a valid IP address, BFD packets cannot be transmitted over that link, and hence MPLS-TP LSP cannot be brought up on that link. In this release, the IP-less TP link operates only in a point-to-point mode. This feature, therefore, makes the need for an IP address on a TP link optional. You may deploy LSRs running Cisco IOS-XR in MPLS-TP networks with or without an IP address. With such extra flexibility, LSRsrunning Cisco IOS-XR can be easily deployed not only with LSRs running IOS, but with LSRs from other vendors too. How to Implement MPLS Transport Profile MPLS Transport Profile (MPLS-TP) supported by IETF enables the migration of transport networks to a packet-based network that efficiently scale to support packet services in a simple and cost effective way. These procedures are used to implement MPLS-TP: Configuring the Node ID and Global ID Perform this task to configure node ID and global ID on the router. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. tp 4. node-id node-id 5. global-id num DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 300 OL-26056-02 Implementing MPLS Transport Profile MPLS-TP IP-less supportCommand or Action Purpose mpls traffic-eng Enters MPLS TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 Enters MPLS transport profile (TP) configuration mode. You can configure MPLS TP specific parameters for the router from this mode. tp Example: RP/0/RSP0/CPU0:router(config-mpls-te)# mpls tp Step 3 Specifiesthe default MPLS TP node ID, which is used asthe default source node ID for all MPLS TP tunnels configured on the router. node-id node-id Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp)# node-id 10.0.0.1 Step 4 The node ID is a 32-bit number represented in IPv4 address format, and can be optionally assigned to each node. Note Specifies the default global ID used for all endpoints and midpoints. This command makesthe node ID globally unique in a multi-provider tunnel. Otherwise, the node ID is only locally meaningful. global-id num Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp)# global-id 10 Step 5 The global ID is a 32-bit number, and can be assigned to each node. Note Configuring Pseudowire OAM Attributes Perform this task to configure pseudowire OAM attributes. SUMMARY STEPS 1. configure 2. l2vpn 3. pw-oam refresh transmit value DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 301 Implementing MPLS Transport Profile Configuring Pseudowire OAM AttributesCommand or Action Purpose l2vpn Enters L2VPN configuration mode. Example: RP/0/RSP0/CPU0:router(config)# l2vpn Step 2 pw-oam refresh transmit value Specifies the OAM timeout refresh intervals. Example: RP/0/RSP0/CPU0:router(config-l2vpn)# pw-oam refresh transmit 20 Step 3 Configuring the Pseudowire Class When you create the pseudowire class, you specify the parameters of the pseudowire, such as the use of the control word and preferred path. SUMMARY STEPS 1. configure 2. l2vpn 3. pw-class name 4. encapsulation mpls 5. preferred-path interface tunnel-tp tunnel-number DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 l2vpn Enters L2VPN configuration mode. Example: RP/0/RSP0/CPU0:router(config)# l2vpn Step 2 Creates a pseudowire OAM class named foo and enters pseudowire OAM class configuration mode. pw-class name Example: RP/0/RSP0/CPU0:router(config-l2vpn)# pw-class foo Step 3 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 302 OL-26056-02 Implementing MPLS Transport Profile Configuring the Pseudowire ClassCommand or Action Purpose encapsulation mpls Sets pseudowire encapsulation to MPLS. Example: RP/0/RSP0/CPU0:router(config-l2vpn-pwc)# encapsulation mpls Step 4 Specifies TP tunnel interface 10 for the preferred-path. preferred-path interface tunnel-tp tunnel-number Example: RP/0/RSP0/CPU0:router(config-l2vpn-pwc-mpls)# preferred-path interface tunnel-tp 10 Step 5 Configuring the Pseudowire Perform this task to configure the pseudowire. SUMMARY STEPS 1. configure 2. interface type interface-path-id 3. pseudowire-class class-name 4. encapsulation mpls 5. preferred-path interface tunnel-tp tunnel-number DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters MPLS transport protocol tunnel interface configuration mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-tp 20 Step 2 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 303 Implementing MPLS Transport Profile Configuring the PseudowireCommand or Action Purpose Creates a pseudowire class and enters pseudowire class configuration mode. pseudowire-class class-name Example: RP/0/RSP0/CPU0:router(config-if)# pseudowire-class foo Step 3 encapsulation mpls Specifies the encapsulation type. Example: RP/0/RSP0/CPU0:router# encapsulation mpls Step 4 Step 5 preferred-path interface tunnel-tp tunnel-number Specifies TP tunnel interface 10 for the preferred-path. Example: RP/0/RSP0/CPU0:router# preferred-path interface tunnel-tp 10 When a PW class with tunnel-tp interface as a preferred path is defined, this specified class can be associated with any PW. Note Configuring the MPLS TP Tunnel On the endpoint routers, create an MPLS TP tunnel and configure its parameters. SUMMARY STEPS 1. configure 2. interface tunnel-tp number 3. description tunnel-desc 4. bandwidth num 5. source source node-ID 6. destination destination node-ID [global-id destination global ID] tunnel-id destination tunnel ID] 7. working-lsp 8. in-label num 9. out-label mpls label out-link link ID 10. lsp-number value 11. exit 12. protect-lsp 13. in-label num 14. out-label mpls label out-link link ID 15. lsp-number value 16. exit Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 304 OL-26056-02 Implementing MPLS Transport Profile Configuring the MPLS TP TunnelDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters tunnel tp interface configuration mode. The range is from 0 to 65535. interface tunnel-tp number Example: RP/0/RSP0/CPU0:router(config)# interface tunnel-tp 10 Step 2 description tunnel-desc Specifies a tunnel tp description. Example: RP/0/RSP0/CPU0:router(config-if)# description head-end tunnel Step 3 Specifies the tunnel bandwidth in kbps. The range is from 0 to 4294967295. bandwidth num Example: RP/0/RSP0/CPU0:router(config-if)# tp bandwidth 1000 Step 4 source source node-ID Specifies the source node of the tunnel. Example: RP/0/RSP0/CPU0:router(config-if)# source 10.0.0.1 Step 5 destination destination node-ID [global-id destination global Specifies the destination node of the tunnel. ID] tunnel-id destination tunnel ID] Step 6 Example: RP/0/RSP0/CPU0:router(config-if)# destination 10.0.0.1 global-id 10 tunnel-id 2 Specifies a working LSP, also known asthe primary LSP. This LSP is used to route traffic. working-lsp Example: RP/0/RSP0/CPU0:router(config-if)# working-lsp Step 7 in-label num Specifies the in-label. Example: RP/0/RSP0/CPU0:router(config-if-work)# in-label 111 Step 8 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 305 Implementing MPLS Transport Profile Configuring the MPLS TP TunnelCommand or Action Purpose out-label mpls label out-link link ID Specifies the out-label. Example: RP/0/RSP0/CPU0:router(config-if-work)# out-label 111 out-link 10 Step 9 lsp-number value Specifies the LSP ID of the working LSP. Example: RP/0/RSP0/CPU0:router(config-if-work)# lsp-number 10 Step 10 Exits from working LSP interface configuration mode. exit Example: RP/0/RSP0/CPU0:router(config-if-work)# exit Step 11 Specifies a backup for a working LSP. If the working LSP fails, traffic is switched to the protect protect-lsp Example: RP/0/RSP0/CPU0:router(config-if)# protect-lsp Step 12 LSP until the working LSP isrestored, at which time traffic forwarding reverts back to the working LSP. in-label num Specifies the in-label. Example: RP/0/RSP0/CPU0:router(config-if-protect)# in-label 113 Step 13 out-label mpls label out-link link ID Specifies the out-label and out-link. Example: RP/0/RSP0/CPU0:router(config-if-protect)# out-label 112 out-link 2 Step 14 lsp-number value Specifies the LSP ID of the protect LSP. Example: RP/0/RSP0/CPU0:router(config-if-protect)# lsp-number 10 Step 15 exit Exitsfrom protect LSP interface configuration mode. Example: RP/0/RSP0/CPU0:router(config-if-protect)# exit Step 16 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 306 OL-26056-02 Implementing MPLS Transport Profile Configuring the MPLS TP TunnelConfiguring MPLS-TP LSPs at Midpoint Perform this task to configure the MPLS-TP LSPs at the midpoint router. When configuring the LSPs at the midpoint routers, make sure that the configuration does not reflect traffic back to the originating node. Note SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. tp mid name 4. tunnel-name name 5. lsp-number value 6. source node -ID tunnel-id number 7. destination node -ID tunnel-id number 8. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS TE configuration mode. Example: RP/0/RSP0/CPU0:router(config)# mpls traffic-eng Step 2 tp mid name Specifies the MPLS-TP tunnel mid-point identifier. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# tp mid foo Step 3 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 307 Implementing MPLS Transport Profile Configuring MPLS-TP LSPs at MidpointCommand or Action Purpose Specifies the name of the tunnel whose mid point is being configured. tunnel-name name Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp-mid)# tunnel-name midtunnel Step 4 lsp-number value Specifies the LSP ID. Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp-mid)# lsp-number 10 Step 5 source node -ID tunnel-id number Specifies the source node ID and tunnel ID. Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp-mid-fwd)# source 10.0.0.1 tunnel-id 12 Step 6 destination node -ID tunnel-id number Specifies the destination node ID and tunnel ID. Example: RP/0/RSP0/CPU0:router(config-mpls-te-tp-mid-rev)# source 10.0.0.2 tunnel-id 12 Step 7 Step 8 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 308 OL-26056-02 Implementing MPLS Transport Profile Configuring MPLS-TP LSPs at MidpointConfiguring MPLS-TP Links and Physical Interfaces MPLS-TP link IDs may be assigned to physical interfaces only. Note Bundled interfaces and virtual interfaces are not supported for MPLS-TP link IDs. SUMMARY STEPS 1. configure 2. mpls traffic-eng 3. interface type interface-path-id 4. link-id value next-hop address 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 mpls traffic-eng Enters MPLS TE configuration mode. Example: RP/0/RSP0/CPU0:router(config-mpls-te)# mpls traffic-eng Step 2 Configures an interface type and path ID to be associated with a MPLS TE mode. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config-mpls-te)# interface POS 0/6/0/0 Step 3 Configures an interface type and path ID to be associated with a MPLS TE mode. link-id value next-hop address Example: RP/0/RSP0/CPU0:router(config-mpls-te-if)# link-id 22 next-hop 10.1.1.2 Step 4 You must provide the next-hop IP address. Note Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 309 Implementing MPLS Transport Profile Configuring MPLS-TP Links and Physical InterfacesCommand or Action Purpose You can define a link ID once. If you attempt to use the same MPLS-TP link ID with different interface or next-hop address, the configuration getsrejected. You have to remove the existing link ID configuration before using the same link ID with a different interface or next-hop address. Note Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x 310 OL-26056-02 Implementing MPLS Transport Profile Configuring MPLS-TP Links and Physical InterfacesI N D E X A access-lists, extended 70 ACK (hello acknowledgment) 69 objects 69 RSVP messages 69 ACL match, how to return implicit deny 81 ACL-based prefix filtering 70, 80 ACL-based prefix filtering, RSVP 70 active targeted hellos, how to configure 20 active targeted hellos, prerequisites 20 Additional References command 63, 116, 283 advertisement, label 10 auto-tunnel mesh 258 automatic bandwidth, configuring 212 automatic bandwidth, MPLS-TE 141 restrictions 141 B backbone 121 bandwidth 76, 128 constraint models 128 control channel, how to configure 76 data channel, how to configure 76 pools 128 Bandwidth Configuration (MAM) 104 Example command 104 Bandwidth Configuration (Prestandard) 104 Example command 104 Bandwidth Configuration (RDM) 105 Example command 105 bandwidth constraints 127 bandwidth pools 152 bandwidth, how to configure 76 benefits 121 bidirectional LSP 297 Build MPLS-TE Topology and Tunnels 260 Example command 260 C changing restart time 107 class and attributes 129 class mapping 129 compliance 66 concepts 121 configuration 66, 76, 78, 80, 81, 83 ACL-based prefix filtering 80 diffserv TE bandwidth 76 graceful restart 78 how to verify 83 interface-based graceful restart 78 O-UNI LSP 66 Packet dropping 81 Configuration Examples for Cisco MPLS-TE 260 Configuration Examples for RSVP Authentication command 108 Configuration Examples for RSVP command 104 Configure an Interarea Tunnel 264 Example command 264 Configure Automatic Bandwidth 267 Example command 267 Configure Flexible Name-based Tunnel Constraints 263 Example command 263 Configure Forwarding Adjacency 265 Example command 265 Configure IETF DS-TE Tunnels 261 Example command 261 Configure IP LDP Fast Reroute Loop Free Alternate 59 Example 59 Configure MPLS-TE and Fast-Reroute on OSPF 262 Example command 262 Configure PCE 265 Example command 265 Configure the Ignore IS-IS Overload Bit Setting inMPLS-TE 262 Example command 262 Configure Tunnels for Path Protection 266 Example command 266 configuring 4, 187, 218 Configuring ACL-based Prefix Filtering 107 Example command 107 configuring global ID 300 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 IN-1Configuring Graceful Restart 106 Example command 106 configuring LDP downstream on demand mode 50 configuring MPLS TP links 309 configuring MPLS TP LSPs 307 configuring MPLS TP tunnel 304 configuring node ID 300 configuring physical interfaces 309 configuring pseudowire 303 configuring PW class 302 configuring PW OAM attributes 301 configuring SRLG 218 constraint models 128 RDM and MAM 128 overview 128 control 10 control channel, how to configure 76 control communication failure 8 control message 3 with LDP 3 control messages 3 control plane 3, 7, 115 failure 7 Control Protocol (example) 3 control state recovery 8 control, LDP 10 creating 158 D data channel, how to configure 76 data plane services 115 data plane services, about 115 defining 2, 131 description 65, 119, 295 Diff-Serv 127 RDM (russian doll model) and MAM (maximum allocation model) 127 Russian Doll Model (RDM) and Maximum Allocation Model (MAM) 127 Differentiated Services Traffic-Engineering 76, 127 bandwidth, how to configure 76 bandwidth constraints 127 overview 127 diffserv TE bandwidth 76 diffserv-TE bandwidth, how to confirm 76 discovery 17, 20, 22 active targeted hellos, how to configure 20 parameters, configuring 17 passive targeted hellos, how to configure 22 discovery over a link 19 how to configure 19 discovery over a link (continued) prerequisites 19 downstream on demand 15 DS-TE modes, prestandard and IETF 76 dynamic path setup 2 E enable soft-preemption 247 engineering a backbone 121 exchanging 4 explicit-null 16 extended access-lists 70 extensions 66, 121 generalized label request 66 generalized UNI attribute 66 New Error Spec sub-codes 66 UNI session 66 extensions, MPLS TE 121 F failure 7 failure recovery 9 failure recovery, graceful restart 9 fast reroute 130 fault handling 67 flooding 129, 130 thresholds 130 MPLS-TE 129 thresholds 130 triggers 129 flooding thresholds 130 flooding triggers 129 for active targeted hellos 20 for passive targeted hellos 22 FRR (fast reroute) 130, 131 link protection 130 over link bundles 131 with MPLS TE 130 FRR (Fast Reroute) 131 over link bundles 131 G generalized label request 66 generalized UNI attribute 66 graceful restart 6, 8, 9, 13, 31, 67, 78 failure recovery 9 how to set up LDP NSF 31 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x IN-2 OL-26056-02 Indexgraceful restart (continued) LDP 6, 31 mechanism 8 NSR 13 phases 8 RSVP 67 session parameters 6 graceful restart, how to enable 78 H head node 67 hello discovery mechanism 3 hello interval, how to change 107 hello messages 69 high availability 67 high availability, RSVP 67 high-availability 67 hop-by-hop 2 how to buildi 155 how to configure 4, 19, 24, 29, 76, 187 tunnel bandwidth, engineering 76 how to define 2, 13, 131 how to exchange 4 how to set up 5 how to set up LDP NSF 31 how to verify 83 I IETF DS-TE mode 127 Ignore Intermediate System-to-Intermediate System (IS-IS) 131, 187 overload bit setting 131, 187 Ignore IS-IS 187 overload bit setting 187 IGP (interior gateway protocols) 2, 3, 12 prefixes 3 routing protocols 2 synchronizing with LDP 12 IGP (Interior Gateway Protocols) 1, 2, 3 prefixes 3 routing protocols 2 with LDP 1 IGP prefixes 3 IGP synchronization 12 implementation 16 implementing 75 implicit-null 16 implicit-null-override 16 interface-based graceful restart 78 IP LDP Fast Reroute Loop Free Alternate 14 IP Time to Live (TTL) 69 IS-IS (ignore intermediate system-to-intermediate system) 131 overload bit setting 131 K keepalive mechanism 3 L Label Acceptance (Inbound Filtering), example 57 label advertisement 10, 24 control 10 control, LDP 10 how to configure 24 prerequisites 24 Label Advertisement (Outbound Filtering), example 55 label bindings 4 configuring 4 exchanging 4 how to configure 4 how to exchange 4 ldp 258 LDP 2, 3, 4, 6, 13, 31, 115 control messages 3 control plane 3 Control Protocol (example) 3 dynamic path setup 2 hello discovery mechanism 3 hop-by-hop 2 IGP prefixes 3 keepalive mechanism 3 local and remote label binding 3 LSPs, setting up 4 neighbors 3 NSR 13 LDP (label distribution protocol) 3, 4, 6, 8, 9, 10, 11, 13, 16, 17, 19, 20, 22, 31, 54 configuration examples 54 control communication failure 8 control state recovery 8 discovery 17, 20, 22 discovery over a link 19 failure recovery 9 graceful restart 31 IGP prefixes 3 implementation 16 keepalive mechanism 3 label advertisement 10 local and remote label binding 3 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 IN-3 IndexLDP (label distribution protocol) (continued) local label advertisement control 10 local label allocation control 11 LSPs, setting up 4 neighbors 3 NSF services 6 NSR 13 peer control plane 8 persistent forwarding 8 session protection 11 LDP (label distribution protocol) forwarding 29 how to configure 29 prerequisites 29 LDP Auto-Configuration, example 59 LDP Discovery for Targeted Hellos, example 55 LDP discovery prerequisites 19, 20, 22 for active targeted hellos 20 for passive targeted hellos 22 over a link 19 LDP Discovery, example 54 LDP forwarding 5 how to set up 5 LDP Forwarding, example 56 LDP IGP Synchronization—ISIS, example 58 LDP IGP Synchronization—OSPF, example 58 LDP label advertisement 10 LDP Link, example 54 LDP Neighbors, example 56 LDP neighbors, how to set up 26 LDP Nonstop Forwarding with Graceful Restart, example 56 LDP NSF graceful restart prerequisites 31 LDP Session Protection, example 58 LDP with Graceful Restart, example 54 LDP(label distribution protocol) 2, 3, 7, 12 control messages 3 control plane 7 Control Protocol (example) 3 dynamic path setup 2 hello discovery mechanism 3 hop-by-hop 2 IGP synchronization 12 prerequisites 2 link management module 121 link protection 130 local and remote label binding 3 local label advertisement control 10 local label advertisement control, LDP 10 local label allocation control 11 Local Label Allocation Control, example 57 local label allocation control, LDP 11 local label binding 3 loose hop reoptimization 135 LSP 2, 121 defining 2 LSP (continued) how to define 2 MPLS-TE 121 with LDP 2 LSPs, setting up 4 M MAM (maximum allocation model), constraint characteristics 128 MAM, how to configure 76 Maximum Allocation Model (MAM), constraint characteristics 128 mechanism 8 message rate limiting 66 MFI (MPLS forwarding infrastructure) 115 control plane 115 data plane services 115 LDP 115 TE 115 MFI (MPLS Forwarding Infrastructure) 115 control plane 115 data plane services, about 115 LDP 115 TE 115 midpoint 307 MPLS forwarding forms 115 MPLS-TE 120, 121, 129, 130, 155, 158 backbone 121 benefits 121 concepts 121 engineering a backbone 121 extensions 121 fast reroute 130 flooding 129, 130 flooding thresholds 130 flooding triggers 129 link management module 121 overview 121 path calculation module 121 prerequisites 120 topology 155 tunnels 158 with label switching forwarding 121 with RSVP 121 MPLS-TP 295, 296, 297, 299 bidirectional LSP 297 fault OAM support 297 links 299 overview 296 path protection 297 physical interfaces 299 restrictions 295 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x IN-4 OL-26056-02 IndexMPLS-TP (continued) tunnel endpoint 299 tunnel midpoint 299 MPLS-TP ip-less 300 N neighbors 3 support for 3 New Error Spec sub-codes 66 node failure 69 NSF (nonstop forwarding) 67 high-availability 67 with RSVP 67 NSF (Nonstop Forwarding) 67, 78 graceful restart, how to enable 78 high-availability 67 with RSVP 67 NSF services 6 NSR 13 NSR (non-stop routing) 13 graceful restart 13 how to define 13 LDP 13 O O-UNI LSP 66 objects 69 over a link 19 over link bundles 131 overload bit setting 131, 187 configuring 187 defining 131 how to configure 187 how to define 131 overview 66, 121, 127, 128 P P2MP FRR 144 P2MP LSP 144 P2MP RSVP TE 144 Packet dropping 81 parameters, configuring 17 passive targeted hellos, how to configure 22 path calculation module 121 path calculation module, MPLS-TE 121 path option 145 path option attributes 152 configuration hierarchy 152 path option switchover 153 path protection 153 peer control plane 8 persistent forwarding 8 phases 8 Point-to-Multipoint Traffic-Engineering 142 pools 128 prefixes 3 prerequisites 2, 19, 24, 29, 66, 120, 158 Prestandard DS-TE mode 127 protocol-based CLI 126 R RDM (russian doll model) and MAM (maximum allocation model) 127 RDM and MAM 128 RDM bandwidth constraint model 128 RDM, how to configure 76 recovery time 69 refresh interval, how to change 105 refresh reduction 66 Refresh Reduction and Reliable Messaging Configuration 105 Example command 105 remote label binding 3 Resource Reservation Protocol (RSVP) 70 Management Information Base (MIB) 70 restart time 69 restart time, how to change 107 restrictions 141 routing protocols 2 RSVP 65, 66, 67, 69, 70, 75, 76, 78, 80, 81, 83 ACL-based prefix filtering 70 compliance 66 configuration 66, 76, 78, 80, 81, 83 description 65 diffserv-TE bandwidth, how to confirm 76 extensions 66 fault handling 67 graceful restart 67 head node 67 hello messages 69 high availability 67 how to configure 76 implementing 75 message rate limiting 66 node failure 69 overview 66 prerequisites 66 recovery time 69 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x OL-26056-02 IN-5 IndexRSVP (continued) refresh reduction 66 restart time 69 support for graceful restart 66 tail node 67 topology 83 with O-UNI LSP, configuring 66 RSVP Authentication by Using All the Modes 110 Example command 110 RSVP Authentication for an Interface 109 Example command 109 RSVP Authentication Global Configuration Mode 108 Example command 108 RSVP messages 69 RSVP Neighbor Authentication 109 Example command 109 RSVP nodes 67 head node 67 tail node 67 Russian Doll Model (RDM) and Maximum Allocation Model (MAM) 127 RVSP node failure 69 S session parameters 6 session protection 11 session protection, LDP 11 Setting DSCP for RSVP Packets 107 Example command 107 setting implicit-null-override 52 soft-preemption 151 SRLG (shared-risk link group) 218 configuring 218 summary refresh message size, how to change 106 support for 3 support for graceful restart 66 synchronizing with LDP 12 T tail node 67 TE 115, 119, 129 class and attributes 129 class mapping 129 description 119 thresholds 130 thresholds, flooding 130 topology 83, 155 how to build 155 TP 295 description 295 triggers 129 triggers, flooding 129 TTL 69 RSVP 69 with graceful restart 69 tunnel bandwidth 76 MAM, how to configure 76 RDM, how to configure 76 tunnel bandwidth, engineering 76 tunnels 158 creating 158 prerequisites 158 U UNI session 66 V Verify IP LDP Fast Reroute Loop Free Alternate 61 Example 61 W with graceful restart 69 with label switching forwarding 121 with LDP 1, 2, 3 with MPLS TE 130 with O-UNI LSP, configuring 66 with RSVP 67, 121 Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide, Release 4.2.x IN-6 OL-26056-02 Index Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883 Text Part Number: OL-26077-02THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY. The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 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: http:// 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 used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental. © 2012 Cisco Systems, Inc. All rights reserved.C O N T E N T S P r e f a c e Preface xiii Changes to this document xiii Obtaining Documentation and Submitting a Service Request xiii C H A P T E R 1 Modular QoS Overview 1 Information About Modular Quality of Service Overview 1 Benefits of Cisco IOS XR QoS Features 2 QoS Techniques 2 Packet Classification and Marking 2 Default Marking Behavior 3 Congestion Management 4 Congestion Avoidance 4 Differentiated Service Model for Cisco IOS XR Software 4 Access Node Control Protocol 5 Additional Cisco IOS XR QoS Supported Features 5 Modular QoS Command-Line Interface 5 Fabric QoS 5 Where to Go Next 5 Additional References 6 Related Documents 6 Standards 6 MIBs 6 RFCs 7 Technical Assistance 7 C H A P T E R 2 Configuring Access Node Control Protocol 9 Prerequisites for Configuring ANCP 10 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 iiiRestrictions for Configuring ANCP 10 Information About Configuring ANCP 10 ANCP Adjacencies 10 Neighbor Adjacency Timing 10 ANCP Messages 11 Port Mapping 11 Rate Adjustment 11 Prioritization of ANCP Traffic 12 Process Restart 12 ANCP and QoS Interaction 12 Multi Chassis Link Aggregation 12 ANCP over MC-LAG 13 How to Configure ANCP on Cisco 14 Enabling ANCP 14 Configuring ANCP Server Sender Name 15 Configuring ANCP Neighbors 16 Mapping AN Ports to VLAN Subinterfaces 18 Configuring ANCP Rate Adjustment 21 Configuration Examples for Configuring ANCP contains the following examples: 22 Configuring ANCP Server Sender Name: Example 22 Configuring ANCP Neighbors: Example 22 Mapping AN ports to VLAN Subinterfaces: Example 25 Configuring ANCP Rate Adjustment: Example 26 ANCP and QoS Interaction: Example 26 QoS Policy Inconsistency on an Interface: Example 29 ANCP Rate Change 31 Port Speed Change 32 The show qos inconsistency Command: Example 33 Additional References 34 Related Documents 34 Standards 34 MIBs 34 RFCs 35 Technical Assistance 35 Configuring Access Node Control Protocol 35 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x iv OL-26077-02 ContentsC H A P T E R 3 Configuring Modular QoS Congestion Avoidance 37 Prerequisites for Configuring Modular QoS Congestion Avoidance 38 Information About Configuring Modular QoS Congestion Avoidance 38 Random Early Detection and TCP 38 Queue-limit for WRED 38 Tail Drop and the FIFO Queue 39 Configuring Random Early Detection 39 Configuring Random Early Detection 42 Configuring Weighted Random Early Detection 44 Configuring Tail Drop 47 Additional References 51 Related Documents 51 Standards 51 MIBs 52 RFCs 52 Technical Assistance 52 C H A P T E R 4 Configuring Modular QoS Congestion Management 53 Prerequisites for Configuring QoS Congestion Management 54 Information about Configuring Congestion Management 55 Congestion Management Overview 55 Modified Deficit Round Robin 55 Low-Latency Queueing with Strict Priority Queueing 56 Configured Accounting 56 QoS for IPv6 ACLs 57 Traffic Shaping 57 Regulation of Traffic with the Shaping Mechanism 57 Traffic Policing 58 Regulation of Traffic with the Policing Mechanism 59 Single-Rate Policer 59 Two-Rate Policer 60 Committed Bursts and Excess Bursts 62 Committed Bursts 62 Committed Burst Calculation 63 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 v ContentsExcess Bursts 63 Excess Burst Calculation 63 Deciding if Packets Conform or Exceed the Committed Rate 64 Two-Rate Three-Color (2R3C) Policer 64 Hierarchical Policing 65 Multiple Action Set 65 Packet Marking Through the IP Precedence Value, IP DSCP Value, and the MPLS Experimental Value Setting 65 Policer Granularity and Shaper Granularity 66 Congestion Management Using DEI 66 How to Configure QoS Congestion Management 66 Configuring Guaranteed and Remaining Bandwidths 66 Configuring Guaranteed Bandwidth 70 Configuring Bandwidth Remaining 73 Configuring Low-Latency Queueing with Strict Priority Queueing 76 Configuring Traffic Shaping 78 Configuring Traffic Policing (Two-Rate Color-Blind) 81 Configuring Traffic Policing (2R3C) 84 Configuring Hierarchical Policing 87 Configuration Examples for configuring congestion management 89 Traffic Shaping for an Input Interface: Example 89 Traffic Policing for a Bundled Interface: Example 90 2R3C Traffic Policing: Example 90 ATM QoS: Example 92 Hierarchical Policing: Example 92 Additional References 92 Related Documents 92 Standards 92 MIBs 93 RFCs 93 Technical Assistance 93 C H A P T E R 5 Configuring Modular QoS Service Packet Classification 95 Prerequisites for Configuring Modular QoS Packet Classification 96 Information About Configuring Modular QoS Packet Classification 97 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x vi OL-26077-02 ContentsPacket Classification Overview 97 Traffic Class Elements 97 Traffic Policy Elements 98 Default Traffic Class 98 Bundle Traffic Policies 98 Shared Policy Instance 99 Policy Inheritance 99 Port Shape Policies 99 Class-based Unconditional Packet Marking Feature and Benefits 100 Specification of the CoS for a Packet with IP Precedence 101 IP Precedence Bits Used to Classify Packets 101 IP Precedence Value Settings 102 Classification Based on DEI 102 Default DEI Marking 103 IP Precedence Compared to IP DSCP Marking 103 QoS Policy Propagation Using Border Gateway Protocol 103 QoS on the Satellite System 104 Auto QoS 104 In-Place Policy Modification 106 Modifications That Can Trigger In-Place Policy Modifications 106 Modifications to QoS Policies 106 Modifications to Class Maps 106 Modifications to Access Lists Used in Class Maps 107 Recommendations for Using In-Place Policy Modification 107 Dynamic Modification of Interface Bandwidth 107 Policy States 107 How to Configure Modular QoS Packet Classification 107 Creating a Traffic Class 107 Creating a Traffic Policy 111 Attaching a Traffic Policy to an Interface 113 Attaching a Shared Policy Instance to Multiple Subinterfaces 115 Attaching a Shared Policy Instance to Bundle Interfaces or EFP Bundles 116 Configuring Class-based Unconditional Packet Marking 118 Configuring QoS Policy Propagation Using Border Gateway Protocol 123 Policy Propagation Using BGP Configuration Task List 123 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 vii ContentsOverview of Tasks 123 Defining the Route Policy 123 Applying the Route Policy to BGP 125 Configuring QPPB on the Desired Interfaces 126 QPPB scenario 127 Configuring Hierarchical Ingress Policing 127 Configuration Examples for Configuring Modular QoS Packet Classification 129 Traffic Classes Defined: Example 129 Traffic Policy Created: Example 130 Traffic Policy Attached to an Interface: Example 130 Traffic Policy Attached to Multiple Subinterfaces: Example 130 Traffic Policy Attached to a Bundle Interface: Example 131 EFP Load Balancing with Shared Policy Instance: Example 131 |Configuring a Bundle Interface: Example 131 Configuring Two Bundle EFPs with the Load Balance Options: Example 131 Default Traffic Class Configuration: Example 132 class-map match-any Command Configuration: Example 132 Class-based, Unconditional Packet Marking Examples 132 IP Precedence Marking Configuration: Example 132 IP DSCP Marking Configuration: Example 133 QoS Group Marking Configuration: Example 133 CoS Marking Configuration: Example 133 MPLS Experimental Bit Imposition Marking Configuration: Example 134 MPLS Experimental Topmost Marking Configuration: Example 134 In-Place Policy Modification: Example 134 Additional References 135 Related Documents 135 Standards 136 MIBs 136 RFCs 136 Technical Assistance 137 C H A P T E R 6 Modular QoS Deployment Scenarios 139 802.1ad DEI 140 Mark DEI Based on a Policing Action: Example 141 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x viii OL-26077-02 ContentsMark DEI Based on Incoming Fields: Example 141 Congestion Management Using DEI: Example 141 Frame Relay QoS 141 Frame Relay DLCI Classification 142 Frame Relay DE Classification 142 Frame Relay DE Marking 142 Frame Relay QoS: Example 143 IP Header Compression QoS 145 IP Header Compression QoS: Example 146 L2VPN QoS 146 Frame Relay <-> Frame Relay Over Pseudowire: Example 146 Frame Relay <-> Ethernet Over Pseudowire: Example 148 MLPPP QoS/MLFR QoS 149 Multiclass MLPPP with QoS 150 MLPPP QoS/MLFR QoS: Example 151 MPLS QoS 151 MPLS Uniform Mode 152 MPLS Pipe Mode 152 MPLS Short Pipe Mode 153 Uniform, Pipe, Short Pipe Modes: Ingress PE Example 153 Uniform Mode: Egress PE Example 154 Pipe Mode: Egress PE Example 154 Short Pipe Mode: Egress PE Example 155 QoS on Multicast VPN 156 ASR 9000 Ethernet Line Cards 156 QoS on Multicast VPN: Example 156 Unconditional Marking 157 Conditional Marking 157 SIP 700 for the ASR 9000 157 QoS on Multicast VPN: Example 157 QoS on NxDS0 Interfaces 158 One-Level Policy Applied to Main Interface: Example 158 Two-Level Policy Applied to a Subinterface: Example 158 VPLS and VPWS QoS 159 VPLS and VPWS QoS: Example 160 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 ix ContentsRelated Information 161 C H A P T E R 7 Configuring Hierarchical Modular QoS 163 How to Configure Hierarchical QoS 164 Configuring the Three-Parameter Scheduler 164 ASR 9000 Ethernet Line Cards 165 SIP 700 for the ASR 9000 167 Attaching Hierarchical Policies to Physical and Virtual Links 169 Configuring Enhanced Hierarchical Ingress Policing 171 Two-Level Hierarchical Queueing Policy: Example 173 Three-Level Hierarchical Queueing Policy: Examples 174 Three-Level Hierarchical Queueing Policy: Examples 174 SIP 700 for the ASR 9000 175 Three-Parameter Scheduler: Examples 177 Three-Parameter Scheduler: Examples 177 SIP 700 for the ASR 9000 177 Hierarchical Policing: Examples 178 Hierarchical Policing: Examples 178 SIP 700 for the ASR 9000 178 Attaching Service Policies to Physical and Virtual Links: Examples 179 Physical Link: Example 179 Virtual Link: Example 179 Enhanced Hierarchical Ingress Policing: Example 179 Verifying the Configuration of Hierarchical Policies 180 Additional References 181 Related Documents 181 Standards 181 MIBs 181 RFCs 182 Technical Assistance 182 C H A P T E R 8 Configuring Modular QoS on Link Bundles 183 Link Bundling Overview 183 Load Balancing 184 Layer 3 Load Balancing on Link Bundles 184 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x x OL-26077-02 ContentsQoS and Link Bundling 185 QoS for POS link bundling 185 Input QoS Policy setup 185 Output QoS Policy setup 185 Additional References 186 Related Documents 186 Standards 186 MIBs 187 RFCs 187 Technical Assistance 187 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 xi Contents Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x xii OL-26077-02 ContentsPreface This guide describesthe IOS XR QoS configurations. The preface for the Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guidecontains the following sections: • Changes to this document, page xiii • Obtaining Documentation and Submitting a Service Request, page xiii Changes to this document Table 1 lists the technical changes made to this document since it was first printed. Table 1: Changes to This Document Revision Date Change Summary Republished with documentation updates for Cisco IOS XR Release 4.2.1. OL-26077-02 June 2012 OL-26077-01 December 2011 Initial release of this document. Obtaining Documentation and Submitting a Service Request For information on obtaining documentation,submitting a service request, and gathering additional information, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at: http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 xiii Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x xiv OL-26077-02 Preface Obtaining Documentation and Submitting a Service RequestC H A P T E R 1 Modular QoS Overview Quality of Service (QoS) is the technique of prioritizing traffic flows and providing preferential forwarding for higher-priority packets. The fundamental reason for implementing QoS in your network is to provide betterservice for certain traffic flows. A traffic flow can be defined as a combination ofsource and destination addresses, source and destination socket numbers, and the session identifier. A traffic flow can more broadly be described as a packet moving from an incoming interface that is destined for transmission to an outgoing interface. The traffic flow must be identified, classified, and prioritized on all routers and passed along the data forwarding path throughout the network to achieve end-to-end QoS delivery. The terms traffic flow and packet are used interchangeably throughout this module. To implement QoS on a network requires the configuration of QoS features that provide better and more predictable network service by supporting bandwidth allocation, improving loss characteristics, avoiding and managing network congestion, metering network traffic, or setting traffic flow priorities across the network. This module contains overview information about modular QoS features within a service provider network. • Information About Modular Quality of Service Overview, page 1 • Where to Go Next, page 5 • Additional References, page 6 Information About Modular Quality of Service Overview Before configuring modular QoS on your network, you should understand the following concepts: • Benefits of Cisco IOS XR QoS Features • QoS Techniques • Differentiated Service Model for Cisco IOS XR Software, page QC-4 • Access Node Control Protocol, page QC-5 • Additional Cisco IOS XR QoS Supported Features, page QC-5 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 1Benefits of Cisco IOS XR QoS Features The Cisco IOS XR QoS features enable networks to control and predictably service a variety of networked applications and traffic types. Implementing Cisco IOS XR QoS in your network promotes the following benefits: • Control over resources. You have control over which resources (bandwidth, equipment, wide-area facilities, and so on) are being used. For example, you can limit bandwidth consumed over a backbone link by FTP transfers or give priority to an important database access. • Tailored services. If you are an Internet Service Provider (ISP), the control and visibility provided by QoS enables you to offer carefully tailored grades of service differentiation to your customers. • Coexistence of mission-critical applications. Cisco IOS XR QoS features make certain of the following conditions: ? That your WAN is used efficiently by mission-critical applications that are most important to your business. ? That bandwidth and minimum delaysrequired by time-sensitive multimedia and voice applications are available. ? That other applications using the link get their fair service without interfering with mission-critical traffic. QoS Techniques QoS on Cisco IOS XR software relies on the following techniques to provide for end-to-end QoS delivery across a heterogeneous network: • Packet classification and marking • Congestion management • Congestion avoidance Before implementing the QoS features for these techniques, you should identify and evaluate the traffic characteristics of your network because not all techniques are appropriate for your network environment. Packet Classification and Marking Packet classification and marking techniques identify the traffic flow, and provide the capability to partition network traffic into multiple priority levels or classes of service. After classification is complete, any other QoS actions can be performed. Identification of a traffic flow can be performed by using several methods within a single router, such as access control lists(ACLs), protocol match, IP precedence, IP differentiated service code point (DSCP), MPLS EXP bit, or Class of Service (CoS). Marking of a traffic flow is performed by: • Setting IP Precedence or DSCP bits in the IP Type of Service (ToS) byte. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 2 OL-26077-02 Modular QoS Overview Benefits of Cisco IOS XR QoS Features• Setting CoS bits in the Layer 2 headers. • Setting EXP bits within the imposed or the topmost Multiprotocol Label Switching (MPLS) label. • Setting qos-group and discard-class bits. Marking can be carried out: • Unconditionally—As part of the class-action. • Conditionally—As part of a policer-action. • Combination of conditionally and unconditionally. For detailed conceptual and configuration information about packet marking, see the “Configuring Modular Quality of Service Packet Classification on Cisco ASR 9000 Series Routers” module in this guide for unconditional marking, and the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide for conditional marking. Default Marking Behavior When an ingress or egress interface adds VLAN tags or MPLS labels, it requires a default value for the CoS and EXP values that go into those tags and labels. The default value can be then overridden based on the policy map. The default value for CoS and EXP is based on a trusted field in the packet upon ingress to the system. The router implements an implicit trust of certain fields based on the packet type and ingress interface forwarding type (Layer 2 or Layer 3). By default, the router does not modify the IP precedence or DSCP without a policy-map being configured. The default behavior is described below. On an ingress or egress Layer 2 interface, such as xconnect or bridge-domain, the outermost CoS value is used for any field that gets added in the ingress interface. If there is a VLAN tag that gets added due to a Layer 2 rewrite, the incoming outermost CoS value is used for the new VLAN tag. If an MPLS label is added, the CoS value would be used for the EXP bits in the MPLS tag. On an ingress or egress Layer 3 interface (routed or label weighted for IPv4 or IPv6 packets), the three DSCP and precedence bits are identified in the incoming packet. For MPLS packets, the outermost label’s EXP bit is identified, and this value is used for any new field that gets added at the ingress interface. If an MPLS label is added, then the identified precedence, DSCP, or MPLS EXP value is used for the EXP bits in the newly added MPLS tag. Provider Backbone Bridge (PBB) Configuration In a PBB configuration, when a packet goes from a customer network to a service provider network using PBB encapsulation, the class of service (CoS) and discard eligibility indicator (DEI) used in the backbone VLAN tag (B-tag) and service instance tag (I-tag) of the PBB header is by default the CoS and DEI in the topmost tag of the incoming packet. When a packet goes from a service provider to a customer network, the PBB header is removed and the I-tag CoS and DEI is used by default on any tags that are imposed on the customer interface. The default marking occurs only on imposed tags, and not on existing or translated tags. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 3 Modular QoS Overview QoS TechniquesCongestion Management Congestion management techniques control congestion after it has occurred. One way that network elements handle an overflow of arriving traffic is to use a queueing algorithm to sort the traffic, then determine some servicing method of prioritizing it onto an output link. Cisco IOS XR software implements the low-latency Queueing (LLQ) feature, which brings strict priority queueing (PQ) to the Modified Deficit Round Robin (MDRR) scheduling mechanism. LLQ with strict PQ allows delay-sensitive data,such as voice, to be dequeued and sent before packetsin other queues are dequeued. Cisco IOS XR software includestraffic policing capabilities available on a per-class basis as well as class-based shaping. The traffic policing feature limitsthe input or output transmission rate of a class of traffic based on user-defined criteria, and can mark packets by setting values such as IP Precedence, QoS group, or DSCP value. Traffic shaping allows control over the traffic that leaves an interface to match its flow to the speed of the remote target interface and ensure that the traffic conforms to the policies contracted for it. Thus, traffic adhering to a particular profile can be shaped to meet downstream requirements, thereby eliminating bottlenecks in topologies with data-rate mismatches. Cisco IOS XRsoftware supports a class-based traffic shaping method through a CLI mechanism in which parameters are applied per class. For detailed conceptual and configuration information about congestion management, see the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module. Congestion Avoidance Congestion avoidance techniques monitor network traffic flowsin an effort to anticipate and avoid congestion at common network and internetwork bottlenecks before problems occur. These techniques are designed to provide preferential treatment for traffic (such as a video stream) that has been classified as real-time critical under congestion situations while concurrently maximizing network throughput and capacity utilization and minimizing packet loss and delay. Cisco IOS XR software supports the Random Early Detection (RED), Weighted RED (WRED), and tail drop QoS congestion avoidance features. For detailed conceptual and configuration information about congestion avoidance techniques, see the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. Differentiated Service Model for Cisco IOS XR Software Cisco IOS XR software supports a differentiated service that is a multiple-service model that can satisfy different QoS requirements. However, unlike in the integrated service model, an application using differentiated service does not explicitly signal the router before sending data. For differentiated service, the network tries to deliver a particular kind of service based on the QoS specified by each packet. Thisspecification can occur in different ways, for example, using the IP Precedence bitsettings in IP packets or source and destination addresses. The network uses the QoS specification to classify, mark, shape, and police traffic, and to perform intelligent queueing. The differentiated service model is used for several mission-critical applications and for providing end-to-end QoS. Typically, this service model is appropriate for aggregate flows because it performs a relatively coarse level of traffic classification. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 4 OL-26077-02 Modular QoS Overview Differentiated Service Model for Cisco IOS XR SoftwareAccess Node Control Protocol Access Node Control Protocol (ANCP) creates a control plane between a service-oriented aggregation device and an access node (AN) (for example, a DSLAM) in order to perform QoS-related, service-related, and subscriber-related operations. An ANCP Network Access Server (NAS) accepts and maintains ANCP adjacencies (sessions with an ANCP neighbor), and sending and receiving ANCP messages. ANCP allows static mapping between AN ports and VLAN subinterfaces so that DSL rate updates for a specific subscriber received by the ANCP server are applied to the QoS configuration corresponding to that subscriber. DSL train rates received via ANCP are used to alter shaping rates on subscriber-facing interfaces and subinterfaces on the router. Additional Cisco IOS XR QoS Supported Features The following sections describe the additional features that play an important role in the implementation of QoS on Cisco IOS XR software. Modular QoS Command-Line Interface In Cisco IOS XR software, QoS features are enabled through the Modular QoS command-line interface (MQC) feature. The MQC is a command-line interface (CLI) structure that allows you to create policies and attach these policies to interfaces. A traffic policy contains a traffic class and one or more QoS features. A traffic class is used to classify traffic, whereas the QoS features in the traffic policy determine how to treat the classified traffic. One of the main goals of MQC is to provide a platform-independent interface for configuring QoS across Cisco platforms. For detailed conceptual and configuration information about the MQC feature, see the “Configuring Modular Quality of Service Packet Classification on Cisco ASR 9000 Series Routers” module in this guide. Fabric QoS There is no separate configuration for fabric QoS. The fabric priority is derived from the priority action in the ingress service policy. Where to Go Next To configure the packet classification features that involve identification and marking of traffic flows, see the “Configuring Modular Quality of Service Packet Classification on Cisco ASR 9000 Series Routers” module in this guide. To configure the queueing, scheduling, policing, and shaping features, see the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. To configure the WRED and RED features, see the “Configuring Modular QoS Congestion Avoidance on Cisco ASR 9000 Series Routers module in this guide. To configure Access Node Control Protocol (ANCP) features, see the “Configuring Access Node Control Protocol on Cisco ASR 9000 Series Routers” module in this guide. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 5 Modular QoS Overview Access Node Control ProtocolAdditional References The following sections provide references related to implementing QoS. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml CISCO-CLASS-BASED-QOS-MIB Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 6 OL-26077-02 Modular QoS Overview Additional ReferencesRFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 7 Modular QoS Overview RFCs Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 8 OL-26077-02 Modular QoS Overview Technical AssistanceC H A P T E R 2 Configuring Access Node Control Protocol Access Node Control Protocol (ANCP) creates a control plane between a service-oriented aggregation device and an access node (AN) (for example, a DSLAM) in order to perform QoS-related, service-related, and subscriber-related operations. An ANCP server accepts and maintains ANCP adjacencies (sessions with an ANCP neighbor), and sending and receiving ANCP messages. ANCP allows static mapping between ANCP ports and VLAN subinterfaces so that DSL rate updates for a specific subscriber received by the ANCP server are applied to the QoS configuration corresponding to that subscriber. DSL train rates received via ANCP are used to alter shaping rates on subscriber-facing interfaces and subinterfaces on the router. ANCP runs as a single process on the route processor (RP). This module provides the conceptual and configuration information for implementing ANCP. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Access Node Control Protocol yes no Feature History for Configuring Access Node Protocol on Cisco ASR 9000 Series Routers Release Modification Release 3.7.2 The Access Node Control Protocol feature was introduced. Release 3.9.0 Mapping of ANCP portsto VLAN interfaces over Ethernet bundles was added. Release 4.0.0 ANCP over Multi Chassis Link Aggregation was introduced. • Prerequisites for Configuring ANCP, page 10 • Restrictions for Configuring ANCP, page 10 • Information About Configuring ANCP, page 10 • How to Configure ANCP on Cisco, page 14 • Configuration Examples for Configuring ANCP contains the following examples:, page 22 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 9• Additional References, page 34 • Configuring Access Node Control Protocol, page 35 Prerequisites for Configuring ANCP Restrictions for Configuring ANCP The following restrictions apply when configuring ANCP on your network: • Only Rate Adaptive Mode is supported in Cisco IOS XR Release 3.7.2. • VPN routing and forwarding (VRF) awareness is not supported in Cisco IOS XR Release 3.7.2. All IP interfaces receiving ANCP traffic should be in default VRF. • ANCP over IPv6 is not supported for Cisco IOS XR Release 3.7.2. • Only VLAN subinterfaces over Ethernet and Ethernet bundle ports can be mapped to AN ports using ANCP. Information About Configuring ANCP To implement ANCP, you must understand the following concepts: ANCP Adjacencies The ANCP server accepts TCP connections from access nodes. An ANCP neighbor is any access node that establishes an adjacency with an ANCP server. ANCP is configured globally, and as long as it is IP-enabled, there is no restriction on whether ANCP messages are received on the physical or logical interface. TCP creates a separate connection socket for each access node. Because access nodes are not identified explicitly in ANCP messages, the TCP socket serves as the ANCP neighbor identifier for the ANCP server. Once the TCP connection between ANCP neighbors has been made, the ANCP adjacency protocol establishes an ANCP session over that connection and negotiates ANCP capabilities. There is a single ANCP session per ANCP neighbor. ANCP session information becomes a subset of the information of a corresponding neighbor. ANCP protocol supports dynamic neighbor detection so no configuration of access nodes is required. ANCP neighbors can also be statically preconfigured on the ANCP server. In such a case, access nodes are explicitly identified by their IDs, which then must match the sender-name field in the ANCP adjacency protocol messages. Neighbor Adjacency Timing The adjacency timer defines the maximum delay between different stages of ANCP session establishment and the period of ANCP keepalive. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 10 OL-26077-02 Configuring Access Node Control Protocol Prerequisites for Configuring ANCPANCP adjacency lifetime is governed by the adjacency protocol. If synchronization with the peer access node is lost (for example, if the adjacency dead timer expires), the ANCP server removes the adjacency, and the underlying TCP connection is closed. ANCP Messages Two ANCP message types are processed by the ANCP server: Port Up and Port Down. Port Up messages contain DSL rate information; Port Down messages indicate that the corresponding access line is no longer available. DSL rate updates from Port Up messages are made available to the QoS subsystem. Port Down messages are used to internally track the ANCP port state. These messages can only be received by the server after the ANCP adjacency is established. However, once a Port Up message is received, the DSL rate information it contains is considered valid indefinitely, provided AN-port-to-interface mapping is configured for that port. It is stored in the AN port database until it is overwritten by another Port Up message for this port or is cleared manually. The removal of an adjacency or the reception of a Port Down message is reflected in the database for display and troubleshooting purposes, but DSL rate information is not invalidated. Port Mapping AN ports are statically mapped to VLAN subinterfaces, referred to as AN-port-to-interface mapping. This implies that there is at least one VLAN subinterface configured per subscriber line. There is no limit to the number of interfaces that can be mapped to an AN port. VLAN subinterfaces mapped to an AN port can be created or removed. When mapping is configured, VLAN subinterfaces are referenced in the ANCP module by name. This name is used for notifications of interface creation and deletion and provides the information that is used in updating the DSL rate. An AN port database is maintained for all ports learned from Port Up messages. This database also contains the AN-port-to-interface mapping database. If a Port Up message for an AN port arrives but no interface is mapped to that port, the rate information is stored in the AN port database but not published. When a mapping for that port is configured, the AN port database is scanned to identify any ANCP messagesthat were received on this port prior to the mapping configuration. If there were, the known rate is published. Rate Adjustment ANCP can apply a correction factor to the DSL line rate reported in Port Up messages before publishing the rate update to the system. This correction factor or rate adjustment is configurable in the global configuration mode per DSL type and access encapsulation type (ATM or Ethernet). DSL type and encapsulation type are provided in mandatory type, length, and value (TLV) data in the Port Up message. To use the rate adjustment feature for non-default loop types (Ethernet), DSLAMs must support the optional Access Loop Encapsulation sub-TLV. Note ANCP rate-adaptive mode information is processed by the ANCP module to determine the maximum bandwidth (shape rate) available for a given subscriber line. A fixed correction factor is then applied to the ANCP bandwidth based on the DSL type to account for the overhead of different DSL technologies. For example, a given subscriber’s ANCP bandwidth may be 15 Mbps, but due to the DSL technology overhead, the effective Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 11 Configuring Access Node Control Protocol ANCP Messagesbandwidth for that subscriber should be limited to 80 percent of 15 Mbps, which is 12 Mbps. This corrected effective bandwidth is conveyed to QoS modules to limit the maximum rate for the subscriber’s traffic. The ANCP rate is used as a QoS shaping rate only if the ANCP rate is greater than the currently configured QoS shaping rate. (The ANCP rate used by QoS is rounded down to the nearest 128 kbps.) Note Prioritization of ANCP Traffic In case of congestion, the Cisco ASR 9000 Series Router marks ANCP messages as high priority so that the aggregation network between the Network Access Server (NAS) and the access node (AN) can prioritize the ANCP messages ahead of other traffic. Process Restart During a process restart, TCP connections with ANCP neighbors normally drop. When the ANCP server comes back, TCP connections and ANCP sessions are reestablished by the neighbors. Upon reconnecting to the server, DSLAMs send Port Up messages for every active port. Any published rate information received prior to restart is restored in the ANCP configuration. If the restart occurred due to a crash, conflicts between published data and configuration data are detected and published data is corrected. ANCP and QoS Interaction When the ANCP value is applied correctly, it overrides the configured QoS shaper value. For an example of an ANCP value applied incorrectly and an example of the interaction with QoS when the ANCP value is applied correctly, see ANCP and QoS Interaction: Example. Multi Chassis Link Aggregation Multi Chassis Link Aggregation (MC-LAG) provides a simple redundancy mechanism for a Digital Subscriber Line Access Multiplier (DSLAM) to Cisco ASR 9000 Series Router connection. The redundancy is achieved by allowing a dual-homed connection to two routers. There is no added software complexity on the DSLAM, because the DSLAMviewsthe dual-homed connection as a single LAG. The DSLAMis known as a dual-homed device (DHD), and each router is known as a point of attachment (PoA) in MC-LAG terminology. For more Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 12 OL-26077-02 Configuring Access Node Control Protocol Prioritization of ANCP Trafficdetailed information about MC-LAG, see the Cisco ASR 9000 Series Aggregation Services Router L2VPN and Ethernet Services Configuration Guide. Figure 1: MC-LAG connects DSLAM to ASR 9000 Series Routers ANCP over MC-LAG Access Node Control Protocol (ANCP) is required to support a network topology that includes MC-LAG connections to DSLAMs. CPE circuits connect to DSLAMs and adjust line speeds based on signal quality with Rate Adaptive DS. Uplinks connect DSLAMs to routers. If the line speed of a circuit adjusts to a lower data rate than the uplink, subscriber data can be lost on the DSLAM. To prevent data loss, a DSLAM notifies the router of the new DSL rate with ANCP, and downstream shaping is dynamically applied on the router such that the data rate of the uplink does not exceed the CPE circuit data rate. ANCP applies DSLAM subscriber circuit DSL rate data it learns, to MC-LAG VLAN subinterfaces that are mapped to the subscriber circuit. The rates are applied to QoS shapers. The DSL rates that ANCP has applied to the MC-LAG VLAN subinterfaces are distributed by the ANCP application running on the active PoA for the MC-LAG to the ANCP application that is running on the standby PoA for the MC-LAG, using ICCP (Inter-Chassis Communication Protocol). ANCP on the standby PoA for the MC-LAG applies the DSL rate data to the corresponding MC-LAG VLAN subinterfaces. When an event occursthat causes one of the standby PoAs to assume the active role for the MC-LAG, the ANCP application on the newly active PoA has already applied the DSL rates to shapers on the MC-LAG VLAN subinterfaces, so the correct DSL rates are applied when this LAG goes active and congestion and subsequent data loss does not occur at the DSLAM. A DSLAM establishes an ANCP adjacency with a router over a TCP connection. The DSL rates for the DSLAM subscriber circuits are communicated over this TCP connection. The DSL rates are applied to Layer Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 13 Configuring Access Node Control Protocol ANCP and QoS Interaction2 VLAN subinterfaces that are mapped to the subscriber circuits. The ANCP TCP connection that is used to send DSL rates for Layer 2 VLAN subinterfaces on an MC-LAG must be on a Layer 3 VLAN subinterface that is in the same MC-LAG as the L2VLAN subinterfaces. Note that this constraint implies that there is one ANCP TCP connection between the DSLAM and router per MC-LAG. Figure 2: ANCP over MC-LAG VLAN Subinterfaces When an active PoA for a MC-LAG becomes the standby, the DSLAM ANCP TCP connection is terminated. The DSLAM re-establishes the ANCP TCP connection with the PoA that assumes the active role for the MC-LAG. How to Configure ANCP on Cisco This section contains instructions for the following tasks: • Enabling ANCP • Configuring ANCP Server Sender Name • Configuring ANCP Neighbors • Mapping AN Ports to VLAN Subinterfaces • Configuring ANCP Rate Adjustment Enabling ANCP To enable ANCP, use the ancp command in global configuration mode. Prerequisites To use this command, you must be in a user group associated with a task group that includes the proper task IDs for ANCP. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 14 OL-26077-02 Configuring Access Node Control Protocol How to Configure ANCP on CiscoSUMMARY STEPS 1. configure RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# 2. ancp RP/0/RSP0/CPU0:router(config)# ancp 3. end 4. or commit 5. show ancp summary [statistics][detail] RP/0/RSP0/CPU0:router# show ancp summary DETAILED STEPS Command or Action Purpose configure RP/0/RSP0/CPU0:router# Enters global configuration mode. configure RP/0/RSP0/CPU0:router(config)# Step 1 Step 2 ancp RP/0/RSP0/CPU0:router(config)# ancp Enables ANCP. Step 3 end Step 4 or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-ancp)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-ancp)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays ANCP summary and general configuration information. show ancp summary [statistics][detail] RP/0/RSP0/CPU0:router# show ancp summary Step 5 Configuring ANCP Server Sender Name The ANCP server sender name is used by the ANCP server in adjacency protocol messages to DSLAMs. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 15 Configuring Access Node Control Protocol Configuring ANCP Server Sender NameSUMMARY STEPS 1. configure RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# 2. ancp server sender-name {H.H.H | A.B.C.D} RP/0/RSP0/CPU0:router(config)# ancp server sender-name 0013.1aff.c2bd 3. end 4. or commit DETAILED STEPS Command or Action Purpose configureRP/0/RSP0/CPU0:router# configure Enters global configuration mode. RP/0/RSP0/CPU0:router(config)# Step 1 ancp server sender-name {H.H.H | A.B.C.D} Configures a local sender name. RP/0/RSP0/CPU0:router(config)# ancp server sender-name 0013.1aff.c2bd Step 2 Step 3 end Step 4 or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-ancp)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-ancp)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuring ANCP Neighbors The TCP connection from any neighbor is accepted on any interface. To match a neighbor configuration to a respective TCP connection, ANCP neighbors are identified by a sender name that must match the corresponding field in adjacency protocol messages. Optionally, a description string can be supplied to identify the ANCP neighbor on the system and an adjacency timer interval configured. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 16 OL-26077-02 Configuring Access Node Control Protocol Configuring ANCP NeighborsSUMMARY STEPS 1. configure 2. ancp neighbor sender-name {H.H.H | A.B.C.D}[description string] 3. ancp neighbor sender-name {H.H.H | A.B.C.D} [adjacency-timer interval] 4. end or commit 5. show ancp neighbor {description description-string| sender-name {H.H.H | A.B.C.D}} [statistics][detail] RP/0/RSP0/CPU0:router# show ancp neighbor sender-name 0006.2aaa.281b 6. show ancp neighbor summary [statistics][detail] RP/0/RSP0/CPU0:router# show ancp neighbor summary 7. clear ancp neighbor {all | description description-string |sender-name {H.H.H | A.B.C.D}}[state |statistics] RP/0/RSP0/CPU0:router# clear ancp neighbor all 8. clear ancp summary [statistics | detail] RP/0/RSP0/CPU0:router# clear ancp summary statistics 9. show ancp neighbor [all] [statistics] RP/0/RSP0/CPU0:router# show ancp neighbor statistics 10. show ancp neighbor state [none | synsent | synrcvd | estab} [statistics] RP/0/RSP0/CPU0:router# show ancp neighbor none DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# Step 1 ancp neighbor sender-name {H.H.H | Sets neighbor description parameter to easily identify DSLAMs. A.B.C.D}[description string] Step 2 Example: RP/0/RSP0/CPU0:router(config)# ancp neighbor sender-name oo13.1aff.c2bd description vendorA1 Sets neighbor adjacency timer parameter. If a neighbor session is already established, it will be reset so this timer can take affect. ancp neighbor sender-name {H.H.H | A.B.C.D} [adjacency-timer interval] Example: RP/0/RSP0/CPU0:router(config)# ancp neighbor sender-name 0013.1aff.c2bd adjacency-timer 20 Step 3 Note • Configured ports are placed in a down state while unconfigured ports are released. Step 4 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-ancp)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changesfound, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-ancp)# commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 17 Configuring Access Node Control Protocol Configuring ANCP NeighborsCommand or Action Purpose Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. (Optional) Displays data or message statistics associated with individual ANCP adjacencies or sets of adjacencies. show ancp neighbor {description description-string| sender-name {H.H.H | A.B.C.D}} [statistics][detail] RP/0/RSP0/CPU0:router# show ancp neighbor sender-name 0006.2aaa.281b Step 5 show ancp neighbor summary [statistics][detail] (Optional) Displays adjacency counts by state. RP/0/RSP0/CPU0:router# show ancp neighborsummary Step 6 (Optional) Clears ANCP neighbors, either all or individually. Configured ports are placed in a down state while releasing clear ancp neighbor {all | description description-string | sender-name {H.H.H | A.B.C.D}}[state | statistics] RP/0/RSP0/CPU0:router# clear ancp neighbor all Step 7 unconfigured ports. If state is selected, the adjacency is reset without clearing the TCP socket. (Optional) Clears aggregate message statistics only, without modifying individual neighbor or port statistics. clear ancp summary [statistics | detail] RP/0/RSP0/CPU0:router# clear ancp summary statistics Step 8 show ancp neighbor [all] [statistics] (Optional) Displays ANCP neighbor information. RP/0/RSP0/CPU0:router# show ancp neighborstatistics Step 9 show ancp neighbor state [none | synsent | synrcvd | (Optional) Displays adjacency protocol state information. estab} [statistics] RP/0/RSP0/CPU0:router# show ancp neighbor none Step 10 Mapping AN Ports to VLAN Subinterfaces Port mapping associates DSLAM access ports or customer premises equipment (CPE) clients of a DSLAM with VLAN subinterfaces. The VLANs can be IEEE 802.1Q or QinQ hierarchical VLANs. To map AN ports to VLAN subinterfaces, use the ancp an-port command in global configuration mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 18 OL-26077-02 Configuring Access Node Control Protocol Mapping AN Ports to VLAN SubinterfacesSUMMARY STEPS 1. configure 2. ancp an-port circuit-id Access-Loop-Circuit-ID [interface type interface-path-id | interface Bundle-Ether bundle-id] RP/0/RSP0/CPU0:router(config)# ancp an-port circuit-id circuit1 interface gigabitethernet 2/0/1/1.1 3. end or commit 4. show ancp an-port {circuit-id Access-Loop-Circuit-ID | interface type interface-path-id | interface Bundle-Ether bundle-id | mapping} [statistics | detail] 5. show ancp an-port [configured | dynamic-only][statistics] 6. show ancp an-port summary [statistics][detail] 7. clear ancp an-port {all | circuit-id Access-Loop-Circuit-Id | interface type interface-path-id | interface Bundle-Ether bundle-id | neighbor {description string | sender-name {H.H.H | A.B.C.D}}[statistics] 8. show ancp an-port {description description-string | sender-name {H.H.H | A.B.C.D}} 9. show ancp an-port state [up | down | none] [statistics] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# Step 1 Defines a unique access node ID. This ID information is included in the ANCP Port Up and Port Down messages. ancp an-port circuit-id Access-Loop-Circuit-ID [interface type interface-path-id | interface Step 2 Bundle-Ether bundle-id] The Circuit ID must be supplied before the access node port configuration can be committed. RP/0/RSP0/CPU0:router(config)# ancp an-port circuit-id circuit1 interface gigabitethernet 2/0/1/1.1 When using a shared policy instance in subinterfaces with ANCP, the same AN port circuit ID must be mapped to all subinterfaces that have the same shared policy instance. Step 3 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-ancp)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changesfound, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-ancp)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 19 Configuring Access Node Control Protocol Mapping AN Ports to VLAN SubinterfacesCommand or Action Purpose Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. (Optional) Displays information about the association of DSLAM access ports(or CPE clients of a DSLAM) with VLAN subinterfaces. show ancp an-port {circuit-id Access-Loop-Circuit-ID | interface type interface-path-id | interface Bundle-Ether bundle-id | mapping} [statistics | detail] Example: RP/0/RSP0/CPU0:router# show ancp an-port gigabitethernet 2/0/1/1.1 Step 4 (Optional) Displayssummary data orstatisticsfor AN portsthat are or are not mapped to interfaces. show ancp an-port [configured | dynamic-only][statistics] Example: RP/0/RSP0/CPU0:router# show ancp an-port configured Step 5 show ancp an-port summary [statistics][detail] (Optional) Displays port counts by state. Example: RP/0/RSP0/CPU0:router# show ancp an-port summary Step 6 (Optional) Clears AN ports of dynamic data or statistics either individually or in groups. Published information is cleared and information learned from the DSLAM is cleared. clear ancp an-port {all | circuit-id Access-Loop-Circuit-Id | interface type interface-path-id | interface Bundle-Ether bundle-id | neighbor {description string | sender-name {H.H.H | A.B.C.D}}[statistics] Step 7 Example: RP/0/RSP0/CPU0:router# clear ancp an-port all show ancp an-port {description description-string | (Optional) Displays AN port information. sender-name {H.H.H | A.B.C.D}} Step 8 Example: RP/0/RSP0/CPU0:router# show ancp an-port description vendor3b show ancp an-portstate [up | down | none] [statistics] (Optional) Displays AN port state information. Example: RP/0/RSP0/CPU0:router# show ancp an-port state up Step 9 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 20 OL-26077-02 Configuring Access Node Control Protocol Mapping AN Ports to VLAN SubinterfacesConfiguring ANCP Rate Adjustment Use the ancp rate-adjustment command to apply a mathematical correction to the ANCP rate update prior to applying it as a shaper rate. SUMMARY STEPS 1. configure RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# 2. ancp rate-adjustment dsl-type access-loop-type percent-factor factor 3. end or commit 4. show ancp summary detail RP/0/RSP0/CPU0:router# show ancp summary detail DETAILED STEPS Command or Action Purpose configure RP/0/RSP0/CPU0:router# Enters global configuration mode. configure RP/0/RSP0/CPU0:router(config)# Step 1 Sets the parameters for the ANCP shaper percent factor. dsl-type and access-loop-type are compared to appropriate values in optional type-length ancp rate-adjustment dsl-type access-loop-type percent-factor factor Example: RP/0/RSP0/CPU0:router(config)# ancp Step 2 values (TLVs) in the ANCP Port Up message and the ANCP rate is adjusted by a configured factor in case of a match. • dsl-type—(Required) Sets DSL type code: rate-adjustment adsl2 ethernet percent-factor 90 adsl1 adsl2 adsl2+ vdsl1 vdsl2 sdsl • access-loop-type—(Required) Sets access-loop-type to ATMor Ethernet. • percent-factor factor—(Required) A percent value to be applied to the ANCP reported rate update prior to configuring it as a shaping rate. Step 3 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changesfound, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returnsthe router to EXEC mode. Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 21 Configuring Access Node Control Protocol Configuring ANCP Rate AdjustmentCommand or Action Purpose (Optional) Shows generic ANCP configuration information along with rate adjustment configuration information. show ancp summary detail RP/0/RSP0/CPU0:router# show ancp summary detail Step 4 Configuration Examples for Configuring ANCP contains the following examples: • Configuring ANCP Server Sender Name: Example • Configuring ANCP Neighbors: Example • Mapping AN ports to VLAN Subinterfaces: Example • Configuring ANCP Rate Adjustment: Example • ANCP and QoS Interaction: Example • QoS Policy Inconsistency on an Interface: Example Configuring ANCP Server Sender Name: Example Configuring ANCP Neighbors: Example The following example shows how to set ANCP neighbor parameters: configure ancp neighbor sender-name 0001.2222.3333 description VendorA-1 ancp neighbor sender-name 0001.2222.3333 adjacency-timer 20 commit The following example shows the output from a specific neighbor using the sender-name MAC address: show ancp neighbor sender-name 0006.2aaa.281b ANCP Neighbor Data ------------------------------------------- Sender Name 0006.2aaa.281b Description first State ESTAB Capability Topology Discovery Ports: State Up 25 State Down 5 Total 30 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 22 OL-26077-02 Configuring Access Node Control Protocol Configuration Examples for Configuring ANCP contains the following examples:The following example showsthe same command with the addition of the detail keyword,showing a summary of AN ports that were reported by that neighbor: show ancp neighbor sender-name 0006.2aaa.281b detail ANCP Neighbor Data ------------------------------------------- Sender Name 0006.2aaa.281b Description first State ESTAB Capability Topology Discovery Ports: State Up 4 State Down 0 Total 4 Remote IP Addr/TCP Port 209.165.200.225/11126 Local IP Addr/TCP Port 209.165.200.250/6068 Server Sender Name 0013.1aff.c2bd Remote Timeout 25500 msec Local Timeout 10000 msec Adjacency Uptime 01:25:20 Time Since Last Port Msg 00:00:04 Remote Port 0 Remote Instance 1 Local Instance 1 Remote Partition ID 0 List of AN port data for neighbor sender name 0006.2aaa.281b ------------------------------ ----- ---------- -------- ---- ------------ Line Num Adjusted DS Circuit-id State Uptime State Intf Rate (kbps) ------------------------------ ----- ---------- -------- ---- ------------ circuit1 UP 00:27:49 SHOWTIME 3 2250 circuit2 UP 00:00:49 SHOWTIME 2 2250 circuit3 UP 00:00:49 SHOWTIME 2 2250 circuit4 UP 00:00:49 SHOWTIME 0 2250 The following example shows the same command, this time with the addition of the statistics keyword, showing a summary of message statistics for the selected neighbor: show ancp neighbor sender-name 0006.2aaa.281b statistics ANCP Neighbor Message Statistics for Sender-name -, Description 0006.2aaa.281b ----------------------------------------------- Sent Received SYN 1 2 SNYACK 1 0 ACK 589 238 RSTACK 0 0 Port Up - 10 Port Down - 0 Drops 0 0 Total 600 250 The following example shows how to display generic information about ANCP configuration, along with neighbor and port counts by state: show ancp summary ANCP Summary Information ---------------------------------------------- Capability: Topology Discovery Server sender-name: 0013:1aff.c2bd Neighbor count by state: - 0 SYNSENT 0 SUNRCVD 0 ESTAB 1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 23 Configuring Access Node Control Protocol Configuring ANCP Neighbors: Example---------------------------------- Total 1 Port count by state: State Up 1 State Down 0 State Unknown 0 ---------------------------------- Total 1 No. configured ports 1 No. mapped sub-interfaces 4 The following example shows how to display rate adjustment configuration information in addition to the generic information shown in the previous example: show ancp summary detail ANCP Summary Information ---------------------------------------------- Capability: Topology Discovery Server sender-name: 0013:1aff.c2bd Neighbor count by state: - 0 SYNSENT 0 SUNRCVD 0 ESTAB 1 ---------------------------------- Total 1 Port count by state: State Up 1 State Down 0 State Unknown 0 ---------------------------------- Total 1 No. configured ports 1 No. mapped sub-interfaces 4 Rate adjustment configuration: ------------------------------------------- DSL Type Loop Type Percent-Factor ------------------------------------------- ADSL1 ETHERNET 90 ADSL2 ETHERNET 100 ADSL2PLUS ETHERNET 100 VDSL1 ETHERNET 100 VDSL2 ETHERNET 100 SDSL ETHERNET 100 ADSL1 ATM 100 ADSL2 ATM 100 ADSL2PLUS ATM 100 VDSL1 ATM 100 VDSL2 ATM 100 SDSL ATM 100 The following example shows how to display a summary of ANCP message statistics: show ancp summary statistics ANCP Summary Message Statistics -------------------------------------- Sent Received SYN 3 6 SYNACK 4 0 ACK 7105 2819 RSTACK 2 0 Port Up - 6 Port Down - 0 Drops 0 0 Total 7114 2831 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 24 OL-26077-02 Configuring Access Node Control Protocol Configuring ANCP Neighbors: ExampleThe following example shows how to clear all neighbor data and statistics: clear ancp neighbor all The following example shows how to clear a specific neighbor: clear ancp neighbor description vendor1a The following example shows how to clear aggregate message statistics: clear ancp summary statistics Mapping AN ports to VLAN Subinterfaces: Example The following example shows a unique access node ID being defined: configure ancp an-port circuit-id circuit1 interface gigabitethernet 2/0/1/1.1 The following example shows how to display information for a port identified by its subinterface: show ancp an-port interface gigabitethernet 0/0/0/37.1 AN port circuit-id ccc1: State UP UPtime 02:23:45 Time Since Last Message 00:00:00 Encap Type ETHERNET DSL type ADSL1 DSL Line State SHOWTIME Number of Mapped Interfaces 3 Neighbor sender-name 0006.2aaa.281b Neighbor description 7200-client Configured Rate Adjustment 90% Actual Downstream Data Rate (kbps) 2500 Effective Downstream Data Rate (kbps) 2250 The following example shows how use the detail keyword to display port information as well as a list of the interfaces mapped to that port. show ancp an-port circuit-id ccc1 detail AN port circuit-id ccc1: State UP UPtime 02:31:36 Time Since Last Message 00:00:00 Encap Type ETHERNET DSL type ADSL1 DSL Line State SHOWTIME Number of Mapped Interfaces 3 Neighbor sender-name 0006.2aaa.281b Neighbor description 7200-client Configured Rate Adjustment 90% Actual Downstream Data Rate (kbps) 2500 Effective Downstream Data Rate (kbps) 2250 Actual Data Rate Upstream/Downstream (kbps) 2500/2500 Minimum Data Rate Upstream/Downstream (kbps) 0/0 Attainable Data Rate Upstream/Downstream (kbps) 0/0 Maximum Data Rate Upstream/Downstream (kbps) 0/0 Minimum Low Power Data Rate Upstream/Downstream (kbps) 0/0 Maximum Interleaving delay Upstream/Downstream (ms) 0/0 Actual Interleaving Delay Upstream/Downstream (ms) 0/0 Sub-interface Summary: total 3 ----------------------------------------------- Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 25 Configuring Access Node Control Protocol Mapping AN ports to VLAN Subinterfaces: ExampleSub-interface Name ifhandle --------------------------------- ---------- GigabitEthernet0/0/0/37.1 0x0 GigabitEthernet0/0/0/37.11 0x0 GigabitEthernet0/0/0/38.10 0xb80 The following example uses the statistics keyword to display port message statistics for a specific AN port: show ancp an-port circuit-id ccc1 statistics Port message statistics for circuit-id ccc1: Port Up 5 Port Down 0 The following example shows how to display port counts by state: show ancp an-port summary AN Port Count Summary ------------------------------ State UP 4 State DOWN 0 Config only ports 0 Total 4 # Configured ports 1 # Mapped sub-interfaces 4 The following example shows how to clear message statistics for all AN ports: clear ancp an-port all statistics The following example shows how to clear dynamic data for all AN ports: clear ancp an-port all The following example show how to clear dynamic data for a specific interface: clear ancp an-port interface gigabitethernet 0/1/0/10.5 Configuring ANCP Rate Adjustment: Example ANCP and QoS Interaction: Example The following example shows a hierarchical QoS policy configuration with and without an ANCP value applied: policy-map child-3play class 3play-voip priority level 1 police rate 65 kbps ! ! class 3play-video priority level 2 police rate 128 kbps ! random-detect cos 3 10 ms 100 ms random-detect cos 4 20 ms 200 ms ! class 3play-premium bandwidth percent 100 ! class class-default ! Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 26 OL-26077-02 Configuring Access Node Control Protocol Configuring ANCP Rate Adjustment: Exampleend-policy-map ! policy-map parent-3play-subscriber-line class class-default service-policy child-3play shape average 1 mbps ! end policy-map ! A policy is applied on an interface without ANCP: interface GigabitEthernet 0/1/0/0.1 l2transport encapsulation dot1q 2 service-policy output parent-3play-subscriber-line ! The show qos command verifies that ANCP has not been applied (ANCP is shown as 0 kbps). RP/0/RSP0/CPU0:router# show qos interface GigabitEthernet 0/1/0/0.1 out Interface: GigabitEthernet0_1_0_0.1 output Bandwidth: 1000000 kbps ANCP: 0 kbps Policy: parent-3-play-subscriber-line Total number of classes: 5 --------------------------------------------------------------------------- Level: 0 Policy: parent-3-play-subscriber-line Class: class-default QueueID: N/A Shape Profile: 1 CIR: 960 kbps CBS: 1024 bytes PIR: 960 kbps PBS: 13312 bytes WFQ Profile: 1 Committed Weight: 1 Excess Weight: 1 Bandwidth: 0 kbps, BW sum for Level 0: 1000000 kbps, Excess Ratio: 1 --------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-voip Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 8 (Priority 1) Queue Limit: 16 kbytes Profile: 3 Scale Profile: 0 Policer Profile: 0 (Single) Conform: 65 kbps (65 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-video Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 9 (Priority 2) Queue Limit: 8 kbytes (11 Unknown) Profile: 4 Scale Profile: 0 Policer Profile: 24 (Single) Conform: 128 kbps (128 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP WRED Type: COS based Table: 0 Profile: 4 Scale Profile: 0 Curves: 3 Default RED Curve Thresholds Min : 8 kbytes Max: 8 kbytes WRED Curve: 1 Thresholds Min : 8 kbytes Max: 8kbytes Match: 3 WRED Curve: 2 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 4 --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3-play-premium Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 10 (Priority Normal) Queue Limit: 16 kbytes Profile: 1 Scale Profile: 1 WFQ Profile: 4 Committed Weight: 100 Excess Weight: 100 Bandwidth: 1000 kbps, BW sum for Level 1: 1000 kbps, Excess Ratio: 1 --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: class-default Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 11 (Priority Normal) Queue Limit: 8 kbytes Profile: 1 Scale Profile: 0 WFQ Profile: 5 Committed Weight: 1 Excess Weight: 1 Bandwidth: 0 kbps, BW sum for Level 1: 1000 kbps, Excess Ratio: 1 -------------------------------------------------------------------------------- RP/0/RSP0/CPU0:router# Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 27 Configuring Access Node Control Protocol ANCP and QoS Interaction: ExampleANCP AN-Port to Interface Mapping is applied: RP/0/RSP0/CPU0:router# configure RP/0/RSP0/CPU0:router(config)# ancp an-port circuit-id dslam1_port1 interface GigabitEthernet 0/1/0/0.1 The show ancp an-port interface command shows the ANCP rate for the interface: RP/0/RSP0/CPU0:router# show ancp an-port interface GigabitEthernet 0/1/0/0.1 detail AN port circuit-id dlsam1_port1: State UP Uptime 00:00:32 Time Since Last Message 00:00:32 Encap Type ATM DSL Type ADSL1 DSL Line State SHOWTIME Number of Mapped Sub-interfaces 1 Neighbor sender-name 0000.0000.1bec Neighbor description - Configured Rate Adjustment 100% Actual Downstream Data Rate (kbps) 2000 Effective Downstream Data Rate (kbps) 2000 Actual Data Rate Upstream/Downstream (kbps) 2000/2000 Minimum Data Rate Upstream/Downstream (kbps) 0/0 Attainable Data Rate Upstream/Downstream (kbps) 0/0 Maximum Data Rate Upstream/Downstream (kbps) 0/0 Minimum Low Power Data Rate Upstream/Downstream (kbps) 0/0 Maximum Interleaving Delay Upstream/Downstream (ms) 0/0 Actual Interleaving Delay Upstream/Downstream (ms) 0/0 Sub-interface Summary: total 1 ------------------------------------------------------ Sub-interface name ifhandle ---------------------------------- ---------- GigabitEthernet0/1/0.1 0x215e042 The show qos command verifies that ANCP has been applied (ANCP is now shown as 1920 kbps). RP/0/RSP0/CPU0/router# show qos interface GigabitEthernet 0/1/0.1 out Interface GigabitEthernet0_1_0_0.1 output Bandwidth: 1000000 kbps ANCP: 1920 kbps Policy: parent-3play-subscriber-line Total number of classes: 5 -------------------------------------------------------------------- Level: 0 Policy: parent-3-play-subscriber-line Class: class-default QueueID: N/A Shape Profile: 1 CIR: 1920 kbps CBS: 1024 bytes PIR: 1920 kbps PBS: 13312 bytes WFQ Profile: 1 Committed Weight: 1 Excess Weight: 1 Bandwidth: 0 kbps, BW sum for Level 0: 1000000 kbps, Excess Ratio: 1 --------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-voip Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 8 (Priority 1) Queue Limit: 16 kbytes Profile: 3 Scale Profile: 0 Policer Profile: 0 (Single) Conform: 65 kbps (65 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-video Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 9 (Priority 2) Queue Limit: 8 kbytes (11 Unknown) Profile: 4 Scale Profile: 0 Policer Profile: 24 (Single) Conform: 128 kbps (128 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP WRED Type: COS based Table: 0 Profile: 4 Scale Profile: 0 Curves: 3 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 28 OL-26077-02 Configuring Access Node Control Protocol ANCP and QoS Interaction: ExampleDefault RED Curve Thresholds Min : 8 kbytes Max: 8 kbytes WRED Curve: 1 Thresholds Min : 8 kbytes Max: 8kbytes Match: 3 WRED Curve: 2 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 4 --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3-play-premium Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 10 (Priority Normal) Queue Limit: 24 kbytes Profile: 1 Scale Profile: 8 WFQ Profile: 4 Committed Weight: 100 Excess Weight: 100 Bandwidth: 1920 kbps, BW sum for Level 1: 1920 kbps, Excess Ratio: 1 --------------------------------------------------------------------------------- Level: 1 Policy: child-3play Class: class-default Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 11 (Priority Normal) Queue Limit: 8 kbytes Profile: 1 Scale Profile: 0 WFQ Profile: 5 Committed Weight: 1 Excess Weight: 1 Bandwidth: 0 kbps, BW sum for Level 1: 1920 kbps, Excess Ratio: 1 --------------------------------------------------------------------------------- QoS Policy Inconsistency on an Interface: Example A valid QoS policy with absolute or percentage values must satisfy the following requirement: interface speed > ANCP rate > QoS parent shaper rate A Qos policy successfully applied to an interface can become invalid due to two possible external factors. These two factors are an ANCP rate change or a port speed change: • ANCP Rate Change—If the ANCP rate falls, or the ANCP rate adjustment factor makes the ANCP rate fall below the shaper rate of the top-most QoS policy map, the QoS policy on the interface becomes invalid. • Port Speed Change—The port of a GigabitEthernet interface can be configured to 10 Mbps or 100 Mbps mode from the default of 1000 Mbps. When this happens, the interface speed drops to less than the ANCP rate and QoS parent shaper rate. The QoS policy on the interface becomes invalid. When either of these changes occur, the QoS policy on the interface is placed in the inconsistency state. To recover from the inconsistency state, perform one of the following tasks: • Remove the QoS policy from the interface, adjust the QoS policy values, then reapply the QoS policy to the interface. • If the ANCP adjustment rate or the ANCP rate has been modified, update the ANCP rate to satisfy the QoS policy rate requirement. • If port speed has been modified, update the speed to satisfy the QoS policy rate requirement. Following are examples of the effects of an ANCP rate change and a port speed change have on the following QoS policy configuration on a Gigabit Ethernet interface: policy-map child-3play class 3play-voip priority level 1 police rate 65 kbps ! ! class 3play-video priority level 2 police rate 128 kbps ! random-detect cos 3 10 ms 100 ms Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 29 Configuring Access Node Control Protocol QoS Policy Inconsistency on an Interface: Examplerandom-detect cos 4 20 ms 200 ms ! class 3play-premium bandwidth percent 100 ! Class class-default ! end-policy-map ! policy-map parent-3play-subscriber-line class class-default service-policy child-3play bandwidth 200 mbps bandwidth remaining percent 100 shape average 800 mbps ! end-policy-map ! If the ANCP rate value 999936 kbps, and the ANCP rate factor is 100 percent, the ANCP rate value of 999936 is applied to the interface. This satisfies the requirement: Interface speed (1000000 kbps) > ANCP rate (999936 kbps) > QoS parent shaper rate (800000 kbps) This is a successful application of the policy as shown by the following show qos interface command output: show qos interface gig0/0/0/11.1 output Wed Mar 18 18:25:20.140 UTC Interface: GigabitEthernet0_0_0_11.1 output Bandwidth: 1000000 kbps ANCP: 999936 kbps Policy: parent-3play-subscriber-line Total number of classes: 5 ---------------------------------------------------------------------- Level: 0 Policy: parent-3play-subscriber-line Class: class-default QueueID: N/A Shape Profile: 1 CIR: 200000 kbps (200 mbps) CBS: 100352 bytes PIR: 999936 kbps PBS: 12517376 bytes WFQ Profile: 1 Committed Weight: 51 Excess Weight: 100 Bandwidth: 200000 kbps, BW sum for Level 0: 1000000 kbps, Excess Ratio: 100 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-voip Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 136 (Priority 1) Queue Limit: 16 kbytes Profile: 3 Scale Profile: 0 Policer Profile: 0 (Single) Conform: 65 kbps (65 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-video Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 137 (Priority 2) Queue Limit: 8 kbytes (11 Unknown) Profile: 4 Scale Profile: 0 Policer Profile: 24 (Single) Conform: 128 kbps (128 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP WRED Type: COS based Table: 0 Profile: 4 Scale Profile: 0 Curves: 3 Default RED Curve Thresholds Min : 8 kbytes Max: 8 kbytes WRED Curve: 1 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 3 WRED Curve: 2 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 4 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-premium Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 138 (Priority Normal) Queue Limit: 2097 kbytes Profile: 2 Scale Profile: 0 WFQ Profile: 6 Committed Weight: 1020 Excess Weight: 1020 Bandwidth: 200000 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 30 OL-26077-02 Configuring Access Node Control Protocol QoS Policy Inconsistency on an Interface: ExampleLevel: 1 Policy: child-3play Class: class-default Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 139 (Priority Normal) Queue Limit: 65 kbytes Profile: 1 Scale Profile: 3 WFQ Profile: 0 Committed Weight: 1 Excess Weight: 1020 Bandwidth: 0 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- ANCP Rate Change If the ANCP rate falls below the QoS parent shaper rate for example, to 300000 kbps, and the ANCP rate adjustment factor remains at 100 percent, the ANCP rate is no longer greater than the QoS parent shaper rate of 800000 kbps. This causes the QoS policy on the interface to be placed in the inconsistency state as shown by the following show qos interface command output: show qos interface gig0/0/0/11.1 output Wed Mar 18 18:21:11.180 UTC Interface: GigabitEthernet0_0_0_11.1 output Bandwidth: 1000000 kbps ANCP: 299904 kbps *Inconsistency* : ANCP - Downstream Rate less than Shaper Rate Policy: parent-3play-subscriber-line Total number of classes: 5 ---------------------------------------------------------------------- Level: 0 Policy: parent-3play-subscriber-line Class: class-default QueueID: N/A Shape Profile: 2 CIR: 200000 kbps (200 mbps) CBS: 100352 bytes PIR: 800000 kbps PBS: 10027008 bytes WFQ Profile: 1 Committed Weight: 51 Excess Weight: 100 Bandwidth: 200000 kbps, BW sum for Level 0: 1000000 kbps, Excess Ratio: 100 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-voip Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 136 (Priority 1) Queue Limit: 16 kbytes Profile: 3 Scale Profile: 0 Policer Profile: 0 (Single) Conform: 65 kbps (65 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-video Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 137 (Priority 2) Queue Limit: 8 kbytes (11 Unknown) Profile: 4 Scale Profile: 0 Policer Profile: 24 (Single) Conform: 128 kbps (128 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP WRED Type: COS based Table: 0 Profile: 4 Scale Profile: 0 Curves: 3 Default RED Curve Thresholds Min : 8 kbytes Max: 8 kbytes WRED Curve: 1 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 3 WRED Curve: 2 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 4 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-premium Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 138 (Priority Normal) Queue Limit: 2097 kbytes Profile: 2 Scale Profile: 0 WFQ Profile: 6 Committed Weight: 1020 Excess Weight: 1020 Bandwidth: 200000 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: class-default Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 139 (Priority Normal) Queue Limit: 65 kbytes Profile: 1 Scale Profile: 3 WFQ Profile: 0 Committed Weight: 1 Excess Weight: 1020 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 31 Configuring Access Node Control Protocol QoS Policy Inconsistency on an Interface: ExampleBandwidth: 0 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- Once the ANCP rate returns to the configured value, the inconsistency is automatically cleared, which can be confirmed by issuing the show qos interface command. If the ANCP rate has been configured to a value less than the shape rate, the inconsistency is not automatically cleared, and the policy must be modified and reapplied. To prevent this from occurring, be sure to configure the policy-map shape rate to the minimum value of all ANCP rates for a given service level. Note Port Speed Change If the port speed is configured to less than the QoS parent shaper rate for example to 100 Mbps (100000 kbps), the requirement is no longer met since the port speed is no longer greater than the QoS parent shaper rate of 800000 kbps. RP/0/RSP0/CPU0:ro-node1#conf RP/0/RSP0/CPU0:ro-node1(config)#int gigabitEthernet 0/0/0/1 RP/0/RSP0/CPU0:ro-node1(config-if)#speed 100 RP/0/RSP0/CPU0:ro-node1(config-if)#commit LC/0/0/CPU0:Nov 4 05:36:55.041 : qos_ma_ea[197]: %QOS-QOS_EA_MODIFY_FAIL-3-ERROR : inconsistency detected due to ANCP or Bandwidth modification. Execute show qos inconsistency, to obtain information. Policy resolution failure RP/0/RSP0/CPU0:ro-node1(config-if)#end This causes the QoS policy on the interface to be placed in the inconsistency state as shown by the following show qos interface command output: RP/0/RSP0/CPU0:ro-node1#sh qos int gigabitEthernet 0/0/0/1.1 output Interface: GigabitEthernet0_0_0_1.1 output Bandwidth: 1000000 kbps ANCP: 0 kbps *Inconsistency* : Port speed modify fails on Policy Policy: parent-3play-subscriber-line Total number of classes: 5 ---------------------------------------------------------------------- Level: 0 Policy: parent-3play-subscriber-line Class: class-default QueueID: N/A Shape Profile: 1 CIR: 200000 kbps (200 mbps) CBS: 100352 bytes PIR: 800000 kbps PBS: 10027008 bytes WFQ Profile: 1 Committed Weight: 51 Excess Weight: 100 Bandwidth: 200000 kbps, BW sum for Level 0: 1000000 kbps, Excess Ratio: 100 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-voip Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 640 (Priority 1) Queue Limit: 16 kbytes Profile: 3 Scale Profile: 0 Policer Profile: 0 (Single) Conform: 65 kbps (65 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-video Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 641 (Priority 2) Queue Limit: 8 kbytes Profile: 4 Scale Profile: 0 Policer Profile: 24 (Single) Conform: 128 kbps (128 kbps) Burst: 1598 bytes (0 Default) Child Policer Conform: TX Child Policer Exceed: DROP Child Policer Violate: DROP WRED Type: COS based Table: 2 Profile: 4 Scale Profile: 0 Curves: 3 Default RED Curve Thresholds Min : 8 kbytes Max: 8 kbytes WRED Curve: 1 Thresholds Min : 8 kbytes Max: 8 kbytes Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 32 OL-26077-02 Configuring Access Node Control Protocol QoS Policy Inconsistency on an Interface: ExampleMatch: 3 WRED Curve: 2 Thresholds Min : 8 kbytes Max: 8 kbytes Match: 4 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: 3play-premium Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 642 (Priority Normal) Queue Limit: 4194 kbytes Profile: 2 Scale Profile: 1 WFQ Profile: 3 Committed Weight: 1020 Excess Weight: 1020 Bandwidth: 200000 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- Level: 1 Policy: child-3play Class: class-default Parent Policy: parent-3play-subscriber-line Class: class-default QueueID: 643 (Priority Normal) Queue Limit: 4194 kbytes Profile: 2 Scale Profile: 1 WFQ Profile: 4 Committed Weight: 1 Excess Weight: 1 Bandwidth: 0 kbps, BW sum for Level 1: 200000 kbps, Excess Ratio: 1 ---------------------------------------------------------------------- To resolve this issue, the port speed must be set back to 1000 Mbps (1000000 kbps) using the no speed command. RP/0/RSP0/CPU0:ro-node1#conf RP/0/RSP0/CPU0:ro-node1(config)#int gigabitEthernet 0/0/0/1 RP/0/RSP0/CPU0:ro-node1(config-if)#no speed RP/0/RSP0/CPU0:ro-node1(config-if)#commit LC/0/0/CPU0:Nov 4 05:37:39.171 : ifmgr[144]: %PKT_INFRA-LINEPROTO-5-UPDOWN : Line protocol on Interface GigabitEthernet0/0/0/1, changed state to Up The clearing of the inconsistency can be verified by again issuing the show qos interface command. The show qos inconsistency Command: Example A command related to show qosinterface command provides additional detail about QoS policy inconsistency: RP/0/RSP0/CPU0:RO2#show qos inconsistency detail 0 location 0/7/CPU0 Interface Lists with QoS Inconsistency Warning: ========================================================= Node 0/7/CPU0 --------------------------------------------------------- Interfaces with QoS Inconsistency: ANCP - No Shaper at top policymap ========================================================================== Interface Direction Policy Name SPI Name -------------------------------------------------------------------------- GigabitEthernet0/7/0/1.5 output parent-none Interfaces with QoS Inconsistency: ANCP - Downstream Rate less than Shaper Rate ========================================================================== Interface Direction Policy Name SPI Name -------------------------------------------------------------------------- GigabitEthernet0/7/0/1 output parent SPI1 GigabitEthernet0/7/0/1.2 output parent GigabitEthernet0/7/0/1 output normal-policy-name normal-spi-name RP/0/RSP0/CPU0:RO2# RP/0/RSP0/CPU0:RO2#show qos inconsistency summary location 0/7/CPU0 Summary Counts of QoS Inconsistency Warnings: ========================================================= Node 0/7/CPU0 Inconsistency Warning Type Count -------------------------------------------------------- ANCP - No Shaper at top policymap: 1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 33 Configuring Access Node Control Protocol QoS Policy Inconsistency on an Interface: ExampleANCP - Downstream Rate less than Shaper Rate: 4 RP/0/RSP0/CPU0:RO2# Additional References The following sections provide references related to implementing ANCP. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 34 OL-26077-02 Configuring Access Node Control Protocol Additional ReferencesRFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Configuring Access Node Control Protocol Access Node Control Protocol (ANCP) creates a control plane between a service-oriented aggregation device and an access node (AN) (for example, a DSLAM) in order to perform QoS-related, service-related, and subscriber-related operations. An ANCP server accepts and maintains ANCP adjacencies (sessions with an ANCP neighbor), and sending and receiving ANCP messages. ANCP allows static mapping between ANCP ports and VLAN subinterfaces so that DSL rate updates for a specific subscriber received by the ANCP server are applied to the QoS configuration corresponding to that subscriber. DSL train rates received via ANCP are used to alter shaping rates on subscriber-facing interfaces and subinterfaces on the router. ANCP runs as a single process on the route processor (RP). This module provides the conceptual and configuration information for implementing ANCP. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Access Node Control Protocol yes no Feature History for Configuring Access Node Protocol on Cisco ASR 9000 Series Routers Release Modification Release 3.7.2 The Access Node Control Protocol feature was introduced. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 35 Configuring Access Node Control Protocol RFCsRelease 3.9.0 Mapping of ANCP portsto VLAN interfaces over Ethernet bundles was added. Release 4.0.0 ANCP over Multi Chassis Link Aggregation was introduced. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 36 OL-26077-02 Configuring Access Node Control Protocol Configuring Access Node Control ProtocolC H A P T E R 3 Configuring Modular QoS Congestion Avoidance Congestion avoidance techniques monitor traffic flow in an effort to anticipate and avoid congestion at common network bottlenecks. Avoidance techniques are implemented before congestion occurs as compared with congestion management techniques that control congestion after it has occurred. Congestion avoidance is achieved through packet dropping. Cisco IOS XR software supports the following quality of service (QoS) congestion avoidance techniques that drop packets: • Random early detection (RED • Weighted random early detection (WRED) • Tail drop The module describes the concepts and tasks related to these congestion avoidance techniques. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Random Early Detection yes yes Weighted Random Early Detection yes yes Tail Drop yes yes Feature History for Configuring Modular QoS Congestion Avoidance on Cisco ASR 9000 Series Routers Release Modification The Congestion Avoidance feature was introduced on ASR 9000 Ethernet Line Cards. The Random Early Detection, Weighted Random Early Detection, and Tail Drop features were introduced on ASR 9000 Ethernet Line Cards. Release 3.7.2 The Random Early Detection, Weighted Random Early Detection, and Tail Drop features were supported on the SIP 700 for the ASR 9000. Release 3.9.0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 37• Prerequisites for Configuring Modular QoS Congestion Avoidance, page 38 • Information About Configuring Modular QoS Congestion Avoidance, page 38 • Additional References, page 51 Prerequisites for Configuring Modular QoS Congestion Avoidance The following prerequisite is required for configuring QoS congestion avoidance on your network: You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. Information About Configuring Modular QoS Congestion Avoidance To configure QoS congestion avoidance techniques in this document you must understand the following concepts: Random Early Detection and TCP The RED congestion avoidance technique takes advantage of the congestion control mechanism of TCP. By randomly dropping packets prior to periods of high congestion, RED tells the packet source to decrease its transmission rate. Assuming the packet source is using TCP, it decreases its transmission rate until all packets reach their destination, indicating that the congestion is cleared. You can use RED as a way to cause TCP to slow transmission of packets. TCP not only pauses, but it also restarts quickly and adapts its transmission rate to the rate that the network can support. RED distributes losses in time and maintains normally low queue depth while absorbing traffic bursts. When enabled on an interface, RED begins dropping packets when congestion occurs at a rate you select during configuration. Queue-limit for WRED Queue-limit is used to fine-tune the number of buffers available for each queue. It can only be used on a queuing class. Default queue limit is 100 ms of the service rate for the given queue. The service rate is the sum of minimum guaranteed bandwidth and bandwidth remaining assigned to a given class either implicitly or explicitly. The queue-limit is rounded up to one of the following values: 8 KB, 16 KB, 24 KB, 32 KB, 48 KB, 64 KB, 96 KB, 128 KB, 192 KB, 256 KB, 384 KB, 512 KB, 768 KB, 1024 KB, 1536 KB, 2048 KB, 3072 KB, 4196 KB, 8192 KB, 16394 KB, 32768 KB, 65536 KB, 131072 KB, or 262144 KB. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 38 OL-26077-02 Configuring Modular QoS Congestion Avoidance Prerequisites for Configuring Modular QoS Congestion AvoidanceTail Drop and the FIFO Queue Tail drop is a congestion avoidance technique that drops packets when an output queue is full until congestion is eliminated. Tail drop treats all traffic flow equally and does not differentiate between classes of service. It manages the packets that are unclassified, placed into a first-in, first-out (FIFO) queue, and forwarded at a rate determined by the available underlying link bandwidth. See the “Default Traffic Class” section of the “Configuring Modular Quality of Service Packet Classification and Marking on Cisco ASR 9000 Series Routers” Configuring Random Early Detection This configuration task issimilar to that used for WRED except that the random-detect precedence command is not configured and the random-detect command with the default keyword must be used to enable RED. Restrictions If you configure the random-detect default command on any classincluding class-default, you must configure one of the following commands: • shape average • bandwidth • bandwidth remaining SUMMARY STEPS 1. configure 2. policy-map policy-map-name 3. class class-name 4. random-detect {cos value | default | discard-class value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] } 5. bandwidth {bandwidth [units] | percent value} or bandwidth remaining [percent value | ratio ratio-value 6. shape average {percent percentage | value [units]} 7. exit 8. exit 9. interface type interface-path-id 10. service-policy {input | output} policy-map 11. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 39 Configuring Modular QoS Congestion Avoidance Tail Drop and the FIFO QueueDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-map-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. random-detect {cos value | default | discard-class Enables RED with default minimum and maximum thresholds. value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] } Step 4 Example: RP/0/RSP0/CPU0:router(config-pmap-c)# random-detect default (Optional) Specifiesthe bandwidth allocated for a class belonging to a policy map. bandwidth {bandwidth [units] | percent value} or bandwidth remaining [percent value | ratio ratio-value Step 5 or Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 30 (Optional) Specifies how to allocate leftover bandwidth to various classes. Note • One of these configurations is required for a or non-default class. RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 20 (Optional) Shapes traffic to the specified bit rate or a percentage of the available bandwidth. shape average {percent percentage | value [units]} Example: RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 Step 6 exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 7 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 40 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Random Early DetectionCommand or Action Purpose exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 8 interface type interface-path-id Enters configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface TenGigE 0/2/0/0 Step 9 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 10 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 11 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exitsthe configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 41 Configuring Modular QoS Congestion Avoidance Configuring Random Early DetectionConfiguring Random Early Detection SUMMARY STEPS 1. 2. policy-map policy-name 3. class class-name 4. random-detect {cos value | default | discard-class value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] } 5. random-detect {discard-class value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] } 6. bandwidth {bandwidth [units] | percent value} 7. bandwidth remaining percent value 8. shape average {percent percentage | value [units]} 9. exit 10. exit 11. interface type interface-path-id 12. end or commit DETAILED STEPS Command or Action Purpose Enters global configuration mode. Example: RP/0//CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0//CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0//CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. random-detect {cos value | default | discard-class Enables RED with minimum and maximum thresholds. value | dscp value | exp value | precedence value | min-threshold [units] max-threshold [units] } Step 4 Example: RP/0/RP0/CPU0:router(config-pmap-c)# random-detect default Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 42 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Random Early DetectionCommand or Action Purpose random-detect {discard-class value | dscp value | Enables RED with default minimum and maximum thresholds. exp value | precedence value | min-threshold [units] max-threshold [units] } Step 5 Example: RP/0/0/CPU0:router(config-pmap-c)# random-detect 1000000 2000000 (Optional) Specifiesthe bandwidth allocated for a class belonging to a policy map. bandwidth {bandwidth [units] | percent value} Example: RP/0//CPU0:router(config-pmap-c)# bandwidth percent 30 Step 6 (Optional) Specifies how to allocate leftover bandwidth to various classes. bandwidth remaining percent value Example: RP/0//CPU0:router(config-pmap-c)# bandwidth remaining percent 20 Step 7 (Optional) Shapes traffic to the specified bit rate or a percentage of the available bandwidth. shape average {percent percentage | value [units]} Example: RP/0//CPU0:router(config-pmap-c)# shape average percent 50 Step 8 exit Returns the router to policy map configuration mode. Example: RP/0//CPU0:router(config-pmap-c)# exit Step 9 exit Returns the router to global configuration mode. Example: RP/0//CPU0:router(config-pmap)# exit Step 10 Step 11 interface type interface-path-id Enters configuration mode and configures an interface. Example: RP/0//CPU0:router(config)# interface pos 0/2/0/0 Attaches a policy map to an input or output interface to be used as the service policy for that interface. • In this example, the traffic policy evaluates all traffic leaving that interface. Example: RP/0//CPU0:router(config-if)# service-policy output policy1 Step 12 end or commit Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 43 Configuring Modular QoS Congestion Avoidance Configuring Random Early DetectionCommand or Action Purpose Example: RP/0//CPU0:router(config-cmap)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0//CPU0:router(config-cmap)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. Configuring Weighted Random Early Detection WRED drops packets selectively based on any specified criteria, such as CoS, DSCP, EXP, discard-class, or precedence . WRED uses these matching criteria to determine how to treat different types of traffic. Configure WRED using the random-detect command and different CoS, DSCP, EXP, and discard-class values. The value can be range or a list of values that are valid for that field. You can also use minimum and maximum queue thresholds to determine the dropping point. When a packet arrives, the following actions occur: • If the queue size is less than the minimum queue threshold, the arriving packet is queued. • If the queue size is between the minimum queue threshold for that type of traffic and the maximum threshold for the interface, the packet is either dropped or queued, depending on the packet drop probability for that type of traffic. • If the queue size is greater than the maximum threshold, the packet is dropped. Restrictions When configuring the random-detect dscp command, you must configure one of the following commands: shape average, bandwidth, and bandwidth remaining. Only two minimum and maximum thresholds (each with different match criteria) can be configured per class. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 44 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Weighted Random Early DetectionSUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. random-detect dscp dscp-value min-threshold [units] max-threshold [units] 5. bandwidth {bandwidth [units] | percent value} or bandwidth remaining [percent value | ratio ratio-value] 6. bandwidth {bandwidth [units] | percent value} 7. bandwidth remaining percent value 8. shape average {percent percentage | value [units]} 9. queue-limit value [units] RP/0/RSP0/CPU0:router(config-pmap-c)# queue-limit 50 ms 10. exit 11. interface type inteface-path-id 12. service-policy {input | output} policy-map 13. end or commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Changes the minimum and maximum packet thresholds for the DSCP value. random-detect dscp dscp-value min-threshold [units] max-threshold [units] Step 4 Example: RP/0/RSP0/CPU0:router(config-pmap-c)# • Enables WRED. • dscp-value—Number from 0 to 63 that sets the DSCP value. Reserved keywords can be specified instead of numeric values. random-detect dscp af11 1000000 bytes 2000000 bytes • min-threshold—Minimum threshold in the specified units. When the average queue length reaches the minimum threshold, WRED randomly drops some packets with the specified DSCP value. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 45 Configuring Modular QoS Congestion Avoidance Configuring Weighted Random Early DetectionCommand or Action Purpose • max-threshold—Maximum threshold in the specified units. When the average queue length exceeds the maximum threshold, WRED drops all packets with the specified DSCP value. • units—Units of the threshold value. This can be bytes, gbytes, kbytes, mbytes, ms(milliseconds), packets, or us(microseconds). The default is packets. • This example shows that for packets with DSCP AF11, the WRED minimum threshold is 1,000,000 bytes and maximum threshold is 2,000,000 bytes. (Optional) Specifies the bandwidth allocated for a class belonging to a policy map. bandwidth {bandwidth [units] | percent value} or bandwidth remaining [percent value | ratio ratio-value] Step 5 or Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 30 (Optional) Specifies how to allocate leftover bandwidth to various classes. Note • One of these configurations is required for a non-default class. or RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 20 (Optional) Specifies the bandwidth allocated for a class belonging to a policy map. bandwidth {bandwidth [units] | percent value} Example: RP/0//CPU0:router(config-pmap-c)# bandwidth percent 30 Step 6 • This example guarantees 30 percent of the interface bandwidth to class class1. Step 7 bandwidth remaining percent value (Optional) Specifies how to allocate leftover bandwidth to various classes. Example: RP/0//CPU0:router(config-pmap-c)# bandwidth remaining percent 20 • The remaining bandwidth of 70 percent is shared by all configured classes. • In this example, class class1 receives 20 percent of the 70 percent. (Optional) Shapes traffic to the specified bit rate or a percentage of the available bandwidth. shape average {percent percentage | value [units]} Example: RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 Step 8 (Optional) Changes queue-limit to fine-tune the amount of buffers available for each queue. The default queue-limit is 100 ms of the service rate for a given queue class. queue-limit value [units] RP/0/RSP0/CPU0:router(config-pmap-c)# queue-limit 50 ms Step 9 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 46 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Weighted Random Early DetectionCommand or Action Purpose exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 10 interface type inteface-path-id Enters configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 Step 11 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 12 • In this example, the traffic policy evaluates all traffic leaving that interface. • Ingress policies are not valid; the bandwidth and bandwidth remaining commands cannot be applied to ingress policies. Step 13 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-cmap)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-cmap)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuring Tail Drop Packets satisfying the match criteria for a class accumulate in the queue reserved for the class until they are serviced. The queue-limit command is used to define the maximum threshold for a class. When the maximum threshold is reached, enqueued packets to the class queue result in tail drop (packet drop). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 47 Configuring Modular QoS Congestion Avoidance Configuring Tail DropThe queue-limit value uses the guaranteed service rate (GSR) of the queue as the reference value for the queue_bandwidth. If the class has bandwidth percent associated with it, the queue-limit isset to a proportion of the bandwidth reserved for that class. If the GSR for a queue is zero, use the following to compute the default queue-limit: • 1 percent of the interface bandwidth for queues in a nonhierarchical policy. • 1 percent of minimum parent shape and interface rate for queues within a hierarchical policy. default queue limit (in packets) = (200 ms * (queue bandwidth or shaper rate) / 8) / average packet size, which is 250 bytes The default queue-limit is set to bytes of 100 ms of queue bandwidth. The following formula is used to calculate the default queue limit (in bytes):??bytes = (100 ms / 1000 ms) * queue_bandwidth kbps)) / 8 Note Restrictions • When configuring the queue-limit command in a class, you must configure one of the following commands: priority, shape average, bandwidth, or bandwidth remaining, except for the default class. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. queue-limit value [units] 5. class class-name 6. bandwidth {bandwidth [units] | percent value} 7. bandwidth remaining percent value 8. exit 9. exit 10. interface type interface-path-id 11. service-policy {input | output} policy-map 12. Use one of these commands: • end • commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 48 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Tail DropDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Specifies or modifies the maximum the queue can hold for a class policy configured in a policy map. The default value of the units argument is packets. queue-limit value [units] Example: RP/0/RSP0/CPU0:router(config-pmap-c)# queue-limit 1000000 bytes Step 4 • In this example, when the queue limit reaches 1,000,000 bytes, enqueued packets to the class queue are dropped. Example: RP/0//CPU0:router(config-pmap-c)# priority level 1 Specifies priority to a class of traffic belonging to a policy map. Configures traffic policing. Example: RP/0//CPU0:router(config-pmap-c)# police rate percent 30 Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class2 Step 5 • In this example, class2 is configured. (Optional) Specifies the bandwidth allocated for a class belonging to a policy map. bandwidth {bandwidth [units] | percent value} Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 30 Step 6 • This example guarantees 30 percent of the interface bandwidth to class class2. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 49 Configuring Modular QoS Congestion Avoidance Configuring Tail DropCommand or Action Purpose (Optional) Specifies how to allocate leftover bandwidth to various classes. bandwidth remaining percent value Example: RP/0//CPU0:router(config-pmap-c)# bandwidth remaining percent 20 Step 7 • This example allocates 20 percent of the leftover interface bandwidth to class class2. exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 8 exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 9 interface type interface-path-id Enters configuration mode, and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface pos 0/2/0/0 Step 10 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 11 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 12 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 50 OL-26077-02 Configuring Modular QoS Congestion Avoidance Configuring Tail DropCommand or Action Purpose • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Additional References The following sections provide references related to implementing QoS congestion avoidance. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 51 Configuring Modular QoS Congestion Avoidance Additional ReferencesMIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — RFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 52 OL-26077-02 Configuring Modular QoS Congestion Avoidance MIBsC H A P T E R 4 Configuring Modular QoS Congestion Management Congestion management controls congestion after it has occurred on a network. Congestion is managed on Cisco IOS XR software by using packet queueing methods and by shaping the packet flow through use of traffic regulation mechanisms. The types of traffic regulation mechanisms supported are: • Traffic shaping: ? Modified Deficit Round Robin (MDRR) ? Low-latency queueing (LLQ) with strict priority queueing (PQ) • Traffic policing: ? Color blind ? Color-aware (ingress direction) Line Card, SIP, and SPA Support The following table lists the features that are supported on the ASR 9000 Ethernet Line Cards and SIP 700 for the ASR 9000. Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Congestion Management Using DEI no yes Guaranteed and Remaining yes yes Bandwidth Low-Latency Queueing with Strict yes yes Priority Queueing Traffic Policing yes yes Traffic Shaping yes yes Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 53Feature History for Configuring Modular QoS Congestion Management on Cisco ASR 9000 Series Router Release Modification The Congestion Avoidance feature was introduced on ASR 9000 Ethernet Line Cards.. The Guaranteed and Remaining Bandwidth, Low-Latency Queueing with Strict Priority Queueing, Traffic Policing, and Traffic Shaping features were introduced on ASR 9000 Ethernet Line Cards. Release 3.7.2 The Guaranteed and Remaining Bandwidth, Low-Latency Queueing with Strict Priority Queueing, Traffic Policing, and Traffic Shaping features were supported on the SIP 700 for the ASR 9000. Release 3.9.0 The Congestion Management Using DEI feature wasintroduced on ASR 9000 Ethernet Line Cards. Release 4.0.0 The police rate command was updated to include packet-based specifications of policing rates and burst sizes. Release 4.0.1 The 2-rate 3-color policer feature was added, including the conform-color and exceed-color commands. This feature is applicable to the SIP 700 line cards, ingress side. Release 4.1.0 Release 4.2.1 The Configured Accounting and QoS for IPv6ACLs features were added. • Prerequisites for Configuring QoS Congestion Management, page 54 • Information about Configuring Congestion Management, page 55 • How to Configure QoS Congestion Management, page 66 • Configuration Examples for configuring congestion management, page 89 • Additional References, page 92 Prerequisites for Configuring QoS Congestion Management The following prerequisites are required for configuring QoS congestion management on your network: • You must be in a user group associated with a task group that includesthe proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • You must be familiar with Cisco IOS XR QoS configuration tasks and concepts. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 54 OL-26077-02 Configuring Modular QoS Congestion Management Prerequisites for Configuring QoS Congestion ManagementInformation about Configuring Congestion Management To configure congestion management, you need to understand the following concepts: Congestion Management Overview Congestion management features allow you to control congestion by determining the order in which a traffic flow (or packets) is sent out an interface based on priorities assigned to packets. Congestion management entails the creation of queues, assignment of packets to those queues based on the classification of the packet, and scheduling of the packets in a queue for transmission. The congestion management features in Cisco IOS XR software allow you to specify creation of a different number of queues, affording greater or lesser degree of differentiation of traffic, and to specify the order in which that traffic is sent. During periods with light traffic flow, that is, when no congestion exists, packets are sent out the interface as soon as they arrive. During periods of transmit congestion at the outgoing interface, packets arrive faster than the interface can send them. If you use congestion management features, packets accumulating at an interface are queued until the interface is free to send them; they are then scheduled for transmission according to their assigned priority and the queueing method configured for the interface. The router determines the order of packet transmission by controlling which packets are placed in which queue and how queues are serviced with respect to each other. In addition to queueing methods, QoS congestion management mechanisms, such as policers and shapers, are needed to ensure that a packet adheres to a contract and service. Both policing and shaping mechanisms use the traffic descriptor for a packet. Policers and shapers usually identify traffic descriptor violations in an identical manner through the token bucket mechanism, but they differ in the way they respond to violations. A policer typically dropstraffic flow; whereas, a shaper delays excess traffic flow using a buffer, or queueing mechanism, to hold the traffic for transmission at a later time. Traffic shaping and policing can work in tandem. For example, a good traffic shaping scheme should make it easy for nodes inside the network to detect abnormal flows. Modified Deficit Round Robin MDRR is a class-based composite scheduling mechanism that allowsfor queueing of up to eight traffic classes. It operates in the same manner as class-based weighted fair queueing (CBWFQ) and allows definition of traffic classes based on customer match criteria (such as access lists); however, MDRR does not use the weighted fair queueing algorithm. When MDRR is configured in the queueing strategy, nonempty queues are served one after the other. Each time a queue is served, a fixed amount of data is dequeued. The algorithm then services the next queue. When a queue is served, MDDR keeps track of the number of bytes of data that were dequeued in excess of the configured value. In the next pass, when the queue is served again, less data is dequeued to compensate for the excess data that was served previously. As a result, the average amount of data dequeued per queue is close to the configured value. In addition, MDRR allows for a strict priority queue for delay-sensitive traffic. Each queue within MDRR is defined by two variables: • Quantum value—Average number of bytes served in each round. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 55 Configuring Modular QoS Congestion Management Information about Configuring Congestion Management• Deficit counter—Number of bytes a queue has sent in each round. The counter is initialized to the quantum value. Packets in a queue are served as long as the deficit counter is greater than zero. Each packet served decreases the deficit counter by a value equal to its length in bytes. A queue can no longer be served after the deficit counter becomes zero or negative. In each new round, the deficit counter for each nonempty queue is incremented by its quantum value. Low-Latency Queueing with Strict Priority Queueing The LLQ feature bringsstrict priority queueing (PQ) to the MDRR scheduling mechanism. PQ in strict priority mode ensures that one type of traffic is sent, possibly at the expense of all others. For PQ, a low-priority queue can be detrimentally affected, and, in the worst case, never allowed to send its packets if a limited amount of bandwidth is available or the transmission rate of critical traffic is high. Strict PQ allows delay-sensitive data, such as voice, to be dequeued and sent before packets in other queues are dequeued. LLQ enables the use of a single, strict priority queue within MDRR at the class level, allowing you to direct traffic belonging to a class. To rank class traffic to the strict priority queue, you specify the named class within a policy map and then configure the priority command for the class. (Classes to which the priority command is applied are considered priority classes.) Within a policy map, you can give one or more classes priority status. When multiple classes within a single policy map are configured as priority classes, all traffic from these classes is enqueued to the same, single, strict priority queue. Through use of the priority command, you can assign a strict PQ to any of the valid match criteria used to specify traffic. These methods of specifying traffic for a class include matching on access lists, protocols, IP precedence, and IP differentiated service code point (DSCP) values. Moreover, within an access list you can specify that traffic matches are allowed based on the DSCP value that is set using the first six bits of the IP type of service (ToS) byte in the IP header. Configured Accounting Configured Accounting controls the overhead (packet length) for policing and shaping. The account option can be specified with a service-policy when applying a policy to an interface. For bundle interfaces, the configured accounting option is applied to all member interfaces. The configured accounting option is available on ingress and egress policing, queuing and statistics for CRS-MSC-140G. In CRS-MSC-40G, the configured accounting option is not available for queuing. Prerequisites and Restrictions • Allows packet size accounting tuning to match the QoS treatment provided at the connected interface. • Supported on ASR 9000 Ethernet Linecards and Enhanced Ethernet Linecards. • Supported accounting values are, from -48 to +48. • Ingress shaping accounting is not supported (Ingress and egress policing accounting and egress shaping accounting are supported). • Dynamic changing of accounting overhead after application on policy is not supported Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 56 OL-26077-02 Configuring Modular QoS Congestion Management Low-Latency Queueing with Strict Priority QueueingQoS for IPv6 ACLs The Modular Weapon-X line cards support classification of IPv6 properties based on Source IP, Destination IP, Source Port, Destination Port, Protocol, TOS, Hop Limit, and ACL-based classification. The supported interfaces are indicated below. Supported Interface Ethernet Linecard Enhanced Ethernet Linecard L3 main interface yes yes L3 sub-interface yes yes L3 bundle-interface/ sub-interface yes yes L2 main interface no yes L2 sub-interface no yes L2 bundle-interface/ sub-interface no yes Traffic Shaping Traffic shaping allows you to control the traffic flow exiting an interface to match itstransmission to the speed of the remote target interface and ensure that the traffic conforms to policies contracted for it. Traffic adhering to a particular profile can be shaped to meet downstream requirements, thereby eliminating bottlenecks in topologies with data-rate mismatches. To match the rate of transmission of data from the source to the target interface, you can limit the transfer of data to one of the following: • A specific configured rate • A derived rate based on the level of congestion The rate of transfer depends on these three components that constitute the token bucket: burst size, mean rate, and time (measurement) interval. The mean rate is equal to the burst size divided by the interval. When traffic shaping is enabled, the bit rate of the interface does not exceed the mean rate over any integral multiple of the interval. In other words, during every interval, a maximum of burst size can be sent. Within the interval, however, the bit rate may be faster than the mean rate at any given time. When the peak burst size equals 0, the interface sends no more than the burst size every interval, achieving an average rate no higher than the mean rate. However, when the peak burst size is greater than 0, the interface can send as many as the burst size plus peak burst bits in a burst, if in a previous time period the maximum amount was not sent. Whenever less than the burst size is sent during an interval, the remaining number of bits, up to the peak burst size, can be used to send more than the burst size in a later interval. Regulation of Traffic with the Shaping Mechanism When incoming packets arrive at an interface, the packets are classified using a classification technique, such as an access control list (ACL) or the setting of the IP Precedence bits through the Modular QoS CLI (MQC). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 57 Configuring Modular QoS Congestion Management QoS for IPv6 ACLsIf the packet matches the specified classification, the traffic-shaping mechanism continues. Otherwise, no further action is taken. Figure 1 illustrates how a traffic shaping mechanism regulates traffic flow. Figure 3: How a Traffic Shaping Mechanism Regulates Traffic Packets matching the specified criteria are placed in the token bucket. The maximum size of the token bucket is the confirm burst (Bc) size plus the Be size. The token bucket is filled at a constant rate of Bc worth of tokens at every Tc. This is the configured traffic shaping rate. If the traffic shaping mechanism is active (that is, packets exceeding the configured traffic shaping rate already exist in a transmission queue) at every Tc, the traffic shaper checks to see if the transmission queue contains enough packets to send (that is, up to either Bc [or Bc plus Be] worth of traffic). If the traffic shaper is not active (that is, there are no packets exceeding the configured traffic shaping rate in the transmission queue), the traffic shaper checks the number of tokens in the token bucket. One of the following occurs: • If there are enough tokens in the token bucket, the packet is sent (transmitted). • If there are not enough tokensin the token bucket, the packet is placed in a shaping queue for transmission at a later time. Traffic Policing In general, traffic policing allows you to control the maximum rate of traffic sent or received on an interface and to partition a network into multiple priority levels or class of service (CoS). Traffic policing manages the maximum rate of traffic through a token bucket algorithm. The token bucket algorithm uses user-configured values to determine the maximum rate of traffic allowed on an interface at a given moment in time. The token bucket algorithm is affected by all traffic entering or leaving the interface (depending on where the traffic policy with traffic policing is configured) and is useful in managing network bandwidth in cases where several large packets are sent in the same traffic stream. Traffic policing is often configured on interfaces at the edge of a network to limit the rate of traffic entering or leaving the network. In the most common traffic policing configurations, traffic that conforms to the CIR is sent and traffic that exceeds is sent with a decreased priority or is dropped. Users can change these Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 58 OL-26077-02 Configuring Modular QoS Congestion Management Traffic Policingconfiguration optionsto suit their network needs. Traffic policing also provides a certain amount of bandwidth management by allowing you to set the burst size (Bc) for the committed information rate (CIR). When the peak information rate (PIR) is supported, a second token bucket is enforced and then the traffic policer is called a two-rate policer. Regulation of Traffic with the Policing Mechanism This section describes the single-rate and two-rate policing mechanisms. Single-Rate Policer A single-rate, two-action policer provides one token bucket with two actionsfor each packet: a conform action and an exceed action. Figure 2 illustrates how a single-rate token bucket policer marks packets as either conforming or exceeding a CIR, and assigns an action. Figure 4: Marking Packets and Assigning Actions—Single-Rate Policer Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 59 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismThe time interval between token updates (Tc) to the token bucket is updated at the CIR value each time a packet arrives at the traffic policer. The Tc token bucket can contain up to the Bc value, which can be a certain number of bytes or a period of time. If a packet of size B is greater than the Tc token bucket, then the packet exceeds the CIR value and a configured action is performed. If a packet of size B is less than the Tc token bucket, then the packet conforms and a different configured action is performed. Two-Rate Policer The two-rate policer manages the maximum rate of traffic by using two token buckets: the committed token bucket and the peak token bucket. The dual-token bucket algorithm uses user-configured values to determine the maximum rate of traffic allowed on a queue at a given moment. In this way, the two-rate policer can meter traffic at two independent rates: the committed information rate (CIR) and the peak information rate (PIR). The committed token bucket can hold bytes up to the size of the committed burst (bc) before overflowing. This token bucket holds the tokens that determine whether a packet conforms to or exceeds the CIR as the following describes: • A traffic stream is conforming when the average number of bytes over time does not cause the committed token bucket to overflow. When this occurs, the token bucket algorithm marks the traffic stream green. • A traffic stream is exceeding when it causes the committed token bucket to overflow into the peak token bucket. When this occurs, the token bucket algorithm marks the traffic stream yellow. The peak token bucket is filled as long as the traffic exceeds the police rate. The peak token bucket can hold bytes up to the size of the peak burst (be) before overflowing. This token bucket holds the tokens that determine whether a packet violates the PIR. A traffic stream is violating when it causes the peak token bucket to overflow. When this occurs, the token bucket algorithm marks the traffic stream red. The dual-token bucket algorithm provides users with three actions for each packet—a conform action, an exceed action, and an optional violate action. Traffic entering a queue with the two-rate policer configured is Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 60 OL-26077-02 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing Mechanismplaced into one of these categories. Within these three categories, users can decide packet treatments. For instance, packets that conform can be configured to be sent; packets that exceed can be configured to be sent with a decreased priority; and packets that violate can be configured to be dropped. Figure 3 shows how the two-rate policer marks a packet and assigns a corresponding action to the packet. Figure 5: Marking Packets and Assigning Actions—2-Rate Policer For example, if a data stream with a rate of 250 kbps arrives at the two-rate policer, and the CIR is 100 kbps and the PIR is 200 kbps, the policer marks the packet in the following way: • 100 kbps conforms to the rate • 100 kbps exceeds the rate • 50 kbps violates the rate The router updates the tokens for both the committed and peak token buckets in the following way: • The router updatesthe committed token bucket at the CIR value each time a packet arrives at the interface. The committed token bucket can contain up to the committed burst (bc) value. • The router updates the peak token bucket at the PIR value each time a packet arrives at the interface. The peak token bucket can contain up to the peak burst (be) value. • When an arriving packet conforms to the CIR, the router takes the conform action on the packet and decrements both the committed and peak token buckets by the number of bytes of the packet. • When an arriving packet exceeds the CIR, the router takes the exceed action on the packet, decrements the committed token bucket by the number of bytes of the packet, and decrements the peak token bucket by the number of overflow bytes of the packet. • When an arriving packet exceeds the PIR, the router takes the violate action on the packet, but does not decrement the peak token bucket. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 61 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismCommitted Bursts and Excess Bursts Unlike a traffic shaper, a traffic policer does not buffer excess packets and transmit them later. Instead, the policer executes a “send or do not send” policy without buffering. During periods of congestion, proper configuration of the excess burst parameter enables the policer to drop packets less aggressively. Therefore, it is important to understand how policing uses the committed (normal) and excess burst values to ensure the router reaches the configured committed information rate (CIR). Burst parameters are based on a generic buffering rule for routers, which recommends that you configure buffering to be equal to the round-trip time bit-rate to accommodate the outstanding TCP windows of all connections in times of congestion. The following sections describe committed bursts and excess bursts, and the recommended formula for calculating each of them: • Committed Bursts • Excess Bursts • Deciding if Packets Conform or Exceed the Committed Rate Committed Bursts The committed burst (bc) parameter of the police command implements the first, conforming (green) token bucket that the router uses to meter traffic. The bc parameter sets the size of this token bucket. Initially, the token bucket is full and the token count is equal to the committed burst size (CBS). Thereafter, the meter updates the token counts the number of times per second indicated by the committed information rate (CIR). The following describes how the meter uses the conforming token bucket to send packets: • Ifsufficient tokens are in the conforming token bucket when a packet arrives, the meter marksthe packet green and decrements the conforming token count by the number of bytes of the packet. • If there are insufficient tokens available in the conforming token bucket, the meter allows the traffic flow to borrow the tokens needed to send the packet. The meter checks the exceeding token bucket for the number of bytes of the packet. If the exceeding token bucket has a sufficient number of tokens available, the meter marks the packet: Green and decrements the conforming token count down to the minimum value of 0. Yellow, borrows the remaining tokens needed from the exceeding token bucket, and decrements the exceeding token count by the number of tokens borrowed down to the minimum value of 0. • If an insufficient number of tokens is available, the meter marks the packet red and does not decrement either of the conforming or exceeding token counts. When the meter marks a packet with a specific color, there must be a sufficient number of tokens of that color to accommodate the entire packet. Therefore, the volume of green packetsis neversmaller than the committed information rate (CIR) and committed burst size (CBS). Tokens of a given color are always used on packets of that color. Note The default committed burst size is the greater of 2 milliseconds of bytes at the police rate or the network maximum transmission unit (MTU). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 62 OL-26077-02 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismCommitted Burst Calculation To calculate committed burst, use the following formula: bc = CIR bps * (1 byte) / (8 bits) * 1.5 seconds Note 1.5 seconds is the typical round-trip time. For example, if the committed information rate is 512000 bps, then using the committed burst formula, the committed burst is 96000 bytes. bc = 512000 * 1/8 * 1.5 bc = 64000 * 1.5 = 96000 When the be value equals 0, we recommend that you set the egress bc value to be greater than or equal to the ingress bc value plus 1. Otherwise, packet loss can occur. For example: be = 0 egress bc >= ingress bc + 1 Note Excess Bursts The excess burst (be) parameter of the police command implements the second, exceeding (yellow) token bucket that the router uses to meter traffic. The exceeding token bucket is initially full and the token count is equal to the excess burst size (EBS). Thereafter, the meter updates the token counts the number of times per second indicated by the committed information rate (CIR). The following describes how the meter uses the exceeding token bucket to send packets: • When the first token bucket (the conforming bucket) meets the committed burst size (CBS), the meter allows the traffic flow to borrow the tokens needed from the exceeding token bucket. The meter marks the packet yellow and then decrements the exceeding token bucket by the number of bytes of the packet. • If the exceeding token bucket does not have the required tokens to borrow, the meter marks the packet red and does not decrement the conforming or the exceeding token bucket. Instead, the meter performs the exceed-action configured in the police command (for example, the policer drops the packets). Excess Burst Calculation To calculate excess burst, use the following formula: be = 2 * committed burst For example, if you configure a committed burst of 4000 bytes, then using the excess burst formula, the excess burst is 8000 bytes. be = 2 * 4000 = 8000 The default excess burst size is 0. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 63 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismDeciding if Packets Conform or Exceed the Committed Rate Policing uses normal or committed burst (bc) and excess burst (be) values to ensure that the configured committed information rate (CIR) is reached. Policing decides if a packet conforms or exceeds the CIR based on the burst values you configure. Several factors can influence the policer’s decision, such as the following: • Low burst values—If you configure burst values too low, the achieved rate might be much lower than the configured rate. • Temporary bursts—These bursts can have a strong adverse impact on throughput of Transmission Control Protocol (TCP) traffic. It isimportant that you set the burst values high enough to ensure good throughput. If your router drops packets and reports an exceeded rate even though the conformed rate is less than the configured CIR, use the show interface command to monitor the current burst, determine whether the displayed value is consistently close to the committed burst (bc) and excess burst (be) values, and if the actual rates (the committed rate and exceeded rate) are close to the configured committed rate. If not, the burst values might be too low. Try reconfiguring the burst rates using the suggested calculations in the Committed Burst Calculation and the Excess Burst Calculation. Two-Rate Three-Color (2R3C) Policer For the SIP 700 card, a two-rate, three-color (2R3C) policer is supported on policy maps for ingress Layer 2 interfaces. The policer reads a preexisting marking—the frame-relay discard-eligibility (FRDE) bit in the packet header—that was set by a policer on a previous network node. By default the FRDE bit is set to 0. At the receiving node, the system uses this bit to determine the appropriate color-aware policing action for the packet: • To classify the FRDE bit value 0 as conform color, create a conform-color class-map for frde=0 packets. This causes packets to be classified as color green, and the system applies the conform action. • To classify the FRDE bit value 1 as exceed color, create an exceed-color class-map for frde=1 packets. This causes packets to be classified as color yellow, and the system applies the exceed action. Note Color-aware policing is not supported for heirarchical QoS. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 64 OL-26077-02 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismThe 2R3C policing process is shown in Figure 4. Figure 6: 2R3C Policing Process Flowchart Hierarchical Policing The Hierarchical Policing feature is an MQC-based solution that supports hierarchical policing on both the ingress and egress interfaces on Cisco ASR 9000 Series Router. Thisfeature allows enforcement ofservice level agreements(SLA) while applying the classification submodel for different QoS classes on the inbound interface. Hiearchical policing provides support at two levels: • Parent level • Child level Multiple Action Set set-mpls-exp-imp, set-clp Packet Marking Through the IP Precedence Value, IP DSCP Value, and the MPLS Experimental Value Setting In addition to rate-limiting, traffic policing allows you to independently mark (or classify) the packet according to whether the packet conforms or violates a specified rate. Packet marking also allows you to partition your network into multiple priority levels or CoS. Packet marking as a policer action is conditional marking. Use the traffic policer to set the IP precedence value, IP DSCP value, or Multiprotocol Label Switching (MPLS) experimental value for packets that enter the network. Then networking devices within your network can use this setting to determine how the traffic should be treated. For example, the Weighted Random Early Detection (WRED) feature uses the IP precedence value to determine the probability that a packet is dropped. If you want to mark traffic but do not want to use traffic policing, see the “Class-based, Unconditional Packet Marking Examples” section to learn how to perform packet classification. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 65 Configuring Modular QoS Congestion Management Regulation of Traffic with the Policing MechanismNote Marking IP fields on an MPLS-enabled interface results in non-operation on that particular interface. Policer Granularity and Shaper Granularity Policer granularity can be configured in the ingress and egress directions. The policer granularity is specified as a perimissible percentage variation between the user-configured policer rate, and the hardware programmed policer rate. Congestion Management Using DEI You can manage congestion based on the Drop Eligible Indicator (DEI) bit that is present in 802.1ad frames and 802.1ah frames. Random early detection based on the DEI value is supported on 802.1ad packets for: • Layer 2 subinterfaces • Layer 2 main interfaces • Layer 3 main interfaces • Ingress and egress If there are any marking actions in the policy, the marked values are used for doing WRED. Note How to Configure QoS Congestion Management This contains the following tasks: Configuring Guaranteed and Remaining Bandwidths The bandwidth command allows you to specify the minimum guaranteed bandwidth to be allocated for a specific class of traffic. MDRR is implemented as the scheduling algorithm. The bandwidth remaining command specifies a weight for the class to the MDRR. The MDRR algorithm derives the weight for each class from the bandwidth remaining value allocated to the class. If you do not configure the bandwidth remaining command for any class, the leftover bandwidth is allocated equally to all classes for which bandwidth remaining is not explicitly specified. Guaranteed Service rate of a queue is defined as the bandwidth the queue receives when all the queues are congested. It is defined as: Guaranteed Service Rate = minimum bandwidth + excess share of the queue Restrictions The amount of bandwidth configured should be large enough to also accommodate Layer 2 overhead. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 66 OL-26077-02 Configuring Modular QoS Congestion Management Policer Granularity and Shaper GranularityThe bandwidth command is supported only on policies configured on outgoing interfaces. SUMMARY STEPS 1. 2. policy-map policy-name 3. class class-name 4. bandwidth {rate [units]| percent value} 5. bandwidth remaining percent value 6. exit 7. class class-name 8. bandwidth {rate [units] | percent value} 9. bandwidth remaining percent value 10. exit 11. exit 12. interface type interface-path-id 13. service-policy {input | output} policy-map 14. end or commit 15. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose Enters global configuration mode. Example: RP/0//CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0//CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RP0/CPU0:router(config-pmap)# class class1 Step 3 Step 4 bandwidth {rate [units]| percent value} Enters policy map class configuration mode. Example: RP/0//CPU0:router(config-pmap-c)# bandwidth percent 50 • Specifies the bandwidth allocated for a class belonging to a policy map. • In this example, class class1 is guaranteed 50 percent of the interface bandwidth. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 67 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose Step 5 bandwidth remaining percent value Specifies how to allocate leftover bandwidth to various classes. Example: RP/0//CPU0:router(config-pmap-c)# bandwidth remaining percent 20 • The remaining bandwidth of 40 percent isshared by class class1 and class2 (see Steps 8 and 9) in a 20:80 ratio: class class1 receives 20 percent of the 40 percent, and class class2 receives 80 percent of the 40 percent. exit Returns the router to policy map configuration mode. Example: RP/0//CPU0:router(config-pmap-c)# exit Step 6 Specifiesthe name of a different class whose policy you want to create or change. class class-name Example: RP/0//CPU0:router(config-pmap)# class class2 Step 7 Specifies the bandwidth allocated for a class belonging to a policy map. bandwidth {rate [units] | percent value} Example: RP/0//CPU0:router(config-pmap-c)# bandwidth percent 10 Step 8 • In this example, class class2 is guaranteed 10 percent of the interface bandwidth. Step 9 bandwidth remaining percent value Specifies how to allocate leftover bandwidth to various classes. Example: RP/0//CPU0:router(config-pmap-c)# bandwidth remaining percent 80 • The remaining bandwidth of 40 percent isshared by class class1 (see Steps 4 and 5) and class2 in a 20:80 ratio: class class1 receives 20 percent of the 40 percent, and class class2 receives 80 percent of the 40 percent. exit Returns the router to policy map configuration mode. Example: RP/0//CPU0:router(config-pmap-c)# exit Step 10 exit Returns the router to global configuration mode. Example: RP/0//CPU0:router(config-pmap)# exit Step 11 interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0//CPU0:router(config)# interface POS 0/2/0/0 Step 12 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 68 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0//CPU0:router(config-if)# service-policy output policy1 Step 13 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 14 end or commit Saves configuration changes. Example: RP/0//CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0//CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0//CPU0:router# show policy-map interface POS 0/2/0/0 Step 15 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 69 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsConfiguring Guaranteed Bandwidth SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. bandwidth {rate [units]| percent percentage-value} 5. exit 6. class class-name 7. bandwidth {rate [units]| percent percentage-value} 8. exit 9. class class-name 10. bandwidth {rate [units]| percent percentage-value} 11. exit 12. exit 13. interface type interface-path-id 14. service-policy {input | output} policy-map 15. end or commit 16. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 Step 3 bandwidth {rate [units]| percent Enters policy map class configuration mode. percentage-value} Step 4 • Specifies the bandwidth allocated for a class belonging to a policy map. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 70 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 40 • In this example, class class1 is guaranteed 40 percent of the interface bandwidth. exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 5 Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class2 Step 6 bandwidth {rate [units]| percent Enters policy map class configuration mode. percentage-value} Step 7 • Specifies the bandwidth allocated for a class belonging to a policy map. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 40 • In this example, class class2 is guaranteed 40 percent of the interface bandwidth. exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 8 Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class-default Step 9 bandwidth {rate [units]| percent Enters policy map class configuration mode. percentage-value} Step 10 • Specifies the bandwidth allocated for a class belonging to a policy map. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth percent 20 • In this example, class class-default is guaranteed 20 percent of the interface bandwidth. exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 11 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 71 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 12 interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 Step 13 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 14 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 15 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 Step 16 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 72 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsConfiguring Bandwidth Remaining SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. bandwidth remaining percent percentage-value 5. exit 6. class class-name 7. bandwidth remaining percent percentage-value 8. exit 9. class class-name 10. bandwidth remaining percent percentage-value 11. exit 12. exit 13. interface type interface-path-id 14. service-policy {input | output} policy-map 15. end or commit 16. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 Step 3 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 73 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose bandwidth remaining percent percentage-value Specifies how to allocate leftover bandwidth for class class1. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 40 Step 4 exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 5 Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class2 Step 6 bandwidth remaining percent percentage-value Specifies how to allocate leftover bandwidth for class class2. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 40 Step 7 exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 8 Specifies the name of the class whose policy you want to create or change. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class class-default Step 9 Specifies how to allocate leftover bandwidth for class class-default. bandwidth remaining percent percentage-value Example: RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 20 Step 10 exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 11 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 74 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsCommand or Action Purpose exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 12 interface type interface-path-id Entersinterface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 Step 13 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 14 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 15 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changesto the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 Step 16 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 75 Configuring Modular QoS Congestion Management Configuring Guaranteed and Remaining BandwidthsConfiguring Low-Latency Queueing with Strict Priority Queueing The priority command configures low-latency queueing (LLQ), providing strict priority queueing (PQ). Strict PQ allows delay-sensitive data, such as voice, to be dequeued and sent before packets in other queues are dequeued.When a class is marked as high priority using the priority command, we recommend that you configure a policer to limit the priority traffic. This configuration ensures that the priority traffic does not starve all of the other traffic on the line card, which protectslow priority traffic from starvation. Use the police command to explicitly configure the policer. Two levels of priority are supported: priority level 1 and priority level 2. If no priority level is configured, the default is priority level 1. Note Restrictions • Within a policy map, you can give one or more classes priority status. When multiple classes within a single policy map are configured as priority classes, all traffic from these classes is queued to the same single priority queue. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] 5. exceed-action action 6. priority [level priority-level] RP/0/RSP0/CPU0:router(config-pmap-c)# priority 7. exit 8. exit 9. interface type interface-path-id 10. service-policy {input | output} policy-map 11. end or commit 12. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 76 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Low-Latency Queueing with Strict Priority QueueingCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config)# policy-map voice • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class voice • Specifies the name of the class whose policy you want to create or change. Configures traffic policing and enters policy map police configuration mode. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] Step 4 • In this example, the low-latency queue is restricted to 250 kbps to protect low-priority traffic from starvation and to release bandwidth. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 250 Step 5 exceed-action action Configuresthe action to take on packetsthat exceed the rate limit. Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop Specifies priority to a class of traffic belonging to a policy map. exit Returns the router to policy map class configuration mode. Example: RP/0//CPU0:router(config-pmap-c)# priority Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit priority [level priority-level] Specifies priority to a class of traffic belonging to a policy map. RP/0/RSP0/CPU0:router(config-pmap-c)# priority Step 6 Note • If no priority level is configured, the default is priority 1. exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 7 exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 8 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 77 Configuring Modular QoS Congestion Management Configuring Low-Latency Queueing with Strict Priority QueueingCommand or Action Purpose interface type interface-path-id Enters interface configuration mode, and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 Step 9 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 10 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 11 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 Step 12 Configuring Traffic Shaping Traffic shaping allows you to control the traffic exiting an interface to match its transmission to the speed of the remote target interface and ensure that the traffic conforms to policies contracted for it. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 78 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Traffic ShapingShaping performed on incoming and outgoing interfaces is done at the Layer 2 level and includes the Layer 2 header in the rate calculation. Restrictions The bandwidth, priority, and shape average commands should not be configured together in the same class. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. shape average {percent value | rate [units]} 5. exit 6. exit 7. interface type interface-path-id 8. service-policy {input | output} policy-map 9. end or commit 10. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifiesthe name of the class whose policy you want to create or change. Shapes traffic to the indicated bit rate according to average rate shaping in the specified units or as a percentage of the bandwidth. shape average {percent value | rate [units]} Example: RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 Step 4 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 79 Configuring Modular QoS Congestion Management Configuring Traffic ShapingCommand or Action Purpose exit Returns the router to policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 5 exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 6 interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/2/0/0 Step 7 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 8 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 9 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 Step 10 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 80 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Traffic ShapingConfiguring Traffic Policing (Two-Rate Color-Blind) Traffic policing allows you to control the maximum rate of traffic sent or received on an interface. Thissection provides the procedure for configuring two-rate color-blind traffic policing. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] 5. conform-action action 6. exceed-action action 7. exit 8. exit 9. exit 10. interface type interface-path-id 11. service-policy {input | output} policy-map 12. end or commit 13. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 81 Configuring Modular QoS Congestion Management Configuring Traffic Policing (Two-Rate Color-Blind)Command or Action Purpose Configures traffic policing and enters policy map police configuration mode. The traffic policing feature works with a token bucket algorithm. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] Example: RP/0/RSP0/CPU0:router(config-pmap-c)# police rate 250000 Step 4 Configures the action to take on packets that conform to the rate limit. The action argument is specified by one of these keywords: conform-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# Step 5 • drop—Drops the packet. • set—Has these keywords and arguments: conform-action set mpls experimental topmost 3 discard-class value—Sets the discard class value. Range is 0 to 7. dscp —Sets the differentiated services code point (DSCP) value and sends the packet. mpls experimental {topmost | imposition} value—Setsthe experimental (EXP) value of the Multiprotocol Label Switching (MPLS) packet topmost label or imposed label. Range is 0 to 7. precedence —Sets the IP precedence and sends the packet. qos-group—Sets the QoS group value. Range is 0 to 63. • transmit—Transmits the packets. Configures the action to take on packets that exceed the rate limit. The action argument is specified by one of the keywords specified in Step 5 . exceed-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# Step 6 exceed-action set mpls experimental topmost 4 exit Returns the router to policy map class configuration mode. Example: Step 7 RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit exit Returns the router to policy map configuration mode. Example: Step 8 RP/0/RSP0/CPU0:router(config-pmap-c)# exit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 82 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Traffic Policing (Two-Rate Color-Blind)Command or Action Purpose exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 9 interface type interface-path-id Enters configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/5/0/0 Step 10 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 11 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 12 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/2/0/0 Step 13 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 83 Configuring Modular QoS Congestion Management Configuring Traffic Policing (Two-Rate Color-Blind)Configuring Traffic Policing (2R3C) This section provides the procedure for configuring two-rate three-color traffic policing. It is applicable to SIP 700 line cards on the ingress side only. SUMMARY STEPS 1. configure 2. class-map [match-all][match-any] class-map-name 3. match [not] fr-de fr-de-bit-value 4. policy-map policy-name 5. class class-name 6. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] 7. conform-color class-map-name 8. exceed-color class-map-name 9. conform-action action 10. exceed-action action 11. exit 12. exit 13. exit 14. interface type interface-path-id 15. service-policy policy-map 16. end or commit 17. show policy-map interface type interface-path-id DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 class-map [match-all][match-any] class-map-name (Use with SIP 700 line card, ingress only) Example: RP/0/RSP0/CPU0:router(config)# class-map match-all match-not-frde Enters class map configuration mode. • Creates or modifies a class map that can be attached to one or more interfaces to specify a matching policy. Step 3 match [not] fr-de fr-de-bit-value (Use with SIP 700 line card, ingress only) Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 84 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Traffic Policing (2R3C)Command or Action Purpose Example: RP/0/RSP0/CPU0:router(config)# match not fr-de 1 Specifies the matching condition: • Match not fr-de 1 istypically used to specify a conform-color packet. • Match fr-de 1 is typically used to specify an exceed-color packet. Step 4 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 5 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Configures traffic policing and enters policy map police configuration mode. The traffic policing feature works with a token bucket algorithm. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-burst peak-burst [burst-units]] [peak-rate value [units]] Example: RP/0/RSP0/CPU0:router(config-pmap-c)# police Step 6 rate 768000 burst 288000 peak-rate 1536000 peak-burst 576000 Step 7 conform-color class-map-name (Use with SIP 700 line card, ingress only) Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-color match-not-frde Configuresthe class-map name to assign to conform-color packets. Step 8 exceed-color class-map-name (Use with SIP 700 line card, ingress only) Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-color match-frde Configuresthe class-map name to assign to exceed-color packets. Configures the action to take on packets that conform to the rate limit. The action argument is specified by one of these keywords: conform-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# Step 9 • drop—Drops the packet. • set—Has these keywords and arguments: conform-action set mpls experimental topmost 3 discard-class value—Sets the discard class value. Range is 0 to 7. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 85 Configuring Modular QoS Congestion Management Configuring Traffic Policing (2R3C)Command or Action Purpose dscp value—Sets the differentiated services code point (DSCP) value and sends the packet. mpls experimental {topmost | imposition} value—Sets the experimental (EXP) value of the Multiprotocol Label Switching (MPLS) packet topmost label or imposed label. Range is 0 to 7. precedence precedence—Sets the IP precedence and sends the packet. qos-group—Sets the QoS group value. Range is 0 to 63. • transmit—Transmits the packets. Configures the action to take on packets that exceed the rate limit. The action argument isspecified by one of the keywordsspecified in Step 5 . exceed-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# Step 10 exceed-action set mpls experimental topmost 4 exit Returns the router to policy map class configuration mode. Example: Step 11 RP/0/RSP0/CPU0:router(config-pmap-c-police)# exit exit Returns the router to policy map configuration mode. Example: Step 12 RP/0/RSP0/CPU0:router(config-pmap-c)# exit exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 13 interface type interface-path-id Enters configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface pos 0/5/0/0 Step 14 Attaches a policy map to an input interface to be used asthe service policy for that interface. service-policy policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy policy1 Step 15 Step 16 end or commit Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 86 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Traffic Policing (2R3C)Command or Action Purpose Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id Example: RP/0/RSP0/CPU0:router# show policy-map interface POS0/2/0/0 Step 17 Configuring Hierarchical Policing Hierarchical policing provides support at two levels: • Parent level • Child level SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. service-policy policy-map-name 5. police rate percent percentage 6. conform-action action 7. exceed-action action 8. end or commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 87 Configuring Modular QoS Congestion Management Configuring Hierarchical PolicingDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy policy-map-name Example: RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy child Step 4 Configures traffic policing and enters policy map police configuration mode. police rate percent percentage Example: RP/0/RSP0/CPU0:router(config-pmap-c)# police rate percent 50 Step 5 Configures the action to take on packets that conform to the rate limit. The allowed action is: conform-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action transmit Step 6 transmit—Transmits the packets. Configures the action to take on packets that exceed the rate limit. The allowed action is: exceed-action action Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop Step 7 drop—Drops the packet. Step 8 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-if)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 88 OL-26077-02 Configuring Modular QoS Congestion Management Configuring Hierarchical PolicingCommand or Action Purpose or RP/0/RSP0/CPU0:router(config-if)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuration Examples for configuring congestion management Here are some examples for congestion management. Traffic Shaping for an Input Interface: Example The following example shows how to configure a policy map on an input interface: policy-map p2 class voip shape average 20 mbps ! interface GigabitEthernet0/4/0/24 service-policy input p2 commit RP/0/RSP0/CPU0:Jun 8 16:55:11.819 : config[65546]: %MGBL-LIBTARCFG-6-COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000006140' to view the changes. The following example shows the display output for the previous policy map configuration: RP/0/RSP0/CPU0:router# show policy-map interface GigabitEthernet 0/4/0/24 input GigabitEthernet0/4/0/24 input: p2 Class voip Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Queue ID : 268435978 High watermark (Unknown) Inst-queue-len (packets) : 0 Avg-queue-len (Unknown) Taildropped(packets/bytes) : 0/0 Queue(confirm) : 0/0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 89 Configuring Modular QoS Congestion Management Configuration Examples for configuring congestion managementQueue(exceed) : 0/0 RED random drops(packets/bytes) : 0/0 Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : : 0/0 0 Transmitted : Un-determined Total Dropped : Un-determined Traffic Policing for a Bundled Interface: Example The following example shows how to configure a policy map for a bundled interface: policy-map p2 class voip police rate percent 20 commit RP/0/RSP0/CPU0:Jun 8 16:51:51.679 : config[65546]: %MGBL-LIBTARCFG-6-COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000006135' to view the changes. exit exit interface bundle-ether 1 service-policy input p2 commit RP/0/RSP0/CPU0:Jun 8 16:52:02.650 : config[65546]: %MGBL-LIBTARCFG-6-COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000006136' to view the changes. The following example shows the display output for the policy map configuration in which policing was configured in percentage: RP/0/RSP0/CPU0:router# show policy-map interface bundle-ether 1 Bundle-ether1 input: p2 Class voip Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Policing statistics (packets/bytes) (rate - kbps) Policed(conform) : 0/0 0 Policed(exceed) : 0/0 0 Policed(violate) : 0/0 0 Policed and dropped : 0/0 Class default Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Vital (packets) : 0 Queueing statistics Queue ID : 36 High watermark (packets) : 0 Inst-queue-len (bytes) : 0 Avg-queue-len (bytes) : 0 TailDrop Threshold(bytes) : 239616000 Taildropped(packets/bytes) : 0/0 2R3C Traffic Policing: Example These commands create the color-aware policy. ! class-map match-any match-frde-0 match not fr-de 1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 90 OL-26077-02 Configuring Modular QoS Congestion Management Traffic Policing for a Bundled Interface: Exampleend-class-map ! class-map match-any match-frde-1 match fr-de 1 end-class-map ! ! policy-map color-aware-policer class class-default police rate 1000 kbps peak-rate 2000 kbps conform-color match-frde-0 exceed-color match-frde-1 conform-action set qos-group 10 exceed-action set qos-group 20 violate-action drop ! ! end-policy-map ! ! interface POS0/1/0/0 encapsulation frame-relay pos crc 32 ! frame-relay lmi disable ! interface POS0/1/0/0.1 l2transport pvc 100 service-policy input color-aware-policer ! ! This command displays the current configuration commands for the policy. RP/0/RSP0/CPU0:router# show run policy-map color-aware-policer Thu Apr 14 09:25:04.752 UTC policy-map color-aware-policer class class-default police rate 1000 kbps peak-rate 2000 kbps conform-color match-frde-0 exceed-color match-frde-1 conform-action set qos-group 10 exceed-action set qos-group 20 violate-action drop ! ! end-policy-map ! This command displays the color-aware policy. /0/RSP0/CPU0:router# show policy-map interface pos 0/1/0/0.1 input Thu Apr 14 09:24:10.487 UTC POS0/1/0/0.1 input: color-aware-policer Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : 66144900/8201967600 498245 Transmitted : N/A Total Dropped : 65879175/8169017700 496245 Policing statistics (packets/bytes) (rate - kbps) Policed(conform) : 132863/16475012 1000 Policed(exceed) : 132863/16475012 1000 Policed(violate) : 65879175/8169017700 496245 Policed and dropped : 65879175/8169017700 Conform Color Policed(conform) : 132863/16475012 1000 Policed(exceed) : 51367/6369508 389 Policed(violate) : 46186826/5727166424 347907 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 91 Configuring Modular QoS Congestion Management 2R3C Traffic Policing: ExampleExceed Color Policed(exceed) : 81496/10105504 611 Policed(violate) : 19692349/2441851276 148338 Violate Color Policed(violate) : 0/0 0 ATM QoS: Example Hierarchical Policing: Example Additional References The following sections provide references related to implementing QoS congestion management. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 92 OL-26077-02 Configuring Modular QoS Congestion Management ATM QoS: ExampleMIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — RFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 93 Configuring Modular QoS Congestion Management MIBs Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 94 OL-26077-02 Configuring Modular QoS Congestion Management Technical AssistanceC H A P T E R 5 Configuring Modular QoS Service Packet Classification Packet classification identifies and marks traffic flows that require congestion management or congestion avoidance on a data path. The Modular Quality of Service (QoS) command-line interface (MQC) is used to define the traffic flows that should be classified, where each traffic flow is called a class of service, or class. Subsequently, a traffic policy is created and applied to a class. All traffic not identified by defined classes falls into the category of a default class. This module provides the conceptual and configuration information for QoS packet classification. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Classification Based on DEI yes no Class-Based Unconditional Packet yes yes Marking In-Place Policy Modification yes yes IPv6 QoS yes yes Packet Classification and Marking yes yes Policy Inheritance yes yes Port Shape Policies yes no Shared Policy Instance yes no Feature History for Configuring Modular QoS Packet Classification and Marking on Cisco ASR 9000 Series Routers Release Modification Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 95The Class-Based Unconditional Packet Marking feature was introduced on ASR 9000 Ethernet Line Cards. The IPv6 QoS feature wasintroduced on ASR 9000 Ethernet Line Cards. (QoS matching on IPv6 ACLs is not supported.) The Packet Classification and Marking feature was introduced on ASR 9000 Ethernet Line Cards. Release 3.7.2 The Class-Based Unconditional Packet Marking feature was supported on the SIP 700 for the ASR 9000. The Packet Classification and Marking feature was supported on the SIP 700 for the ASR 9000. The Policy Inheritance feature was introduced on ASR 9000 Ethernet Line Cards and on the SIP 700 for the ASR 9000. The Shared Policy Instance feature was introduced on ASR 9000 Ethernet Line Cards. Release 3.9.0 The Classification Based on DEI feature wasintroduced on ASR 9000 Ethernet Line Cards. The In-Place PolicyModification feature wasintroduced on ASR 9000 Ethernet Line Cards and on the SIP 700 for the ASR 9000. The IPv6 QoS feature was supported on the SIP 700 for the ASR 9000. Support for three stand-alone marking actions and three marking actions as part of a policer action in the same class was added on the SIP 700 for the ASR 9000. (ASR 9000 Ethernet Line Cardssupport two stand-alone marking actions and two marking actions as part of a policer action in the same class.) Release 4.0.0 Support for the port shape policies feature was introduced on ASR 9000 Ethernet Line Cards. Release 4.0.1 Release 4.2.1 QoS on satellite feature was added. • Prerequisites for Configuring Modular QoS Packet Classification, page 96 • Information About Configuring Modular QoS Packet Classification, page 97 • How to Configure Modular QoS Packet Classification, page 107 • Configuration Examples for Configuring Modular QoS Packet Classification, page 129 • Additional References, page 135 Prerequisites for Configuring Modular QoS Packet Classification The following prerequisites are required for configuring modular QoS packet classification and marking on your network: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 96 OL-26077-02 Configuring Modular QoS Service Packet Classification Prerequisites for Configuring Modular QoS Packet Classification• You must be in a user group associated with a task group that includes the proper task IDs.The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance. • You must be familiar with Cisco IOS XR QoS configuration tasks and concepts. Information About Configuring Modular QoS Packet Classification To implement QoS packet classification featuresin this document, you must understand the following concepts: Packet Classification Overview Packet classification involves categorizing a packet within a specific group (or class) and assigning it a traffic descriptor to make it accessible for QoS handling on the network. The traffic descriptor contains information about the forwarding treatment (quality of service) that the packet should receive. Using packet classification, you can partition network traffic into multiple priority levels or classes of service. The source agrees to adhere to the contracted terms and the network promises a quality of service. Traffic policers and traffic shapers use the traffic descriptor of a packet to ensure adherence to the contract. Traffic policers and traffic shapers rely on packet classification features, such as IP precedence, to select packets (or traffic flows) traversing a router or interface for different types of QoS service. For example, by using the three precedence bits in the type of service (ToS) field of the IP packet header, you can categorize packets into a limited set of up to eight traffic classes. After you classify packets, you can use other QoS features to assign the appropriate traffic handling policies including congestion management, bandwidth allocation, and delay bounds for each traffic class. Note IPv6-based classification is supported only on Layer 3 interfaces. Traffic Class Elements The purpose of a traffic class is to classify traffic on your router. Use the class-map command to define a traffic class. A traffic class contains three major elements: a name, a series of match commands, and, if more than one match command exists in the traffic class, an instruction on how to evaluate these match commands. The traffic class is named in the class-map command. For example, if you use the word cisco with the class-map command, the traffic class would be named cisco. The match commands are used to specify various criteria for classifying packets. Packets are checked to determine whether they match the criteria specified in the match commands. If a packet matches the specified criteria, that packet is considered a member of the class and is forwarded according to the QoS specifications set in the traffic policy. Packets that fail to meet any of the matching criteria are classified as members of the default traffic class. See the Default Traffic Class. The instruction on how to evaluate these match commands needs to be specified if more than one match criterion exists in the traffic class. The evaluation instruction is specified with the class-map match-any Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 97 Configuring Modular QoS Service Packet Classification Information About Configuring Modular QoS Packet Classificationcommand. If the match-any option is specified as the evaluation instruction, the traffic being evaluated by the traffic class must match at least one of the specified criteria. If the match-all option is specified, the traffic must match all of the match criteria. The function of these commands is described more thoroughly in the Cisco ASR 9000 Series Aggregation Services Routers Modular Quality of Service Command Reference. The traffic class configuration task is described in the Creating a Traffic Class. Traffic Policy Elements The purpose of a traffic policy is to configure the QoS features that should be associated with the traffic that has been classified in a user-specified traffic class or classes. The policy-map command is used to create a traffic policy. A traffic policy contains three elements: a name, a traffic class (specified with the class command), and the QoS policies. The name of a traffic policy is specified in the policy map Modular Quality of Service (MQC) (for example, the policy-map policy1 command creates a traffic policy named policy1). The traffic classthat is used to classify traffic to the specified traffic policy is defined in class map configuration mode. After choosing the traffic class that is used to classify traffic to the traffic policy, the user can enter the QoS features to apply to the classified traffic. The MQC does not necessarily require that users associate only one traffic class to one traffic policy. When packets match to more than one match criterion, as many as 1024 traffic classes can be associated to a single traffic policy. The 1024 class maps include the default class and the classes of the child policies, if any. The order in which classes are configured in a policy map is important. The match rules of the classes are programmed into the TCAM in the order in which the classes are specified in a policy map. Therefore, if a packet can possibly match multiple classes, only the first matching class is returned and the corresponding policy is applied. The function of these commands is described more thoroughly in the Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference. The traffic policy configuration task is described in Creating a Traffic Policy. Default Traffic Class Unclassified traffic (traffic that does not meet the match criteria specified in the traffic classes) is treated as belonging to the default traffic class. If the user does not configure a default class, packets are still treated as members of the default class. However, by default, the default class has no enabled features. Therefore, packets belonging to a default class with no configured features have no QoS functionality. These packets are then placed into a first in, first out (FIFO) queue and forwarded at a rate determined by the available underlying link bandwidth. This FIFO queue is managed by a congestion avoidance technique called tail drop. For further information about congestion avoidance techniques, such as tail drop, see the “Configuring Modular QoS Congestion Avoidance on Cisco ASR 9000 Series Routers” module in this guide Bundle Traffic Policies When a policy is bound to a bundle, the same policy is programmed on every bundle member (port). For example, if there is a policer or shaper rate, the same rate is configured on every port. Traffic is scheduled to bundle members based on the load balancing algorithm. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 98 OL-26077-02 Configuring Modular QoS Service Packet Classification Traffic Policy ElementsA policy can be bound to: • Bundles • Bundle Layer 3 subinterfaces • Bundle Layer 2 subinterfaces (Layer 2 transport) Both ingress and egress traffic is supported. Percentage-based policies and absolute rate-based policies are supported. However, for ease of use, it is recommended to use percentage-based policies. Shared Policy Instance After the traffic class and traffic policy have been created, Shared Policy Instance (SPI) can optionally be used to allow allocation of a single set of QoS resources and share them across a group of subinterfaces, multiple Ethernet flow points (EFPs), or bundle interfaces. Using SPI, a single instance of qos policy can be shared across multiple subinterfaces, allowing for aggregate shaping of the subinterfaces to one rate. All of the subinterfaces that share the instance of a QoS policy must belong to the same physical interface. The number of subinterfaces sharing the QoS policy instance can range from 2 to the maximum number of subinterfaces on the port. For bundle interfaces, hardware resources are replicated per bundle member. All subinterfaces that use a common shared policy instance and are configured on a Link Aggregation Control Protocol (LAG) bundle must be load-balanced to the same member link. When a policy is configured on a bundle EFP, one instance of the policy is configured on each of the bundle member links. When using SPI across multiple bundle EFPs of the same bundle, one shared instance of the policy is configured on each of the bundle member links. By default, the bundle load balancing algorithm uses hashing to distribute the traffic (that needs to be sent out of the bundle EFPs) among its bundle members. The traffic for single or multiple EFPs can get distributed among multiple bundle members. If multiple EFPs have traffic that needsto be shaped or policed together usingSPI, the bundle load balancing hasto be configured to select the same bundle member (hash-select) for traffic to all the EFPs that belong the same shared instance of the policy. This ensures that traffic going out on all the EFPs with same shared instance of the policy use the same policer/shaper Instance. This is normally used when the same subscriber has many EFPs, for example, one EFP for each service type, and the provider requires shaping and queuing to be implemented together for all the subscriber EFPs. Policy Inheritance When a policy map is applied on a physical port, the policy is enforced for all Layer 2 and Layer 3 subinterfaces under that physical port. Port Shape Policies When a port shaping policy is applied to a main interface, individual regular service policies can also be applied on its subinterfaces. Port shaping policy maps have the following restrictions: • class-default is the only allowed class map. • The shape class action is the only allowed class action. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 99 Configuring Modular QoS Service Packet Classification Shared Policy Instance• They can only be configured in the egress direction. • They can only be applied to main interfaces, not to subinterfaces. • Two- and three- level policies are not supported. Only one level or flat policies are supported. If any of the above restrictions are violated, the configured policy map isapplied as a regular policy, not a port shaping policy. Class-based Unconditional Packet Marking Feature and Benefits The Class-based, Unconditional Packet Marking feature provides users with a means for efficient packet marking by which the users can differentiate packets based on the designated markings. The Class-based, Unconditional Packet Marking feature allows users to perform the following tasks: • Mark packets by setting the IP precedence bits or the IP differentiated services code point (DSCP) in the IP ToS byte. • Mark Multiprotocol Label Switching (MPLS) packets by setting the EXP bits within the imposed or topmost label. • Mark packets by setting the Layer 2 class-of-service (CoS) value. • Mark packets by setting inner and outer CoS tags for an IEEE 802.1Q tunneling (QinQ) configuration. • Mark packets by setting the value of the qos-group argument. • Mark packets by setting the value of the discard-class argument. Note qos-group and discard-class are variables internal to the router, and are not transmitted. Unconditional packet marking allows you to partition your network into multiple priority levels or classes of service, as follows: • Use QoS unconditional packet marking to set the IP precedence or IP DSCP values for packets entering the network. Routers within your network can then use the newly marked IP precedence values to determine how the traffic should be treated. For example, weighted random early detection (WRED), a congestion avoidance technique, can be used to determine the probability that a packet is dropped. In addition, low-latency queueing (LLQ) can then be configured to put all packets of that mark into the priority queue. • Use QoS unconditional packet marking to assign packetsto a QoS group. To set the QoS group identifier on MPLS packets, use the set qos-group command in policy map class configuration mode. Setting the QoS group identifier does not automatically prioritize the packets for transmission. You must first configure an egress policy that uses the QoS group. Note • Use CoS unconditional packet marking to assign packets to set the priority value of IEEE 802.1p/ Inter-Switch Link (ISL) packets. The router uses the CoS value to determine how to prioritize packets Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 100 OL-26077-02 Configuring Modular QoS Service Packet Classification Class-based Unconditional Packet Marking Feature and Benefitsfor transmission and can use this marking to perform Layer 2-to-Layer 3 mapping. To set the Layer 2 CoS value of an outgoing packet, use the set cos command in policy map configuration mode. The configuration task is described in the Configuring Class-based Unconditional Packet Marking. Unless otherwise indicated, the class-based unconditional packet marking for Layer 3 physical interfaces applies to bundle interfaces. Note Specification of the CoS for a Packet with IP Precedence Use of IP precedence allows you to specify the CoS for a packet. You use the three precedence bits in the ToS field of the IP version 4 (IPv4) header for this purpose. Figure 1 shows the ToS field. Figure 7: IPv4 Packet Type of Service Field Using the ToS bits, you can define up to eight classes of service. Other features configured throughout the network can then use these bits to determine how to treat the packet in regard to the ToS to grant it. These other QoS features can assign appropriate traffic-handling policies, including congestion managementstrategy and bandwidth allocation. For example, queueing features such as LLQ can use the IP precedence setting of the packet to prioritize traffic. By setting precedence levels on incoming traffic and using them in combination with the Cisco IOS XR QoS queueing features, you can create differentiated service. So that each subsequent network element can provide service based on the determined policy, IP precedence is usually deployed as close to the edge of the network or administrative domain as possible. This allows the rest of the core or backbone to implement QoS based on precedence. The configuration task is described in the Configuring Class-based Unconditional Packet Marking. IP Precedence Bits Used to Classify Packets Use the three IP precedence bits in the ToS field of the IP header to specify the CoS assignment for each packet. As mentioned earlier, you can partition traffic into a maximum of eight classes and then use policy maps to define network policies in terms of congestion handling and bandwidth allocation for each class. For historical reasons, each precedence corresponds to a name. These names are defined in RFC 791. Table 5 lists the numbers and their corresponding names, from least to most important. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 101 Configuring Modular QoS Service Packet Classification Specification of the CoS for a Packet with IP PrecedenceTable 2: IP Precedence Values Number Name 0 routine 1 priority 2 immediate 3 flash 4 flash-override 5 critical 6 internet 7 network Note IP precedence bit settings 6 and 7 are reserved for network control information, such as routing updates. IP Precedence Value Settings By default, Cisco IOS XR software leaves the IP precedence value untouched. This preserves the precedence value set in the header and allows all internal network devices to provide service based on the IP precedence setting. This policy followsthe standard approach stipulating that network traffic should be sorted into various types of service at the edge of the network and that those types of service should be implemented in the core of the network. Routers in the core of the network can then use the precedence bits to determine the order of transmission, the likelihood of packet drop, and so on. Because traffic coming into your network can have the precedence set by outside devices, we recommend that you reset the precedence for all traffic entering your network. By controlling IP precedence settings, you prohibit users that have already set the IP precedence from acquiring better service for their traffic simply by setting a high precedence for all of their packets. The class-based unconditional packet marking, LLQ, and WRED features can use the IP precedence bits. Classification Based on DEI You can classify traffic based on the Drop Eligible Indicator (DEI ) bit that is present in 802.1ad frames and in 802.1ah frames. Default DEI marking is supported. The set DEI action in policy maps is supported on 802.1ad packets for: • Ingress and egress • Layer 2 subinterfaces Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 102 OL-26077-02 Configuring Modular QoS Service Packet Classification Classification Based on DEI• Layer 2 main interfaces • Layer 3 main interfaces The set DEI action isignored for traffic on interfacesthat are not configured for 802.1ad encapsulation. Note Default DEI Marking Incoming Packet Default DEI on Imposed 802.1ad Headers 802.1q packet None 0 802.1ad packet None DEI of top-most tag of the incoming packet 0 or 1 Based on DEI value in the set action 802.1q packet translated to set dei {0 | 1} 802.1ad packet or 802.1ad packet IP Precedence Compared to IP DSCP Marking If you need to mark packets in your network and all your devices support IP DSCP marking, use the IP DSCP marking to mark your packets because the IP DSCP markings provide more unconditional packet marking options. If marking by IP DSCP is undesirable, however, or if you are unsure if the devices in your network support IP DSCP values, use the IP precedence value to mark your packets. The IP precedence value is likely to be supported by all devices in the network. You can set up to 8 different IP precedence markings and 64 different IP DSCP markings. QoS Policy Propagation Using Border Gateway Protocol Packet classification identifies and marks traffic flows that require congestion management or congestion avoidance on a data path. Quality-of-service Policy Propagation Using Border Gateway Protocol (QPPB) allows you to classify packets by Qos Group ID, based on access lists (ACLs), Border Gateway Protocol (BGP) community lists, BGP autonomous system (AS) paths, Source Prefix address, or Destination Prefix address. After a packet has been classified, you can use other QoS features such as policing and weighted random early detection (WRED) to specify and enforce policies to fit your business model. QoS Policy Propagation Using BGP (QPPB) allows you to map BGP prefixes and attributes to Cisco Express Forwarding (CEF) parameters that can be used to enforce traffic policing. QPPB allows BGP policy set in one location of the network to be propagated using BGP to other parts of the network, where appropriate QoS policies can be created. QPPB allows you to classify packets based on the following: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 103 Configuring Modular QoS Service Packet Classification IP Precedence Compared to IP DSCP Marking• Access lists. • BGP community lists. You can use community lists to create groups of communities to use in a match clause of a route policy. As with access lists, you can create a series of community lists. • BGP autonomous system paths. You can filter routing updates by specifying an access list on both incoming and outbound updates, based on the BGP autonomous system path. • Source Prefix address. You can classify a set of prefixes coming from the address of a BGP neighbor(s). • Destination Prefix address. You can classify a set of BGP prefixes. Classification can be based on the source or destination address of the traffic. BGP and CEF must be enabled for the QPPB feature to be supported. QoS on the Satellite System AutoQoS which automates consistent deployment of QoS features is enabled on the satellite system. All the user-configured Layer2 and Layer3 QoS features are applied on the ASR9000 and no separate Qos configuration required for the satellite system. Auto-Qos handles the over-subscription of the ICL links. All other QoS features, including broadband QoS, on regular ports are supported on satellite ports as well. System congestion handling between the ASR9000 Series Router and satellite ports is setup to maintain priority and protection. AutoQoS Provide sufficient differentiation between different classes of traffic that flow on the satellite ICLs between the ASR9000 Series Router and the Satellite box. Note Queueing on an ingress service-policy is not supported on satellite interfaces. Auto QoS Traffic from the satellite system to the Cisco IOS XR ASR9000 series router and traffic from the ASR9000 series router to the satellite system have been discussed. Satellite to ASR9000 series router • Traffic is handled using the trusted port model. • Automatic packet classification rules determine whether a packet is control packet (LACP, STP, CDP, CFM, ARP, OSPF etc), high priority data (VLAN COS 5,6,7, IP prec 5, 6, 7) or normal priority data and queued accordingly. • Protocol types auto-prioritized by the satellite - all IEEE control protocols (01 80 C2 xx xx xx), LACP, 802.3ah, CFM, STP, CDP, LLDP, ARP, OSPF, RIP, BGP, IGMP, RSVP, HSRP, VRRP p2 q. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 104 OL-26077-02 Configuring Modular QoS Service Packet Classification QoS on the Satellite System• User data packets auto-prioritized by the satellite - VLAN COS 5, 6, 7, IP precedence 5, 6, 7 MPLS EXP 5, 6, 7. Figure 8: AutoQoS, satellite to host ASR9000 series router to satellite • Traffic targeted to a satellite egress port is shaped on ASR9K to match downstream access port speed. • Traffic is streamed based on the full 3-level egress queuing hierarchy. • Each remotely managed satellite access GigE port is auto-shaped to match access line speed. Figure 9: AutoQoS, host to satellite Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 105 Configuring Modular QoS Service Packet Classification QoS on the Satellite SystemIn-Place Policy Modification The In-Place Policy Modification feature allows you to modify a QoS policy even when the QoS policy is attached to one or more interfaces. When you modify the QoS policy attached to one or more interfaces, the QoS policy is automatically modified on all the interfaces to which the QoS policy is attached. A modified policy is subject to the same checks that a new policy is subject to when it is bound to an interface. If the policy-modification is successful, the modified policy takes effect on all the interfaces to which the policy is attached. The configuration session is blocked until the policy modification is complete. However, if the policy modification fails on any one of the interfaces, an automatic rollback is initiated to ensure that the pre-modification policy is in effect on all the interfaces. The configuration session is blocked until the rollback is complete on all affected interfaces. If unrecoverable errors occur during in-place policy modification, the policy is put into an inconsistent state on target interfaces. Use the show qos inconsistency command to view inconsistency in each location. (This command is supported only on ASR 9000 Ethernet Line Cards). The configuration session is blocked until the modified policy is effective on all interfaces that are using the policy. No new configuration is possible until the configuration session is unblocked. When a QoS policy attached to an interface is modified, there might not be any policy in effect on the interfaces in which the modified policy is used for a short period of time. The QoS statistics for the policy that is attached to an interface are lost (reset to 0) when the policy is modified. Note Modifications That Can Trigger In-Place Policy Modifications Modifications to QoS Policies • Add new actions, such as bandwidth or police • Add new service policies (increasing the hierarchy level) • Remove existing actions • Modify existing actions • Remove service-policies (decreasing the hierarchy level) • Add new classes along with new actions • Add or remove multiple classes in the policy • Modify a child policy Modifications to Class Maps • Add new match statements • Remove existing match statements Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 106 OL-26077-02 Configuring Modular QoS Service Packet Classification In-Place Policy Modification• Change the match type (from match-all to match-any, and vice versa) • Modify existing match statements Modifications to Access Lists Used in Class Maps • Add new access control entries (ACEs) • Remove ACEs • Modify ACEs Recommendations for Using In-Place Policy Modification For a short period of time while a QoS policy is being modified, there might not be any policy in effect on the interfaces in which the modified policy is used. For this reason, modify QoS policies that affect the fewest number of interfaces at a time. Use the show policy-map targets command to identify the number of interfaces that will be affected during policy map modification. Dynamic Modification of Interface Bandwidth This section describes the dynamic modification of interface bandwidth feature. Policy States • Verification—This state indicates an incompatibility of the configured QoS policy with respect to the new interface bandwidth value. The system handles traffic on a best-efforts basis and some traffic drops can occur. How to Configure Modular QoS Packet Classification This section contains instructions for the following tasks: Creating a Traffic Class To create a traffic class containing match criteria, use the class-map command to specify the traffic class name, and then use the following match commands in class-map configuration mode, as needed. For conceptual information, see the Traffic Class Elements. Restrictions All match commands specified in this configuration task are considered optional, but you must configure at least one match criterion for a class. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 107 Configuring Modular QoS Service Packet Classification Dynamic Modification of Interface BandwidthSUMMARY STEPS 1. configure 2. class-map [type qos] [match-any] [match-all] class-map-name 3. match access-group [ipv4 | ipv6] access-group-name 4. match [not] cos [cos-value] [cos-value0 ... cos-value7] 5. match [not] cos inner [inner-cos-value] [inner-cos-value0...inner-cos-value7] 6. match destination-address mac destination-mac-address 7. match source-address mac source-mac-address 8. match [not] discard-class discard-class-value [discard-class-value1 ... discard-class-value6] 9. match [not] dscp [ipv4 | ipv6] dscp-value [dscp-value ... dscp-value] 10. match [not] mpls experimental topmost exp-value [exp-value1 ... exp-value7] 11. match [not] precedence [ipv4 | ipv6] precedence-value [precedence-value1 ... precedence-value6] 12. match [not] protocol protocol-value [protocol-value1 ... protocol-value7] 13. match [not] qos-group [qos-group-value1 ... qos-group-value8] 14. match vlan [inner] vlanid [vlanid1 ... vlanid7] 15. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 class-map [type qos] [match-any] [match-all] Enters class map configuration mode. class-map-name Step 2 • Creates a class map to be used for matching packets to the class whose name you specify. Example: RP/0/RSP0/CPU0:router(config)# class-map class201 • If you specific match-any, one of the match criteria must be met for traffic entering the traffic class to be classified as part of the traffic class. Thisisthe default. If you specify match-all, the traffic must match all the match criteria. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 108 OL-26077-02 Configuring Modular QoS Service Packet Classification Creating a Traffic ClassCommand or Action Purpose (Optional) Configures the match criteria for a class map based on the specified access control list (ACL) name. match access-group [ipv4 | ipv6] access-group-name Example: RP/0/RSP0/CPU0:router(config-cmap)# match access-group ipv4 map1 Step 3 match [not] cos [cos-value] [cos-value0 ... (Optional) Specifies a cos-value in a class map to match packets. cos-value7] Step 4 • cos-value arguments are specified as an integer from 0 to 7. Example: RP/0/RSP0/CPU0:router(config-cmap)# match cos 5 (Optional) Specifies an inner-cos-value in a class map to match packets. match [not] cos inner [inner-cos-value] [inner-cos-value0...inner-cos-value7] Step 5 Example: RP/0/RSP0/CPU0:router match cos inner 7 • inner-cos-value arguments are specified as an integer from 0 to 7. (Optional) Configures the match criteria for a class map based on the specified destination MAC address. match destination-address mac destination-mac-address Example: RP/0/RSP0/CPU0:router(config-cmap)# match destination-address mac 00.00.00 Step 6 (Optional) Configures the match criteria for a class map based on the specified source MAC address. match source-address mac source-mac-address Example: RP/0/RSP0/CPU0:router(config-cmap)# match source-address mac 00.00.00 Step 7 (Optional) Specifies a discard-class-value in a class map to match packets. match [not] discard-class discard-class-value [discard-class-value1 ... discard-class-value6] Step 8 Example: RP/0/RSP0/CPU0:router(config-cmap)# match discard-class 5 • discard-class-value argument is specified as an integer from 0 to 7. The match discard-class command is supported only for an egress policy. match [not] dscp [ipv4 | ipv6] dscp-value (Optional) Identifies a specific DSCP value as a match criterion. [dscp-value ... dscp-value] Step 9 • Value range is from 0 to 63. Example: RP/0/RSP0/CPU0:router(config-cmap)# match dscp ipv4 15 • Reserved keywords can be specified instead of numeric values. • Up to eight values or ranges con be used per match statement. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 109 Configuring Modular QoS Service Packet Classification Creating a Traffic ClassCommand or Action Purpose (Optional) Configure a class map so that the three-bit experimental field in the topmost Multiprotocol Label Switching (MPLS) labels are examined for experimental (EXP) field values. match [not] mpls experimental topmost exp-value [exp-value1 ... exp-value7] Example: RP/0/RSP0/CPU0:router(config-cmap)# match mpls experimental topmost 3 Step 10 The value range is from 0 to 7. match [not] precedence [ipv4 | ipv6] (Optional) Identifies IP precedence values as match criteria. precedence-value [precedence-value1 ... precedence-value6] Step 11 • Value range is from 0 to 7. Example: RP/0/RSP0/CPU0:router(config-cmap)# match precedence ipv4 5 • Reserved keywords can be specified instead of numeric values. (Optional) Configuresthe match criteria for a class map on the basis of the specified protocol. match [not] protocol protocol-value [protocol-value1 ... protocol-value7] Example: RP/0/RSP0/CPU0:router(config-cmap)# match protocol igmp Step 12 (Optional) Specifies service (QoS) group values in a class map to match packets. match [not] qos-group [qos-group-value1 ... qos-group-value8] Step 13 Example: RP/0/RSP0/CPU0:router(config-cmap)# match qos-group 1 2 3 4 5 6 7 8 • qos-group-value identifier argument is specified as the exact value or range of values from 0 to 63. • Up to eight values (separated by spaces) can be entered in one match statement. • match qos-group command is supported only for an egress policy. (Optional) Specifies a VLAN ID or range of VLAN IDs in a class map to match packets. match vlan [inner] vlanid [vlanid1 ... vlanid7] Example: RP/0/RSP0/CPU0:router(config-cmap)# match vlan vlanid vlanid1 Step 14 • vlanid is specified as an exact value or range of values from 1 to 4094. • Total number of supported VLAN values or ranges is 8. Step 15 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 110 OL-26077-02 Configuring Modular QoS Service Packet Classification Creating a Traffic ClassCommand or Action Purpose ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Creating a Traffic Policy To create a traffic policy, use the policy-map global configuration command to specify the traffic policy name. The traffic class is associated with the traffic policy when the class command is used. The class command must be issued after you enter the policy map configuration mode. After entering the class command, the router is automatically in policy map class configuration mode, which is where the QoS policies for the traffic policy are defined. The following class-actions are supported: • bandwidth—Configures the bandwidth for the class. See the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. • police—Police traffic. See the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. • priority—Assigns priority to the class. See the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. • queue-limit—Configures queue-limit (tail drop threshold) for the class. See the “Configuring Modular QoS Congestion Avoidance on Cisco ASR 9000 Series Routers” module in this guide. • random-detect—Enables Random Early Detection. See the “Configuring Modular QoS Congestion Avoidance on Cisco ASR 9000 Series Routers” module in this guide. • service-policy—Configures a child service policy. • set—Configures marking for this class. See the Class-based Unconditional Packet Marking Feature and Benefits. • shape—Configures shaping for the class. See the “Configuring Modular Quality of Service Congestion Management on Cisco ASR 9000 Series Routers” module in this guide. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 111 Configuring Modular QoS Service Packet Classification Creating a Traffic PolicyFor additional commands that can be entered as match criteria, see the Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference. For conceptual information, see Traffic Policy Elements. SUMMARY STEPS 1. configure 2. policy-map [type qos] policy-name 3. class class-name 4. set precedence 5. end or commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map [type qos] policy-name Enters policy map configuration mode. Example: • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. RP/0/RSP0/CPU0:router(config)# policy-map policy1 class class-name Specifiesthe name of the class whose policy you want to create or change. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 Step 3 set precedence Sets the precedence value in the IP header. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set precedence 3 Step 4 Step 5 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-pmap-c)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 112 OL-26077-02 Configuring Modular QoS Service Packet Classification Creating a Traffic PolicyCommand or Action Purpose Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Attaching a Traffic Policy to an Interface After the traffic class and traffic policy are created, you must use the service-policy interface configuration command to attach a traffic policy to an interface, and to specify the direction in which the policy should be applied (either on packets coming into the interface or packets leaving the interface). For additional commands that can be entered in policy map class configuration mode, see the Cisco ASR 9000 Series Aggregation Services RoutersModular Quality of Service Command Reference.. Prerequisites A traffic class and traffic policy must be created before attaching a traffic policy to an interface. Restrictions None SUMMARY STEPS 1. configure 2. interface type interface-path-id 3. service-policy {input | output} policy-map 4. Use one of these commands: • end • commit 5. show policy-map interface type interface-path-id [input | output] Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 113 Configuring Modular QoS Service Packet Classification Attaching a Traffic Policy to an InterfaceDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/1/0/9 Step 2 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 3 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. show policy-map interface type (Optional) Displays statistics for the policy on the specified interface. interface-path-id [input | output] Step 5 Example: RP/0/RSP0/CPU0:router# show policy-map interface gigabitethernet 0/1/0/9 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 114 OL-26077-02 Configuring Modular QoS Service Packet Classification Attaching a Traffic Policy to an InterfaceAttaching a Shared Policy Instance to Multiple Subinterfaces After the traffic class and traffic policy are created, you can optionally use the service-policy (interface) configuration command to attach a shared policy instance to multiple subinterfaces, and to specify the direction in which the policy should be applied (either on packets coming into or leaving the subinterface). Note A shared policy can include a combination of Layer 2 and Layer 3 subinterfaces. For additional commands that can be entered in policy map class configuration mode, see the Cisco ASR 9000 Series Aggregation Services Routers Modular Quality of Service Command Reference. Prerequisites A traffic class and traffic policy must be created before attaching a shared policy instance to a subinterface. Restrictions Shared policy instance across multiple physical interfaces is not supported. SUMMARY STEPS 1. configure 2. interface type interface-path-id 3. service-policy {input | output} policy-map [shared-policy-instance instance-name] 4. Use one of these commands: • end • commit 5. show policy-map shared-policy-instance instance-name [input | output] location rack/slot/module DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface type interface-path-id Enters interface configuration mode and configures a subinterface. Example: RP/0/RSP0/CPU0:router(config)# interface gigabitethernet 0/1/0/0.1 Step 2 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 115 Configuring Modular QoS Service Packet Classification Attaching a Traffic Policy to an InterfaceCommand or Action Purpose Attaches a policy map to an input or output subinterface to be used as the service policy for that subinterface. service-policy {input | output} policy-map [shared-policy-instance instance-name] Step 3 Example: RP/0/RSP0/CPU0:router(config-if)# • In this example, the traffic policy evaluates all traffic leaving that interface. service-policy output policy1 shared-policy-instance Customer1 Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays statistics for the policy on the specified shared policy instance subinterface. show policy-map shared-policy-instance instance-name [input | output] location rack/slot/module Step 5 Example: RP/0/RSP0/CPU0:router# show policy-map shared-policy-instance Customer1 location 0/1/0/7.1 Attaching a Shared Policy Instance to Bundle Interfaces or EFP Bundles After the traffic class and traffic policy are created, you can optionally use the service-policy (interface) configuration command to attach a shared policy instance to bundle interfaces and to bundle EFPs, and to specify the direction in which the policy should be applied (either on packets coming into or leaving the subinterface). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 116 OL-26077-02 Configuring Modular QoS Service Packet Classification Attaching a Traffic Policy to an InterfaceFor additional commands that can be entered in policy map class configuration mode, see the Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference. Prerequisites A traffic class and traffic policy must be created before attaching a shared policy instance to bundle interfaces or EFP bundles. Restrictions Shared policy instance across multiple physical interfaces is not supported. SUMMARY STEPS 1. configure 2. interface Bundle-Ether bundle-id 3. service-policy {input | output} policy-map [shared-policy-instance instance-name] 4. Use one of these commands: • end • commit 5. show policy-map shared-policy-instance instance-name [input | output] location location-id DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters interface configuration mode and configures a bundle interface. interface Bundle-Ether bundle-id Example: RP/0/RP1/CPU0:router(config)# interface Bundle-Ether 100.1 l2transport Step 2 Attaches a policy map to an input or output bundle interface to be used as the service policy for that subinterface. service-policy {input | output} policy-map [shared-policy-instance instance-name] Step 3 Example: RP/0/RSP0/CPU0:router(config-if)# • In this example, the traffic policy evaluates all traffic leaving that interface. service-policy output policy1 shared-policy-instance Customer1 Step 4 Use one of these commands: Saves configuration changes. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 117 Configuring Modular QoS Service Packet Classification Attaching a Traffic Policy to an InterfaceCommand or Action Purpose • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • end • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays statistics for the policy at the specified shared policy instance location. show policy-map shared-policy-instance instance-name [input | output] location location-id Example: RP/0/RSP0/CPU0:router# show policy-map Step 5 shared-policy-instance Customer1 location 0/rsp0/cpu0 Configuring Class-based Unconditional Packet Marking This configuration task explains how to configure the following class-based, unconditional packet marking features on your router: • IP precedence value • IP DSCP value • QoS group value (ingress only) • CoS value ( egress only on Layer 3 subinterfaces) • MPLS experimental value • Discard class Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 118 OL-26077-02 Configuring Modular QoS Service Packet Classification Configuring Class-based Unconditional Packet MarkingIPv4 and IPv6 QoS actions applied to MPLS tagged packets are not supported. The configuration is accepted, but no action is taken. Note Note Choose only two set commands per class. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. set precedence 5. set dscp 6. set qos-group qos-group-value 7. set cos cos-value 8. set cos [inner] cos-value 9. set mpls experimental {imposition | topmost} exp-value 10. set srp-priority priority-value 11. set discard-class discard-class-value 12. set atm-clp 13. exit 14. exit 15. interface type interface-path-id 16. service-policy {input | output]} policy-map 17. Use one of these commands: • end • commit 18. show policy-map interface type interface-path-id [input | output] DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 119 Configuring Modular QoS Service Packet Classification Configuring Class-based Unconditional Packet MarkingCommand or Action Purpose Example: RP/0/RSP0/CPU0:router(config)# policy-map policy1 • Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Step 3 class class-name Enters policy class map configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class1 • Specifies the name of the class whose policy you want to create or change. Choose one set command per class Step 4 set precedence Sets the precedence value in the IP header. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set precedence 1 • The tunnel keyword sets the IP precedence on the outer IP header. This option is available only on a Cisco XR 12000 Series Router with IPSec installed and configured. Step 5 set dscp Marks a packet by setting the DSCP in the ToS byte. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set dscp 5 • The tunnel keyword sets the IP DSCP on the outer IP header. This option is available only on a Cisco XR 12000 Series Router with IPSec installed and configured. Step 6 set qos-group qos-group-value Sets the QoS group identifiers on IPv4 or MPLS packets. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set qos-group 31 The set qos-group command is supported only on an ingress policy. Sets the specific IEEE 802.1Q Layer 2 CoS value of an outgoing packet. Values are from 0 to7. set cos cos-value Example: RP/0/RP0/CPU0:router(config-pmap-c)# set cos 7 Step 7 Sets the Layer 2 CoS value of an outgoing packet. • This command should be used by a router if a user wants to mark a packet that is being sent to a switch. Switches can leverage Layer 2 header information, including a CoS value marking. • Packets entering an interface cannot be set with a CoS value. Sets the specific IEEE 802.1Q Layer 2 CoS value of an outgoing packet. Values are from 0 to7. set cos [inner] cos-value Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set cos 7 Step 8 Sets the Layer 2 CoS value of an outgoing packet. • This command should be used by a router if a user wants to mark a packet that is being sent to a switch. Switches can leverage Layer 2 header information, including a CoS value marking. • For Layer 2 interfaces, the set cos command: Is rejected on ingress or egress policies on a main interface. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 120 OL-26077-02 Configuring Modular QoS Service Packet Classification Configuring Class-based Unconditional Packet MarkingCommand or Action Purpose Is accepted but ignored on ingress policies on a subinterface. Is supported on egress policies on a subinterface. • For Layer 3 interfaces, the set cos command: Is ignored on ingress policies on a main interface. Is rejected on ingress policies on a subinterface. Issupported on egress policies on main interfaces and subinterfaces. Sets the experimental value of the MPLS packet top-most or imposition labels. set mpls experimental {imposition | topmost} exp-value Step 9 Example: RP/0/RSP0/CPU0:router(config-pmap-c)# set mpls experimental imposition 3 • imposition can be used only in service policies that are attached in the ingress policy. Step 10 set srp-priority priority-value Sets the spatial reuse protocol (SRP) priority value of an outgoing packet. Example: RP/0//CPU0:router(config-pmap-c)# set srp-priority 3 • This command can be used only in service policiesthat are attached in the output direction of an interface. Sets the discard class on IP Version 4 (IPv4) or Multiprotocol Label Switching (MPLS) packets. set discard-class discard-class-value Example: RP/0//CPU0:router(config-pmap-c)# set discard-class 3 Step 11 • This command can be used only in service policiesthat are attached in the ingress policy. set atm-clp Sets the cell loss priority (CLP) bit. Example: RP/0/0/CPU0:router(config-pmap-c)# set atm-clp Step 12 exit Returns the router to policy map configuration mode. Example: Step 13 RP/0/RSP0/CPU0:router(config-pmap-c)# exit exit Returns the router to global configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# exit Step 14 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 121 Configuring Modular QoS Service Packet Classification Configuring Class-based Unconditional Packet MarkingCommand or Action Purpose interface type interface-path-id Enters interface configuration mode and configures an interface. Example: RP/0/RSP0/CPU0:router(config)# interface pos 0/2/0/0 Step 15 Attaches a policy map to an input or output interface to be used as the service policy for that interface. service-policy {input | output]} policy-map Example: RP/0/RSP0/CPU0:router(config-if)# service-policy output policy1 Step 16 • In this example, the traffic policy evaluates all traffic leaving that interface. Step 17 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config-if)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config-if)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. (Optional) Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface type interface-path-id [input | output] Example: RP/0/RSP0/CPU0:router# show policy-map interface pos 0/2/0/0 Step 18 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 122 OL-26077-02 Configuring Modular QoS Service Packet Classification Configuring Class-based Unconditional Packet MarkingConfiguring QoS Policy Propagation Using Border Gateway Protocol This section explains how to configure Policy Propagation Using Border Gateway Protocol (BGP) on a router based on BGP community lists, BGP autonomoussystem paths, accesslists,source prefix address, or destination prefix address. Policy Propagation Using BGP Configuration Task List Policy propagation using BGP allows you to classify packets by IP precedence and/or QoS group ID, based on BGP community lists, BGP autonomous system paths, access lists, source prefix address and destination prefix address. After a packet has been classified, you can use other quality-of-service featuressuch as weighted random early detection (WRED) to specify and enforce policies to fit your business model. Overview of Tasks To configure Policy Propagation Using BGP, perform the following basic tasks: • Configure BGP and Cisco Express Forwarding (CEF). To configure BGP, see Cisco IOS XR Routing Configuration Guide. To configure CEF, see Cisco IOS XR IP Address and Services Configuration Guide . • Configure a BGP community list or access list. • Define the route policy. Set the IP precedence and/or QoS group ID, based on the BGP community list, BGP autonomous system path, access list, source prefix address or destination prefix address. • Apply the route policy to BGP. • Configure QPPB on the desired interfaces. • Configure and enable a QoS Policy to use the above classification (IP precedence or QoS group ID). To configure committed access rate (CAR), WRED and tail drop, see the Configuring Modular QoS Congestion Avoidance on Cisco IOS XR Software module. Defining the Route Policy This task defines the route policy used to classify BGP prefixes with IP precedence or QoS group ID. Prerequisites Configure the BGP community list, or access list, for use in the route policy. Restrictions • IPv4 and IPv6 QPPB with egress QoS policy is supported on all Ethernet and SIP-700 line cards. • IPv4 QPPB with ingress QoS policy is supported on the first generation ASR9000 Ethernet line cards. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 123 Configuring Modular QoS Service Packet Classification Configuring QoS Policy Propagation Using Border Gateway ProtocolSUMMARY STEPS 1. configure 2. route-policy name 3. set qos-groupqos-group-value 4. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters route policy configuration mode and specifies the name of the route policy to be configured. route-policy name Example: RP/0/RSP0/CPU0:router(config)# route-policy r1 Step 2 Sets the QoS group identifiers. The set qos-group command is supported only on an ingress policy. set qos-groupqos-group-value Example: RP/0/RSP0/CPU0:router(config-pmap-c) # set qos-group 30 Step 3 Step 4 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exitsthe configuration session and returnsthe router to EXEC mode without committing the configuration changes. ? Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 124 OL-26077-02 Configuring Modular QoS Service Packet Classification Defining the Route PolicyCommand or Action Purpose Applying the Route Policy to BGP This task applies the route policy to BGP. Prerequisites Configure BGP and CEF. SUMMARY STEPS 1. configure 2. router bgpas-number 3. address-familyaddress-prefix 4. table-policypolicy-name 5. Use one of these commands: • end • commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 router bgpas-number Enters BGP configuration mode. Example: RP/0/RSP0/CPU0:router(config) # router bgp 120 Enters address-family configuration mode, allowing you to configure an address family. address-familyaddress-prefix Example: RP/0/RSP0/CPU0:router(config-bgp) # address-family ipv4 unicast Step 3 Step 4 table-policypolicy-name Applying a routing policy. Example: RP/0/RSP0/CPU0:router(config-bgp-af) # table-policy qppb a1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 125 Configuring Modular QoS Service Packet Classification Applying the Route Policy to BGPCommand or Action Purpose Step 5 Use one of these commands: Saves configuration changes. • end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: • commit Example: RP/0/RSP0/CPU0:router(config)# end ? Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. or RP/0/RSP0/CPU0:router(config)# commit ? Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. ? Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuring QPPB on the Desired Interfaces This task applies QPPB to a specified interface. The traffic begins to be classified, based on matching prefixes in the route policy. The source or destination IP address of the traffic can be used to match the route policy. SUMMARY STEPS 1. configure 2. interface type interface-path-id 3. ipv4 | ipv6 bgp policy propagation input {ip-precedence | qos-group} {destination [ip-precedence {destination | source}] | source [ip-precedence {destination | source}] } RP/0/RSP0/CPU0:router(config)#ipv4 bgp policy propagation input qos-group destination Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 126 OL-26077-02 Configuring Modular QoS Service Packet Classification Configuring QPPB on the Desired InterfacesDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Enters interface configuration mode and associates one or more interfacesto the VRF. interface type interface-path-id Example: RP/0/RSP0/CPU0:router(config)#interface POS 0/0/0/0 Step 2 ipv4 | ipv6 bgp policy propagation input {ip-precedence | qos-group} Enables QPPB on an interface {destination [ip-precedence {destination | source}] | source Step 3 [ip-precedence {destination | source}] } RP/0/RSP0/CPU0:router(config)#ipv4 bgp policy propagation input qos-group destination QPPB scenario Consider a scenario where in traffic is moving from Network1 to Network2 through (a single) router port1 and port2. If QPPB is enabled on port1, then, • for qos on ingress: attach an ingress policy on the interface port1. • for qos on egress: attach an egress policy on interface port2. Configuring Hierarchical Ingress Policing SUMMARY STEPS 1. 2. policy-map policy-name 3. class class-name 4. service-policy policy-name 5. police rate percent percentage 6. conform-action action 7. exceed-action action 8. end or commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 127 Configuring Modular QoS Service Packet Classification QPPB scenarioDETAILED STEPS Command or Action Purpose Enters global configuration mode. Example: RP/0//CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0//CPU0:router(config)# policy-map parent Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy Step 3 class class-name Enters policy map class configuration mode. Example: RP/0//CPU0:router(config-pmap)# class class-default Specifies the name of the class whose policy you want to create or change. service-policy policy-name Attaches a policy map to an input or output interface. Example: RP/0//CPU0:router(config-pmap-c)# service-policy child Step 4 Configurestraffic policing and enters policy map police configuration mode. police rate percent percentage Example: RP/0//CPU0:router(config-pmap-c)# police rate percent 50 Step 5 Configures the action to take on packets that conform to the rate limit. The allowed action is: conform-action action Example: RP/0//CPU0:router(config-pmap-c-police)# conform-action transmit Step 6 transmit—Transmits the packets. Configures the action to take on packets that exceed the rate limit. The allowed action is: exceed-action action Example: RP/0//CPU0:router(config-pmap-c-police)# exceed-action drop Step 7 drop—Drops the packet. Step 8 end or commit Saves configuration changes. Example: RP/0//CPU0:router(config-pmap-c-police)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 128 OL-26077-02 Configuring Modular QoS Service Packet Classification Configuring Hierarchical Ingress PolicingCommand or Action Purpose or RP/0//CPU0:router(config-pmap-c-police)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Configuration Examples for Configuring Modular QoS Packet Classification This section contains the following examples: Traffic Classes Defined: Example In the following example, two traffic classes are created and their match criteria are defined. For the first traffic class called class1, ACL 101 is used as the match criterion. For the second traffic class called class2, ACL 102 is used as the match criterion. Packets are checked against the contents of these ACLs to determine if they belong to the class. class-map class1 match access-group ipv4 101 exit ! class-map class2 match access-group ipv4 102 exit Use the not keyword with the match command to perform a match based on the values of a field that are not specified. The following example includes all packets in the class qos_example with a DSCP value other than 4, 8, or 10. class-map match-any qos_example match not dscp 4 8 10 ! end Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 129 Configuring Modular QoS Service Packet Classification Configuration Examples for Configuring Modular QoS Packet ClassificationTraffic Policy Created: Example In the following example, a traffic policy called policy1 is defined to contain policy specifications for the two classes—class1 and class2. The match criteria for these classes were defined in the traffic classes created in the Traffic Classes Defined: Example. For class1, the policy includes a bandwidth allocation request and a maximum byte limit for the queue reserved for the class. For class2, the policy specifies only a bandwidth allocation request. policy-map policy1 class class1 bandwidth 3000 queue-limit bytes 1000000000 exit ! class class2 bandwidth 2000 exit policy-map policy1 class class1 bandwidth 3000 kbps queue-limit 1000 packets ! class class2 bandwidth 2000 kbps ! class class-default ! end-policy-map ! end Traffic Policy Attached to an Interface: Example The following example shows how to attach an existing traffic policy to an interface (see the Traffic Classes Defined: Example). After you define a traffic policy with the policy-map command, you can attach it to one or more interfaces to specify the traffic policy for those interfaces by using the service-policy command in interface configuration mode. Although you can assign the same traffic policy to multiple interfaces, each interface can have only one traffic policy attached at the input and only one traffic policy attached at the output. interface gigabitethernet 0/1/0/9 service-policy output policy1 exit ! interface TenGigE 0/5/0/1 service-policy output policy1 exit Traffic Policy Attached to Multiple Subinterfaces: Example The following example shows how to attach an existing traffic policy to multiple subinterfaces. After you define a traffic policy with the policy-map command, you can attach it to one or more subinterfaces using the service policy command in subinterface configuration mode. interface gigabitethernet 0/1/0/0.1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 130 OL-26077-02 Configuring Modular QoS Service Packet Classification Traffic Policy Created: Exampleservice-policy input policy1 shared-policy-instance ethernet101 exit ! interface gigabitethernet 0/1/0/0.2 service-policy input policy1 shared-policy-instance ethernet101 exit Traffic Policy Attached to a Bundle Interface: Example The following example shows how to attach an existing traffic policy to a bundle interface. After you define a traffic policy with the policy-map command, you can attach it to one or more bundle subinterfaces using the service policy command in subinterface configuration mode. interface Bundle-Ether 100.1 service-policy tripleplaypolicy shared-policy-instance subscriber1 exit ! interface Bundle-Ether 100.2 service-policy output tripleplaypolicy shared-policy instance subscriber1 exit EFP Load Balancing with Shared Policy Instance: Example The following examples show how to configure load balancing of an EFP when SPI is implemented. For additional information on EFP load balancing on link bundles, see the Cisco IOS XR Interface and Hardware Component Configuration Guide. |Configuring a Bundle Interface: Example interface Bundle-Ether 50 interface gigabitethernet 0/1/0/5 bundle id 50 mode active interface gigabitethernet 0/1/0/8 bundle id 50 mode active Configuring Two Bundle EFPs with the Load Balance Options: Example This example configures the traffic for two bundle EFPs go over the same physical member link. interface Bundle-Ether 50.25 l2transport encapsulation dot1q 25 bundle load-balance hash-select 2 ! interface Bundle-Ether 50.36 l2transport encapsulation dot1q 36 bundle load-balance hash-select 2 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 131 Configuring Modular QoS Service Packet Classification Traffic Policy Attached to a Bundle Interface: ExampleDefault Traffic Class Configuration: Example The following example shows how to configure a traffic policy for the default class of the traffic policy called policy1. The default class is named class-default, consists of all other traffic, and is being shaped at 60 percent of the interface bandwidth. policy-map policy1 class class-default shape average percent 60 class-map match-any Command Configuration: Example The following example illustrates how packets are evaluated when multiple match criteria exist. Only one match criterion must be met for the packet in the class-map match-any command to be classified as a member of the traffic class (a logical OR operator). In the example, protocol IP OR QoS group 4 OR access group 101 have to be successful match criteria: class-map match-any class1 match protocol ipv4 match qos-group 4 match access-group ipv4 101 In the traffic class called class1, the match criteria are evaluated consecutively until a successful match criterion islocated. Each matching criterion is evaluated to see if the packet matchesthat criterion. If the packet matches at least one of the specified criteria, the packet is classified as a member of the traffic class. Note The match qos-group command is supported only on egress policies. Class-based, Unconditional Packet Marking Examples The following are typical class-based, unconditional packet marking examples: IP Precedence Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a previously defined class map called class1 through the use of the class command, and then the service policy is attached to the output POS interface 0/1/0/0. The IP precedence bit in the ToS byte is set to 1: policy-map policy1 class class1 set precedence 1 ! interface pos 0/1/0/0 service-policy output policy1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 132 OL-26077-02 Configuring Modular QoS Service Packet Classification Default Traffic Class Configuration: ExampleIP DSCP Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a previously defined class map through the use of the class command. In this example, it is assumed that a class map called class1 was previously configured. In the following example, the IP DSCP value in the ToS byte is set to 5: policy-map policy1 class class1 set dscp 5 class class2 set dscp ef After you configure the settings shown for voice packets at the edge, all intermediate routers are configured to provide low-latency treatment to the voice packets, as follows: class-map voice match dscp ef policy-map qos-policy class voice priority level 1 police rate percent 10 QoS Group Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the input direction on a GigabitEthernet interface 0/1/0/9. The qos-group value is set to 1. class-map match-any class1 match protocol ipv4 match access-group ipv4 101 policy-map policy1 class class1 set qos-group 1 ! interface gigabitethernet 0/1/0/9 service-policy input policy1 Note The set qos-group command is supported only on an ingress policy. CoS Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the output direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The IEEE 802.1p (CoS) bits in the Layer 2 header are set to 1. class-map match-any class1 match protocol ipv4 match access-group ipv4 101 policy-map policy1 class class1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 133 Configuring Modular QoS Service Packet Classification Class-based, Unconditional Packet Marking Examplesset cos 1 ! interface TenGigE0/1/0/0 interface TenGigE0/1/0/0.100 service-policy output policy1 MPLS Experimental Bit Imposition Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the input direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The MPLS EXP bits of all imposed labels are set to 1. class-map match-any class1 match protocol ipv4 match access-group ipv4 101 policy-map policy1 class class1 set mpls exp imposition 1 ! interface TenGigE0/1/0/0 service-policy input policy1 Note The set mpls exp imposition command is supported only on an ingress policy. MPLS Experimental Topmost Marking Configuration: Example In the following example, a service policy called policy1 is created. This service policy is associated to a class map called class1 through the use of the class command, and then the service policy is attached in the output direction on a 10-Gigabit Ethernet interface, TenGigE0/1/0/0. The MPLS EXP bits on the TOPMOST label are set to 1: class-map match-any class1 match mpls exp topmost 2 policy-map policy1 class class1 set mpls exp topmost 1 ! interface TenGigE0/1/0/0 service-policy output policy1 In-Place Policy Modification: Example In this example, the precedence is changed from 3 to 5 after the policy is defined and attached to an interface: Define a class: class-map match-any class1 match cos 7 end-class-map Define a policy map that uses the class: policy-map policy1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 134 OL-26077-02 Configuring Modular QoS Service Packet Classification In-Place Policy Modification: Exampleclass class1 set precedence 3 Attach the policy map to an interface: interface gigabitethernet 0/6/0/1 service-policy output policy1 commit Modify the precedence value of the policy map: policy-map policy1 class class1 set precedence 5 commit The modified policy policy1 takes effect on all the interfaces to which the policy is attached. Also, you can modify any class map used in the policy map. The changes made to the class map take effect on all the interfaces to which the policy is attached. Note Output from the show policy-map targets command indicates that the Gigabit Ethernet interface 0/1/0/0 has one policy map attached as a main policy (as opposed to being attached to a child policy in a hierarchical QoS configuration). Outgoing traffic on this interface is affected if the policy is modified: show policy-map targets Fri Jul 16 16:38:24.789 DST 1) Policymap: policy1 Type: qos Targets (applied as main policy): GigabitEthernet0/1/0/0 output Total targets: 1 Targets (applied as child policy): Total targets: 0 Additional References The following sections provide references related to implementing packet classification. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 135 Configuring Modular QoS Service Packet Classification Additional ReferencesRelated Topic Document Title “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — RFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 136 OL-26077-02 Configuring Modular QoS Service Packet Classification StandardsTechnical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 137 Configuring Modular QoS Service Packet Classification Technical Assistance Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 138 OL-26077-02 Configuring Modular QoS Service Packet Classification Technical AssistanceC H A P T E R 6 Modular QoS Deployment Scenarios This module provides deployment scenarios use cases for specific QoS features or for QoS implementations of features that are described in other technology guides, such as L2VPN or MPLS. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 802.1ad DEI yes no Frame Relay QoS no yes 2-Port Channelized OC-12c/DS0 SPA only IPHC QoS no L2VPN QoS yes yes 2-Port Channelized OC-12c/DS0 SPA only MLPPP/MLFR QoS no MPLS QoS yes yes QoS on Multicast VPN yes yes 2-Port Channelized OC-12c/DS0 SPA only QoS on NxDS0 Interfaces no Feature History for QoS Deployment Scenarios on Cisco ASR 9000 Series Routers Release Modification The L2VPN QoS feature was introduced on ASR 9000 Ethernet Line Cards. The MPLS QoS feature was introduced on ASR 9000 Ethernet Line Cards. Release 3.7.2 Release 3.9.0 The MLPPP QoS feature was introduced on the SIP 700 for the ASR 9000. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 139The QoS on Multicast VPN feature was introduced on ASR 9000 Ethernet Line Cards. Release 3.9.1 The 802.1ad DEI feature was introduced on the SIP 700 for the ASR 9000. The Frame Relay QoS feature was introduced on the SIP 700 for the ASR 9000. The IP Header Compression QoS feature was introduced on the SIP 700 for the ASR 9000. The L2VPN QoS feature was supported on the SIP 700 for the ASR 9000. The MLFR QoS feature was introduced on the SIP 700 for the ASR 9000. The suspend/resume approach was added for MLPPP and MLFR interfaces. The MPLS QoS feature was supported on the SIP 700 for the ASR 9000. The QoS on NxDS0 Interfaces feature was introduced on the SIP 700 for the ASR 9000. Release 4.0.0 Release 4.1.0 The VPLS and VPWS QoS feature was introduced. • 802.1ad DEI, page 140 • Frame Relay QoS, page 141 • IP Header Compression QoS, page 145 • L2VPN QoS, page 146 • MLPPP QoS/MLFR QoS, page 149 • MPLS QoS, page 151 • QoS on Multicast VPN, page 156 • QoS on NxDS0 Interfaces, page 158 • VPLS and VPWS QoS, page 159 • Related Information, page 161 802.1ad DEI You can classify traffic based on the Drop Eligible Indicator (DEI) bit that is present in 802.1ad frames and in 802.1ah frames. DEI support includes the ability to: • Police to a certain rate and, based on whether the traffic is conforming or exceeding, mark the DEI as 0 or 1. • On ingress, police and set up the discard class (even on an interface that is not configured for 802.1ad encapsulation). • On egress, mark the DEI based on the discard class value (802.1ad interfaces only). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 140 OL-26077-02 Modular QoS Deployment Scenarios 802.1ad DEIYou can manage congestion based on the Drop Eligible Indicator (DEI) bit that is present in 802.1ad frames and 802.1ah frames. DEI support includes the ability to: • Do weighted random early detection (WRED) based on the value of the DEI bit. • Do active queue management during traffic congestion on an interface by giving preferential treatment to traffic (bigger thresholds) or set up smaller thresholds for out-of-profile traffic based on a DEI value. Mark DEI Based on a Policing Action: Example In this example, the police rate is set to 5 Mbps. Conforming traffic is marked with a DEI value of 0; traffic that exceeds the police rate is marked with a DEI value of 1. policy-map 1ad-mark-dei class c1 police rate 5 mbps conform-action set dei 0 exceed-action set dei 1 end-policy-map Mark DEI Based on Incoming Fields: Example In this example, 802.1ad CoS plus DEI is derived from the incoming 802.1q CoS. Packets with a CoS value of 0 are remarked with a DEI value of 1. class-map match-any remark-cos match cos 0 end-class-map policy-map p1 class remark-cos set dei 1 end-policy-map interface GigabitEthernet0/4/0/39.1 l2transport encapsulation dot1q 1 rewrite ingress tag push dot1ad 5 symmetric service-policy input p1 ! Congestion Management Using DEI: Example In this example, congestion is managed by dropping packets with a DEI value of 1 before dropping packets with a DEI value of 0. policy-map dei-sample class class-default random-detect dei 1 1000 6000 random-detect dei 0 5000 10000 end-policy-map Frame Relay QoS The main difference between Frame Relay QoS and other interface types is that you can perform: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 141 Modular QoS Deployment Scenarios Mark DEI Based on a Policing Action: Example• Frame Relay DLCI classification • Frame Relay DE classification • Frame Relay DE marking A QoS policy can be applied only to a PVC under a Frame Relay subinterface; it cannot be applied directly to a Frame Relay subinterface. Note Frame Relay DLCI Classification This configuration allows users to match on the Frame Relay DLCI value of packets encapsulated in Frame Relay. Packets that are not Frame Relay encapsulated do not match this configuration. class-map foo match frame-relay list of dlci-values The list of DLCI values can contain ranges as well as individual values, as in this example: class-map foo match frame-relay dlci 1-100 150 200-300 Note DLCI matching is supported only on main interfaces. Frame Relay DE Classification This configuration allows the user to match Frame Relay packets that have the discard eligible (DE) bit set in the Frame Relay header: class-map fr_class match fr-de 1 To match Frame Relay DE bit 0, use this configuration: class-map match-not-fr-de match not fr-de 1 Note DE bit classification is not supported on Layer 3 interfaces. Frame Relay DE Marking In this example, the fr-de bit is set when traffic exceeds the policing committed information rate, so the downward system (when experiencing congestion) discards traffic with the fr-de bit set to 1. policy-map fr_de_marking class class-default Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 142 OL-26077-02 Modular QoS Deployment Scenarios Frame Relay DLCI Classificationpolice rate percent 50 conform-action transmit exceed-action set fr-de 1 ! ! end-policy-map Note DE bit marking is not supported on Layer 3 interfaces. Frame Relay QoS: Example In this example, parent_policy is applied to the Multilink Frame Relay main interface. There are two classes in parent_policy, which match on Frame Relay DLCIs. The Multilink Frame Relay main interface has two Frame Relay PVCs configured (DLCI 16, DLCI 17). show run int multi 0/2/1/0/1 Mon Aug 2 11:34:31.019 UTC interface Multilink0/2/1/0/1 service-policy output parent_policy encapsulation frame-relay frame-relay intf-type dce ! show run policy-map parent_policy Mon Aug 2 11:34:36.118 UTC policy-map parent_policy class parentQ_1 service-policy child_queuing_policy shape average 64 kbps ! class parentQ_2 service-policy child_queuing_policy shape average 1 mbps ! class class-default ! end-policy-map ! show run class-map parentQ_1 <----- class map parent class dlci=16 Mon Aug 2 11:34:43.363 UTC class-map match-any parentQ_1 match frame-relay dlci 16 end-class-map ! show run class-map parentQ_2 <----- class map parent class dlci=17 Mon Aug 2 11:34:45.647 UTC class-map match-any parentQ_2 match frame-relay dlci 17 end-class-map ! show run int multi 0/2/1/0/1.16 <------ dlci 16 pvc config Mon Aug 2 11:34:53.988 UTC interface Multilink0/2/1/0/1.16 point-to-point ipv4 address 192.1.1.1 255.255.255.0 pvc 16 encap cisco ! ! show run int multi 0/2/1/0/1.17 <------ dlci 17 pvc config Mon Aug 2 11:34:56.862 UTC interface Multilink0/2/1/0/1.17 point-to-point ipv4 address 192.1.2.1 255.255.255.0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 143 Modular QoS Deployment Scenarios Frame Relay QoS: Examplepvc 17 encap cisco ! ! show run policy-map child_queuing_policy <--------- child policy-map Mon Aug 2 11:35:05.821 UTC policy-map child_queuing_policy class voice-ip priority level 1 police rate percent 20 ! ! class video bandwidth percent 40 ! class premium service-policy gchild_policy bandwidth percent 10 random-detect discard-class 2 10 ms 100 ms random-detect discard-class 3 20 ms 200 ms queue-limit 200 ms ! class best-effort bandwidth percent 20 queue-limit 200 ms ! class class-default ! end-policy-map ! show run policy-map gchild_policy <-------- grandchild policy map Mon Aug 2 11:35:15.428 UTC policy-map gchild_policy class premium_g1 police rate percent 10 ! set discard-class 2 ! class premium_g2 police rate percent 50 ! set discard-class 3 ! class class-default ! end-policy-map ! show run class-map <----------- shows all class map configs Mon Aug 2 11:35:19.479 UTC class-map match-any video match precedence 1 end-class-map ! class-map match-any premium match precedence 2 3 end-class-map ! class-map match-any voice-ip match precedence 0 end-class-map ! class-map match-any parentQ_1 match frame-relay dlci 16 end-class-map ! class-map match-any parentQ_2 match frame-relay dlci 17 end-class-map ! class-map match-any premium_g1 match precedence 2 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 144 OL-26077-02 Modular QoS Deployment Scenarios Frame Relay QoS: Exampleend-class-map ! class-map match-any premium_g2 match precedence 3 end-class-map ! class-map match-any best-effort match precedence 4 end-class-map ! IP Header Compression QoS An IP Header Compression (IPHC) profile can be enabled on an interface so that the IPHC profile applies only to packets that match a QoS service policy. In this case, the QoS service-policy class attributes determine which packets are compressed. This allows users to fine tune IPHC with greater granularity. Policy maps are attached to an interface using the service-policy command. IPHC action applies only to output service policies. IPHC is not supported on input service policies. (IPHC is supported in the input direction but there is no use case to configure IPHC in an input policy.) You can configure IPHC using QoS as follows: • Create a QoS policy with the compress header ip action. • Attach the IPHC profile to the interface using the ipv4 iphc profile profile_name mode service-policy command. • Attach the QoS policy with compress header ip action using the service-policy output command. You can also display IPHC statistics using the show policy-map interface command, asshown in the following example: show policy-map interface Serial0/0/3/0/3:0 output show policy-map int Serial0/0/3/0/3:0 output Mon May 18 22:06:14.698 UTC Serial0/0/3/0/3:0 output: p1 Class class-default Classification statistics (packets/bytes) (rate - kbps) Matched : 0/0 0 Transmitted : 0/0 0 Total Dropped : 0/0 0 Queueing statistics Queue ID : 0 High watermark (Unknown) : 0 Inst-queue-len (packets) : 0 Avg-queue-len (packets) : 0 Taildropped(packets/bytes) : 0/0 Compression Statistics Header ip rtp Sent Total (packets) : 880 Sent Compressed (packets) : 877 Sent full header (packets) : 342 Saved (bytes) : 31570 Sent (bytes) : 24750 Efficiency improvement factor : 2.27 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 145 Modular QoS Deployment Scenarios IP Header Compression QoSIP Header Compression QoS: Example In this example, IPHC is configured through QoS as an action under the class map using the compress header ip command. The packets are classified according to the criteria in the class maps. The policy map specifies which behavior to apply to which classes. IPHC is enabled using the compress header ip action for the class. An IPHC profile with a QoS service policy is attached to a serial interface. class-map match-all voice1 match precedence 2 class-map match-all voice2 match access-group acl_iphc access-list acl_iphc permit udp any range lower-bound src udp port 5000 upper-bound src udp port15000 any lower-bound udp dst port 5000 upper-bound dst udp port 15000 ipv4 access-list acl_iphc permit udp any range 5000 15000 any range 5000 15000 policy-map iphc_policy class iphc_class_1 compress header ip class iphc_class_2 compress header ip interface serial 0/1/0/1:1 ipv4 iphc profile Profile_3 mode service-policy service-policy output iphc_policy interface Serial 0/2/0/0/1/1/1:1 ipv4 address 10.0.0.1 255.255.255.252 ipv4 iphc profile Profile_3 mode service-policy service-policy output iphc_policy encapsulation ppp L2VPN QoS This section describes the following Frame Relay L2VPN deployment scenarios: • Frame Relay <-> Frame Relay over pseudowire • Frame Relay <-> Ethernet over pseudowire There are local-connect variants of these scenarios that do not go over a pseudowire. This discussion focuses on the pseudowire scenarios. Note Frame Relay <-> Frame Relay Over Pseudowire: Example This example shows that you can match based on the Frame Relay DLCI on the ingress Frame Relay interface on router PE1 and set the fr-de value. This configuration is carried over the L2VPN pseudowire. When the Frame Relay packet exits router PE2 through the Frame Relay l2transport interface, the fr-de value is intact. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 146 OL-26077-02 Modular QoS Deployment Scenarios IP Header Compression QoS: ExampleThis configuration allows you to manipulate and carry over the Frame Relay QoS values across L2VPN. Figure 2 shows the network topology. Figure 10: Frame Relay Over MPLS CE1 interface pos0/2/0/0.26 pvc 26 ipv4 add 10.0.0.1 255.0.0.0 PE1 interface pos0/2/0/0.26 l2transport pvc 26 l2vpn xconnect group frfr p2p p1 interface pos0/2/0/0.26 neighbor y.y.y.y pw-id 1001 !QoS Policy class-map matchdlci match frame-relay dlci 26 policy-map setde1 class matchdlci set fr-de 1 interface pos0/2/0/0 service-policy input setde1 PE2 interface pos0/3/0/0.26 l2transport pvc 26 l2vpn xconnect group frfr p2p p1 interface pos0/3/0/0.26 neighbor x.x.x.x pw-id 1001 CE2 interface pos0/3/0/0.26 pvc 26 ipv4 add 10.0.0.2 255.0.0.0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 147 Modular QoS Deployment Scenarios Frame Relay <-> Frame Relay Over Pseudowire: ExampleFrame Relay <-> Ethernet Over Pseudowire: Example This example shows that you can match based on the fr-de value on the ingress Frame Relay l2transport interface on router PE1 and set a specific MPLS EXP value. When the MPLS packet exits the PE1 core interface, this EXP value is set. When the packet exits router PE2 through the Ethernet l2transport interface, this value is part of the Ethernet packet CoS field. This configuration allows you to carry over or map the QoS field from the Frame Relay network to the Ethernet network. Figure 3 shows the network topology. Figure 11: IP Interworking Over MPLS CE1 interface pos0/2/0/0.26 pvc 26 ipv4 add 10.0.0.1 255.0.0.0 PE1 interface pos0/2/0/0.26 l2transport pvc 26 l2vpn xconnect group freth p2p p1 interface pos0/2/0/0.26 neighbor y.y.y.y pw-id 1001 interworking ipv4 !QoS Policy class-map matchfrde match fr-de 1 policy-map setexp class matchfrde set mpls exp imposition 5 interface pos0/2/0/0.26 l2transport pvc 26 service-policy input setexp PE2 interface gig0/4/0/0.26 l2transport encapsulation dot1q 100 l2vpn xconnect group freth p2p p1 interface gig0/4/0/0.26 neighbor x.x.x.x pw-id 1001 interworking ipv4 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 148 OL-26077-02 Modular QoS Deployment Scenarios Frame Relay <-> Ethernet Over Pseudowire: ExampleCE2 interface gig0/4/0/0.26 encapsulation dot1q 100 ipv4 add 10.0.0.2 255.0.0.0 MLPPP QoS/MLFR QoS Multilink provides a mechanism for aggregating multiple serial links into a bundle. Bundles support more bandwidth, load balancing between links, and improved service availability by protecting against single points of failure. The service allows users to increase bandwidth by aggregating multiple low speed links, which can be more cost-effective than upgrading to a single higher speed link. This provides a cost-effective solution for users requiring leased line service with bandwidth greater than T1 rates but below T3 rates. Multilink interfaces can be configured with PPP encapsulation (MLPPP) or with Frame Relay encapsulation (MLFR). When a multilink interface is configured with Frame Relay encapsulation, subinterfaces can be configured below it. The total bandwidth available for the multilink interface can change dynamically when links are added or removed to or from a multilink interface. The total bandwidth available can also change if the member links change state operationally to up or down, or by modifying the suspended condition of the policy. QoS policies applied on such interfaces need to be updated based on the bandwidth changes. In this case, one of the following actions is taken: • Suspend the policy—Policy is suspended if the bandwidth requirements of the attached policy are more than the available bandwidth (which is reduced due to a member link going operationally down). Once the policy is suspended, any incoming or outgoing packets on that interface are not subject to QoS. A policy is suspended on ingress under these conditions: ? In Enhanced Hierarchical Ingress Policing, when the sum of child police rates is greater than the parent police conform rate ? Police peak rate is less than the police conform rate A policy is suspended on egress under these conditions: ? Minimum bandwidth rate + priority class police rate is greater than the interface rate ? Shape rate is less than the minimum bandwidth rate ? Priority class police conform rate is greater than the interface rate ? Priority class police peak rate is greater than the interface rate ? Police peak rate is less than the police conform rate • Resume the policy—Policy is resumed if the bandwidth requirements of the attached policy are less than or equal to the available bandwidth, which increased due to a member link going operationally up. A suspended policy can also be resumed by modifying the suspended condition of the policy map without any change in the member link status. • Update the policy—Active policy rates are updated to reflect the new available bandwidth. The available bandwidth could have increased or decreased, but the applied policy's bandwidth requirements can still be satisfied. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 149 Modular QoS Deployment Scenarios MLPPP QoS/MLFR QoSQoS statistics are not retained for the policy that transitions from an active state to a suspended state. If the policy is reactivated, all the previously collected statistics are lost and only the packets that pass through the interface after the reactivation are counted. The suspended policy can be modified to reduce its bandwidth requirements, so that it can be reactivated. A suspended policy can be modified while still attached to the interface. Multiclass MLPPP with QoS Multiclass Multilink Point-to-Point Protocol (MLPPP) can be used with QoS and configured using the encap-sequence command under a classin a policy map. The encap-sequence command specifiesthe MLPPP MCMP class ID for the packets in an MQC defined class. The valid values for the encap-sequence ID number are none, 1, 2, or 3. The none value is applicable only when the priority level is 1 and indicates that there is no MLPPP encapsulation. The values 1, 2, or 3 can be used with priority 1 or 2 classes or other classes with queuing actions. An encap-sequence ID number of zero (0) is used by the system and is reserved for the default class; it cannot be specified in any other classes. The encap-sequence ID numbers must be configured in numeric order. For example, you cannot assign an ID number of 3 unless you have already assigned 1 and 2. Note The number of encap-sequence ID numbers must be lessthan the number of MLPPP classesthat are negotiated between the peers via the multilink header. The user must ensure that the configuration is consistent as the system does not verify this. The ppp multilink multiclass remote apply command provides a way to ensure this. You can ensure that the number of classes using an encap-sequence ID number (including the default of 0) is less than the min-number value in the ppp multilink multiclass remote apply command. For example, if the min-number value is 4, you can only have three or fewer classes with encap-sequence ID numbers. The QoS policy validates the following conditions. If these conditions are not met, the policy is rejected: • The encap-sequence ID number is within the allowed values of 1 to 3. • When encap-sequence is configured for any class in a policy map, all classes in that policy map with priority level 1 must also contain an encap-sequence ID number. • The encap-sequence none configuration is restricted to classes with priority level 1. • The class-default does not contain an encap-sequence configuration. • Only classes containing a queuing action have the encap-sequence configuration. Note Classes that share the same encap-sequence ID number must have the same priority. A QoS policy map is configured as follows: config policy-map type qos policy-name class class-name action action action . . . Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 150 OL-26077-02 Modular QoS Deployment Scenarios Multiclass MLPPP with QoSThe following example shows how to configure a policy map for MLPPP: config policy-map foo class ip-prec-1 encap-sequence none police rate percent 10 priority level 1 ! class ip-prec-2 encap-sequence 1 shape average percent 80 ! class ip-prec-3 encap-sequence 1 bandwidth percent 10 ! class class-default ! end-policy-map ! MLPPP QoS/MLFR QoS: Example Because a bundle interface dynamically changes its bandwidth as the member links go up or down, QoS policies applied on such interfaces need to be updated based on the bandwidth changes. MPLS QoS The introductory text and topology diagrams are taken from “MPLS Fundamentals,” Luc De Ghein, Copyright 2007, Cisco Systems, Inc. Note For MPLS QoS, there are three deployment scenarios based on tunneling model: uniform mode, pipe mode, and short pipe mode. Table 2 shows an overview of the tunneling models. Tunneling Mode IP-to-Label Label-to-Label Label-to-IP Copy MPLS EXP to IP precedence/DiffServ Copy IP precedence /DiffServ MPLS EXP copied to MPLS EXP Uniform Preserve IP precedence /DiffServ Forwarding treatment based on MPLS EXP MPLS EXP set according to MPLS EXP copied service provider policy Pipe Preserve IP precedence /DiffServ Forwarding treatment based on IP precedence/DiffServ MPLS EXP set according to MPLS EXP copied service provider policy Short Pipe Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 151 Modular QoS Deployment Scenarios MLPPP QoS/MLFR QoS: ExampleMPLS Uniform Mode In uniform mode (shown in Figure 4), there is only one DiffServ marking that is relevant for a packet when traversing the MPLS network. If the DiffServ marking of the packet is modified within the MPLS network, the updates information is the one considered meaningful at the egress of the LSP. Any changes to the packet marking within the MPLS network are permanent and get propagated when the packet leaves the MPLS network. Figure 12: Uniform Mode MPLS Pipe Mode In pipe mode (shown in Figure 5), two markings are relevant for a packet when traversing the MPLS network. First, the marking used by intermediate nodes along the LSP span including the egress LSR. Second, the original marking carried by the packet before entering the MPLS network that will continue to be used once the packet leaves the MPLS network. Any changes to the packet marking within the MPLS network are not permanent and do not get propagated when the packet leaves the MPLS network. Note that the egress LSR still uses the marking that was used by intermediate LSRs. However, the egress LSR has to remove all labels imposed on the original packet. In order to preserve this marking carried in the labels, the edge LSR keeps an internal copy of the marking before removing the labels. This internal copy is used to Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 152 OL-26077-02 Modular QoS Deployment Scenarios MPLS Uniform Modeclassify the packet on the outbound interface (facing the CE) once the labels are removed. This is usually achieved using the set qos-group and match qos-group commands. Figure 13: Pipe Mode MPLS Short Pipe Mode The short pipe mode (shown in Figure 6), is a slight variation of the pipe mode. The only difference is that the egress LSR uses the original packet marking instead of using the marking used by the intermediate LSRs. Figure 14: Short Pipe Mode Uniform, Pipe, Short Pipe Modes: Ingress PE Example This example shows how to implement the MPLS DiffServ and demonstrates the configuration needed on the ingress PE. Only precedence 4 is being matched. Precedence 4 is mapped to EXP bits value 4 by the policer, unless the bandwidth is exceeded, in which case the EXP bits are recolored to the value 2. The egress interface configuration is not needed for the MPLS DiffServ uniform model, but it is added to show how to perform QoS on the EXP bits. !Ingress interface: class-map prec4 match precedence 4 ! policy-map set-MPLS-PHB Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 153 Modular QoS Deployment Scenarios MPLS Short Pipe Modeclass prec4 police rate 8000 kbps conform-action set mpls experimental imposition 4 exceed-action set mpls experimental imposition 2 ! interface GigabitEthernet0/0/0/1 service-policy input set-MPLS-PHB !Egress interface: class-map exp2and4 match mpls experimental topmost 2 4 ! policy-map output-qos class exp2and4 bandwidth percent 40 random-detect default ! interface GigabitEthernet0/0/0/2 service-policy output output-qos Uniform Mode: Egress PE Example On the egress PE, the EXP bits are copied to the precedence bits using the set qos-group and match qos-group commands. !Ingress interface: class-map exp2 match mpls experimental topmost 2 ! class-map exp4 match mpls experimental topmost 4 ! policy-map policy2 class exp2 set qos-group 2 class exp4 set qos-group 4 ! interface GigabitEthernet0/0/0/2 service-policy input policy2 !Egress interface: class-map qos2 match qos-group 2 class-map qos4 match qos-group 4 ! policy-map policy3 class qos2 set precedence 2 bandwidth percent 20 random-detect default class qos4 set precedence 4 bandwidth percent 20 random-detect default ! interface GigabitEthernet0/0/0/1 service-policy output policy3 Pipe Mode: Egress PE Example This example shows the configuration of the egress PE for the MPLS DiffServ pipe mode. The egress LSR does not copy the EXP bits to the precedence bits of the outgoing IP packet. The scheduling of the packets Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 154 OL-26077-02 Modular QoS Deployment Scenarios Uniform Mode: Egress PE Exampleon the egress interface is done indirectly on the EXP bits using the set qos-group and match qos-group commands. !Ingress interface: class-map exp2 match mpls experimental topmost 2 ! class-map exp4 match mpls experimental topmost 4 ! policy-map policy2 class exp2 set qos-group 2 class exp4 set qos-group 4 ! interface GigabitEthernet0/0/0/2 service-policy input policy2 !Egress interface: class-map qos2 match qos-group 2 class-map qos4 match qos-group 4 ! policy-map policy3 class qos2 bandwidth percent 20 random-detect default class qos4 bandwidth percent 20 random-detect default ! interface GigabitEthernet0/0/0/1 service-policy output policy3 Short Pipe Mode: Egress PE Example This example shows the configuration of the egress PE for the MPLS DiffServ short pipe mode. The egress LSR forwards the packet based on the precedence or differentiated services code point (DSCP) bits of the IP packet after removing the labels. The egress LSR does not copy the EXP bits to the precedence bits of the outgoing IP packet. ! Configuration is not needed for ingress interface !Egress interface: class-map prec4 match precedence 4 ! policy-map policy3 class prec4 bandwidth percent 40 random-detect precedence 4 100 ms 200 ms ! interface GigabitEthernet0/0/0/1 service-policy output policy3 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 155 Modular QoS Deployment Scenarios Short Pipe Mode: Egress PE ExampleQoS on Multicast VPN ASR 9000 Ethernet Line Cards The support for QoS services on a multicast VPN (mVPN) enabled network involves the marking of DSCP or precedence bits on the tunnel IP header. Thisfeature enables MPLS carriersto offer QoS on mVPN services. The mVPN network uses generic routing encapsulation (GRE) tunnels between provider edge (PE) devices. Multicast packets are placed in GRE tunnels for transmission across the MPLS core network. The ingress interfaces use the set precedence tunnel and set dscp tunnel commands (both conditional and unconditional) within an ingress policy applied to the ingressinterface.shows a typical mVPN network. When an IP packet arrives at PE1 on the ingress interface E1, the packet is sent out of the tunnel interface E2 into the core network by encapsulating the IP packet inside a GRE tunnel. Figure 15: mVPN Network If the set dscp tunnel command or the set precedence tunnel command is configured on the ingress interface E1, the DSCP or precedence values are set in the GRE tunnel header of the encapsulated packet being sent out of the interface E2. As a result: • The set dscp command or the set precedence command (conditional or unconditional) marks the DSCP or precedence values within the IP header. • The set dscp tunnel or the set precedence tunnel command (conditional or unconditional) marks the DSCP or precedence values within the GRE header. QoS on Multicast VPN: Example Supporting QoS in an mVPN-enabled network requires conditional and unconditional marking of the DSCP or precedence bits onto the tunnel header. Unconditional marking marks the DSCP or precedence tunnel as a policy action. Conditional marking marks the DSCP or precedence values on the tunnel header as a policer action (conform, exceed, or violate). Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 156 OL-26077-02 Modular QoS Deployment Scenarios QoS on Multicast VPNUnconditional Marking class-map c1 match vlan 1-10 policy-map p1 class c1 set precedence tunnel 3 Conditional Marking policy-map p2 class c1 police rate percent 50 conform action set dscp tunnel af11 exceed action set dscp tunnel af12 SIP 700 for the ASR 9000 The set precendence tunnel and set dscp tunnel commands are not supported but general Multicast VPN is supported, as shown in the following example. QoS on Multicast VPN: Example In this example, there are three services offered across the network: mobile, enterprise, and other services. Mobile traffic is classified as broadband 2G mobile traffic and 3G mobile traffic. Control traffic needs the highest priority and has priority level 1. Broadband 2G mobile traffic has priority level 2. A priority queue is associated with each of these traffic classes. Traffic in these classes is policed at a rate of 100 percent, which means that full line rate bandwidth is dedicated to these traffic classes. Remaining bandwidth is distributed across the Mcast_BBTV_Traffic class, Enterprise_Traffic class, and Enterprise_Low_Traffic class. policy-map CompanyA-Profile class Control_Traffic priority level 1 police rate percent 100 ! ! class BB_2GMobile_Traffic priority level 2 police rate percent 100 ! ! class Mcast_BBTV_Traffic bandwidth remaining ratio 1000 ! class 3GMobile_Traffic bandwidth remaining ratio 100 ! class Enterprise_Traffic bandwidth remaining ratio 10 ! class Enterprise_Low_Traffic bandwidth remaining ratio 1 ! Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 157 Modular QoS Deployment Scenarios SIP 700 for the ASR 9000class class-default ! end-policy-map QoS on NxDS0 Interfaces For QoS on NxDS0 interfaces, the shape, police, and queuing minimum rate is 8 kbps and granularity is 1 kbps. When QoS is applied to a low speed NxDS0 link, frame relay fragmentation (frf12) configuration is also recommended in order to provide low delay for real-time priority traffic. The common configurations on NxDS0 interfaces are: • One-level policy applied to a main interface without Frame Relay configured • Two-level policy applied to a subinterface with Frame Relay configured One-Level Policy Applied to Main Interface: Example show run int Serial0/2/1/0/1/1:0 Mon Aug 9 11:29:50.721 UTC interface Serial0/2/1/0/1/1:0 service-policy output fractional_T1_E1_policy ?--------policy applied to serial interface encapsulation frame-relay ! RP/0/RSP1/CPU0:viking-1#show run policy-map policy-map fractional_T1_E1_policy class Conversational priority level 1 police rate 64 kbps ! ! class Streaming-Interactive bandwidth remaining percent 35 ! class Background bandwidth remaining percent 15 ! class TCP-traffic bandwidth remaining percent 10 ! class class-default bandwidth remaining percent 40 ! end-policy-map Two-Level Policy Applied to a Subinterface: Example show run int Serial0/2/1/0/1/1:0 Mon Aug 9 11:29:50.721 UTC interface Serial0/2/1/0/1/1:0 encapsulation frame-relay frame-relay intf-type dce ! Mon Aug 9 11:29:37.150 UTC interface Serial0/2/1/0/1/1:0.16 point-to-point ipv4 address 192.1.1.1 255.255.255.0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 158 OL-26077-02 Modular QoS Deployment Scenarios QoS on NxDS0 Interfacespvc 16 service-policy output parent_policy ?--------policy applied to serial subinterface encap cisco fragment end-to-end 350 ?-------------------frf12 enabled ! ! ! show run policy-map policy-map parent_policy class class-default shape average rate 768 kbps show run policy-map policy-map fractional_T1_E1_policy class Conversational priority level 1 police rate 64 kbps ! ! class Streaming-Interactive bandwidth remaining percent 35 ! class Background bandwidth remaining percent 15 ! class TCP-traffic bandwidth remaining percent 10 ! class class-default bandwidth remaining percent 40 ! end-policy-map VPLS and VPWS QoS To support QoS on virtual private LAN service (VPLS)-enabled and virtual private wire service (VPWS)-enabled networks, packets can be classified based on these match criteria: • Match on vpls broadcast (applicable to VPLS) • Match on vpls multicast (applicable to VPLS) • Match on vpls control (applicable to VPLS) • Match on ethertype arp (applicable to both VPLS and VPWS) VPLS-specific and VPWS-specific classification are performed only in the ingress direction. Note These guidelines apply to the VPLS and VPWS QoS feature: • Supported on ingress Layer 2 bundle and nonbundle subinterfaces. • Not supported on Layer 3 subinterfaces, but supported on ports with port inheritance policy. The system ignores VPLS classification on Layer 3 subinterfaces associated with the port. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 159 Modular QoS Deployment Scenarios VPLS and VPWS QoS• Match VPLS and match ethertype arp can be applied on a Layer 2 interface regardless of the Layer 2 service type, however VPLS classification is ignored on a non-VPLS Layer 2 interface type. Figure 9 illustrates a typical VPLS topology. The VPLS network is a mesh of pseudowires(PWs) interconnected to bridge domains in the routers. Each of the provider edge (PE) routers has a bridge domain. Each PW is a bridge port into the bridge domain. The customer edge (CE) connection into each PE router is an attachment circuit (AC) bridge port into the same bridge domain. QoS configuration commands are applied to the AC that connects to the CE router on the one end and the bridge domain of the PE router on the other. Figure 16: Typical VPLS Network Topology VPLS and VPWS QoS: Example This section contains a configuration example based on the components shown in Figure 9, and explains how the network matches packets based on the configured values. The policy-map and PE-to-CE connection are configured as follows on the PE1 router: class c1 match vpls multicast ! class c2 match vpls broadcast ! class c3 match vpls control ! class c4 match ethertype arp ! policy-map p1 class c1 set qos-group 3 set mpls experimental imposition 4 shape average percent 40 ! class c2 bandwidth remaining percent 10 set mpls experimental imposition 5 ! Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 160 OL-26077-02 Modular QoS Deployment Scenarios VPLS and VPWS QoS: Exampleclass c3 police rate percent 10 set mpls experimental imposition 6 ! class c4 bandwidth remaining percent 10 set mpls experimental imposition 7 ! class class-default ! end policy-map interface GigabitEthernet0/2/0/0 l2transport description PE to CE connection service-policy input p1 ! l2vpn bridge group examples bridge-domain vpls-bridge interface GigabitEthernet0/2/0/0 ! vfi pe12link neighbor 10.0.0.2 pw-id 12 ! ! vfi pe13link neighbor 10.0.0.3 pw-id 13 ! ! ! ! ! In the network designed and configured according to this example, and with VPLS and VPWS enabled, the packets that meet the match criteria receive QoS treatment according to the policy actions defined in the policy: • If a VPLS multicast packet arrives on the ingress interface of the PE router, it matches class c1. • If a VPLS broadcast packet arrives on the ingress interface of the PE router, it matches class c2. • If a VPLS control packet arrives on the ingress interface of the PE router with MAC address ranging from 01-80-C2-00-00-00 to 01-80-C2-00-00-3F, it matches class c3. • If an ARP packet arrives on the ingress interface of the PE router, it matches class c4. Related Information The information in this module focuses on the QoS implementation of features that are described in other technology guides. The following table indicates the guides where you can find more information about these features. Feature Guide “Configuring Modular QoS Packet Classification and Marking” and “Configuring Modular QoS Congestion Management” in this guide 802.1ad DEI Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 161 Modular QoS Deployment Scenarios Related InformationFeature Guide Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference Frame Relay Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference IP HeaderCompression Cisco ASR 9000 Series Aggregation Services Router L2VPN and Ethernet Services Configuration Guide Cisco ASR 9000 Series Aggregation Services Router L2VPN and Ethernet Services Command Reference L2VPN Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference MLPPP/MLFR Cisco ASR 9000 Series Aggregation Services Router MPLS Configuration Guide Cisco ASR 9000 Series Aggregation Services Router MPLS Command Reference MPLS Cisco ASR 9000 Series Aggregation Services Router Multicast Configuration Guide Cisco ASR 9000 Series Aggregation Services Router Multicast Command Reference QoS on Multicast VPN Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference QoS on NxDS0 Interfaces Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 162 OL-26077-02 Modular QoS Deployment Scenarios Related InformationC H A P T E R 7 Configuring Hierarchical Modular QoS Hierarchical QoS allows you to specify QoS behavior at multiple policy levels, which provides a high degree of granularity in traffic management. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 Enhanced Hierarchical Ingress no yes Policing Hierarchical Policing yes yes Hierarchical QoS yes yes Three-Parameter Scheduler yes yes Feature History for Hierarchical QoS on Cisco ASR 9000 Series Routers Release Modification The Hierarchical Policing feature was introduced on Cisco ASR 9000 Series Routers on ASR 9000 Ethernet Line Cards. The Hierarchical QoS feature was introduced on Cisco ASR 9000 Series Routers on ASR 9000 Ethernet Line Cards. The Three-Parameter Scheduler feature was introduced on Cisco ASR 9000 Series Routers on ASR 9000 Ethernet Line Cards. Release 3.7.1 The Hierarchical QoS feature wassupported on the SIP 700 for the ASR 9000. (two-level policies only) Release 3.9.0 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 163The Enhanced Hierarchical Ingress Policing feature was introduced on Cisco ASR 9000 Series Routers on the SIP 700 for the ASR 9000. The Hierarchical Policing feature was supported on Cisco ASR 9000 Series Routers on the SIP 700 for the ASR 9000. For the Hierarchical QoS feature, support was added for three-level policies on the SIP 700 for the ASR 9000. The Three-Parameter Scheduler feature was supported on the SIP 700 for the ASR 9000. Release 4.0.0 • How to Configure Hierarchical QoS, page 164 • Verifying the Configuration of Hierarchical Policies, page 180 • Additional References, page 181 How to Configure Hierarchical QoS When configuring hierarchical QoS, consider the following guidelines: • When defining polices,start at the bottom level of the hierarchy. For example, for a two-level hierarchical policy, define the bottom-level policy and then the top-level policy. For a three-level hierarchical policy, define the bottom-level policy, the middle-level policy, and then the top-level policy. • Do not specify the input or output keyword in the service-policy command when configuring a bottom-level policy within a top-level policy. • Configure bottom-level policies only in middle-level and top-level policies. Configuring the Three-Parameter Scheduler When configuring the Three-Parameter Scheduler, consider the following guidelines: • To use the three-parameter scheduler, a queueing class must be enabled. To enable a queueing class, you must configure at least one of the three parameters. When at least one parameter is configured, a queue is assigned to the class. • If you configure only one parameter, the scheduler uses default values for the other two parameters. • You can configure all 3 parameters in the same class. • Minimum bandwidth must be less than maximum bandwidth. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 164 OL-26077-02 Configuring Hierarchical Modular QoS How to Configure Hierarchical QoSASR 9000 Ethernet Line Cards SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. shape average {percent percentage | rate [units]} 5. exit 6. policy-map policy-name 7. class class-default 8. bandwidth {rate [units] | percent percentage-value} or bandwidth remaining [percent percentage-value | ratio ratio-value] or shape average {percent percentage | rate [units]} 9. service-policy policy-map-name 10. end 11. or commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 policy-map policy-name Creates or modifies the bottom-level policy. Example: RP/0/RSP0/CPU0:router(config)# policy-map bottom-child Step 2 Assignsthe traffic classthat you specify to the policy map. Enters policy map class configuration mode. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class Bronze Step 3 shape average {percent percentage | rate [units]} Shapes traffic to the indicated bit rate. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# shape average 1 mbps Step 4 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 165 Configuring Hierarchical Modular QoS Configuring the Three-Parameter SchedulerCommand or Action Purpose exit Exits policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 5 policy-map policy-name Creates or modifies the top-level policy. Example: RP/0/RSP0/CPU0:router(config-pmap)# policy-map Top-Parent Step 6 Step 7 class class-default Configures or modifies the parent class-default class. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class-default Note • You can configure only the class-default class in a parent policy. Do not configure any other traffic class. Specifies the minimum bandwidth allocated to a class as a percentage of link bandwidth. bandwidth {rate [units] | percent percentage-value} or bandwidth remaining [percent percentage-value Step 8 | ratio ratio-value] or shape average {percent percentage | rate [units]} Specifies how to allocate excess bandwidth to a class. Specifies maximum bandwidth as a percentage of link bandwidth (when other classes are not using all of their bandwidth share). Example: RP/0/RSP0/CPU0:router(config-pmap-c)# Note • You must configure at least one of the three bandwidth percent 30 parameters. or RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 80 or RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 service-policy policy-map-name Applies a bottom-level policy to the top-level class-default class. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy Bottom-Child Step 9 Step 10 end Step 11 or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-pmap-c)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 166 OL-26077-02 Configuring Hierarchical Modular QoS Configuring the Three-Parameter SchedulerCommand or Action Purpose Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. SIP 700 for the ASR 9000 SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. bandwidth {rate [units] | percent percentage-value} or bandwidth remaining [percent percentage-value | ratio ratio-value] or shape average {percent percentage | rate [units]} 5. exit 6. policy-map policy-name 7. class class-default 8. shape average {percent percentage | rate [units]} 9. service-policy policy-map-name 10. end 11. or commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 167 Configuring Hierarchical Modular QoS Configuring the Three-Parameter SchedulerCommand or Action Purpose policy-map policy-name Creates or modifies the bottom-level policy. Example: RP/0/RSP0/CPU0:router(config)# policy-map bottom-child Step 2 Assignsthe traffic classthat you specify to the policy map. Enters policy map class configuration mode. class class-name Example: RP/0/RSP0/CPU0:router(config-pmap)# class Bronze Step 3 Specifies the minimum bandwidth allocated to a class as a percentage of link bandwidth. bandwidth {rate [units] | percent percentage-value} or bandwidth remaining [percent percentage-value Step 4 | ratio ratio-value] or shape average {percent percentage | rate [units]} Specifies how to allocate excess bandwidth to a class. Specifies maximum bandwidth as a percentage of link bandwidth (when other classes are not using all of their bandwidth share). Example: RP/0/RSP0/CPU0:router(config-pmap-c)# Note • You must configure at least one of the three bandwidth percent 30 parameters. or RP/0/RSP0/CPU0:router(config-pmap-c)# bandwidth remaining percent 80 or RP/0/RSP0/CPU0:router(config-pmap-c)# shape average percent 50 exit Exits policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# exit Step 5 policy-map policy-name Creates or modifies the top-level policy. Example: RP/0/RSP0/CPU0:router(config-pmap)# policy-map Top-Parent Step 6 Step 7 class class-default Configures or modifies the parent class-default class. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class-default Note • You can configure only the class-default class in a parent policy. Do not configure any other traffic class. shape average {percent percentage | rate [units]} (Optional) Shapes traffic to the indicated bit rate. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# shape average 1 mbps Step 8 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 168 OL-26077-02 Configuring Hierarchical Modular QoS Configuring the Three-Parameter SchedulerCommand or Action Purpose service-policy policy-map-name Applies a bottom-level policy to the top-level class-default class. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy Bottom-Child Step 9 Step 10 end Step 11 or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-pmap-c)# commit Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Attaching Hierarchical Policies to Physical and Virtual Links To attach hierarchical policies to interfaces, subinterfaces, virtual circuits, and virtual LANs, use the service-policy {input | output} policy-map-name command. SUMMARY STEPS 1. configure 2. interface type interface-path-id 3. service-policy {input | output} policy-map-name 4. end 5. or commit Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 169 Configuring Hierarchical Modular QoS Attaching Hierarchical Policies to Physical and Virtual LinksDETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 interface type interface-path-id Specifies the interface to attach the hierarchical policy. Example: RP/0/RSP0/CPU0:router(config)# interface pos 0/2/0/0 Step 2 service-policy {input | output} Attaches the policy map you specify. policy-map-name Step 3 • input—Apply the QoS policy to inbound packets. Example: RP/0/RSP0/CPU0:router(config-if)# service-policy input All_Traffic • output—Apply the QoS policy to outbound packets. • policy-map-name—Name of a previously configured top-level policy map Step 4 end Step 5 or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-pmap-c)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting (yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-pmap-c)# commit Entering yessaves configuration changesto the running configuration file, exits the configuration session, and returns the router to EXEC mode. Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leavesthe router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 170 OL-26077-02 Configuring Hierarchical Modular QoS Attaching Hierarchical Policies to Physical and Virtual LinksConfiguring Enhanced Hierarchical Ingress Policing The difference between configuring enhanced hierarchical ingress policing and configuring hierarchical ingress policing is the addition of the child-conform-aware command. When used in the parent policer, the child-conform-aware command preventsthe parent policer from dropping any ingress traffic that conforms to the maximum rate specified in the child policer. Restrictions Enhanced Hierarchical Ingress Policing has the following limitations: • Ingress direction only. • Sum of all child policer rates cannot be greater than the parent policer rate. • Single-rate two-color policer (color blind) only. • Configurations that specify burst size in the police rate command are supported; configurations that specify peak burst become single-rate three-color policers and are therefore rejected. • Configure the child-conform-aware command only in the parent policer. SUMMARY STEPS 1. configure 2. policy-map policy-name 3. class class-name 4. service-policy policy-map-name 5. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-rate value [units]] [peak-burst peak-burst [burst-units]] 6. child-conform-aware 7. conform-action [drop | set options | transmit] 8. exceed-action [drop | set options | transmit] 9. end or commit DETAILED STEPS Command or Action Purpose configure Enters global configuration mode. Example: RP/0/RSP0/CPU0:router# configure Step 1 Step 2 policy-map policy-name Enters policy map configuration mode. Example: RP/0/RSP0/CPU0:router(config)# policy-map parent Creates or modifies a policy map that can be attached to one or more interfaces to specify a service policy. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 171 Configuring Hierarchical Modular QoS Configuring Enhanced Hierarchical Ingress PolicingCommand or Action Purpose Step 3 class class-name Enters policy map class configuration mode. Example: RP/0/RSP0/CPU0:router(config-pmap)# class class-default Specifies the name of the class whose policy you want to create or change. Applies the bottom-level policy map to the parent class-default class. service-policy policy-map-name Example: RP/0/RSP0/CPU0:router(config-pmap-c)# service-policy child Step 4 Note • Do not specify an input or output keyword. Configures traffic policing and enters policy map police configuration mode. police rate {value [units] | percent percentage} [burst burst-size [burst-units]] [peak-rate value [units]] [peak-burst peak-burst [burst-units]] Step 5 Example: RP/0/RSP0/CPU0:router(config-pmap-c)# police rate percent 50 Prevents the parent policer from dropping any ingress traffic that conforms to the maximum rate specified in a child policer. child-conform-aware Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# child-conform-aware Step 6 Configures the action to take on packets that conform to the rate limit. The allowed action is: conform-action [drop | set options | transmit] Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# conform-action transmit Step 7 transmit—Transmits the packets. Configures the action to take on packets that exceed the rate limit. The allowed action is: exceed-action [drop | set options | transmit] Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# exceed-action drop Step 8 drop—Drops the packet. Step 9 end or commit Saves configuration changes. Example: RP/0/RSP0/CPU0:router(config-pmap-c-police)# end • When you issue the end command, the system prompts you to commit changes: Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: or RP/0/RSP0/CPU0:router(config-pmap-c-police)# commit Entering yes saves configuration changes to the running configuration file, exitsthe configuration session, and returns the router to EXEC mode. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 172 OL-26077-02 Configuring Hierarchical Modular QoS Configuring Enhanced Hierarchical Ingress PolicingCommand or Action Purpose Entering no exits the configuration session and returns the router to EXEC mode without committing the configuration changes. Entering cancel leaves the router in the current configuration session without exiting or committing the configuration changes. • Use the commit command to save the configuration changes to the running configuration file and remain within the configuration session. Two-Level Hierarchical Queueing Policy: Example The following example shows a two-level policy applied at the Multilink Frame Relay main interface. The same policy can be applied at Multilink PPP main interface. class-map match-any video match precedence 1 end-class-map ! class-map match-any premium match precedence 2 3 end-class-map ! class-map match-any voice-ip match precedence 0 end-class-map ! class-map match-any best-effort match precedence 4 end-class-map policy-map parent_shape class class-default service-policy child_policy shape average percent 90 ! end-policy-map ! policy-map child_policy class voice-ip priority level 1 police rate percent 20 ! ! class video bandwidth percent 40 ! class premium bandwidth percent 10 random-detect precedence 2 10 ms 100 ms random-detect precedence 3 20 ms 200 ms queue-limit 200 ms ! class best-effort Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 173 Configuring Hierarchical Modular QoS Two-Level Hierarchical Queueing Policy: Examplebandwidth percent 20 queue-limit 200 ms ! class class-default ! end-policy-map ! interface Multilink0/2/1/0/1 service-policy output parent_shape encapsulation frame-relay frame-relay intf-type dce Three-Level Hierarchical Queueing Policy: Examples Three-Level Hierarchical Queueing Policy: Examples In this example, policy grand-parent is applied to the main Ethernet interface. The grand-parent policy limits all outbound traffic of the interface up to 500 Mbps. The parent policy has class vlan1 and vlan2, and traffic in vlan1 or vlan2 is limited to 40 percent of 500 Mbps. The policy child_policy classifies traffic based on different services and allocates bandwidth for each class accordingly. class-map match-any video match precedence 1 end-class-map ! class-map match-any premium match precedence 2 3 end-class-map ! class-map match-any voice-ip match precedence 0 end-class-map ! class-map match-any best-effort match precedence 4 end-class-map class-map match-any vlan1 match vlan 1 end-class-map class-map match-any vlan2 match vlan 2 end-class-map policy-map grand-parent class class-default shape average 500 Mbps service-policy parent ! end-policy-map policy-map parent class vlan1 service-policy child_policy shape average percent 40 ! class vlan2 service-policy child_policy shape average percent 40 ! end-policy-map ! policy-map child_policy Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 174 OL-26077-02 Configuring Hierarchical Modular QoS Three-Level Hierarchical Queueing Policy: Examplesclass voice-ip priority level 1 police rate percent 20 ! ! class video bandwidth percent 40 ! class premium bandwidth percent 10 random-detect precedence 2 10 ms 100 ms random-detect precedence 3 20 ms 200 ms queue-limit 200 ms ! class best-effort bandwidth percent 20 queue-limit 200 ms ! class class-default ! end-policy-map interface GigabitEthernet0/0/0/9 service-policy output grand-parent SIP 700 for the ASR 9000 In this example, the policy parent_policy is applied to the Multilink Frame Relay main interface. The policy parent_policy hastwo classes, which match on Frame Relay DLCIs. The Multilink Frame Relay main interface has two Frame Relay PVCs configured (DLCI 16, DLCI 17). interface Multilink0/2/1/0/1 mtu 1504 service-policy output parent_policy encapsulation frame-relay frame-relay intf-type dce ! policy-map parent_policy class parentQ_1 service-policy child_queuing_policy shape average 64 kbps ! class parentQ_2 service-policy child_queuing_policy shape average 1 mbps ! class class-default ! end-policy-map ! class-map match-any parentQ_1 <----- class map parent class dlci=16 match frame-relay dlci 16 end-class-map ! class-map match-any parentQ_2 <----- class map parent class dlci=17 match frame-relay dlci 17 end-class-map ! interface Multilink0/2/1/0/1.16 point-to-point <------ dlci 16 pvc config ipv4 address 192.1.1.1 255.255.255.0 pvc 16 encap cisco ! ! interface Multilink0/2/1/0/1.17 point-to-point <------ dlci 17 pvc config Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 175 Configuring Hierarchical Modular QoS Three-Level Hierarchical Queueing Policy: Examplesipv4 address 192.1.2.1 255.255.255.0 pvc 17 encap cisco ! ! policy-map child_queuing_policy <--------- child policy map class voice-ip priority level 1 police rate percent 20 ! ! class video bandwidth percent 40 ! class premium service-policy gchild_policy bandwidth percent 10 random-detect discard-class 2 10 ms 100 ms random-detect discard-class 3 20 ms 200 ms queue-limit 200 ms ! class best-effort bandwidth percent 20 queue-limit 200 ms ! class class-default ! end-policy-map ! policy-map gchild_policy <-------- grandchild policy map class premium_g1 police rate percent 10 ! set discard-class 2 ! class premium_g2 police rate percent 50 ! set discard-class 3 ! class class-default ! end-policy-map ! show run class-map <----------- shows all class-map configs Mon Aug 2 11:35:19.479 UTC class-map match-any video match precedence 1 end-class-map ! class-map match-any premium match precedence 2 3 end-class-map ! class-map match-any voice-ip match precedence 0 end-class-map ! class-map match-any parentQ_1 match frame-relay dlci 16 end-class-map ! class-map match-any parentQ_2 match frame-relay dlci 17 end-class-map ! class-map match-any premium_g1 match precedence 2 end-class-map ! class-map match-any premium_g2 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 176 OL-26077-02 Configuring Hierarchical Modular QoS Three-Level Hierarchical Queueing Policy: Examplesmatch precedence 3 end-class-map ! class-map match-any best-effort match precedence 4 end-class-map Three-Parameter Scheduler: Examples Three-Parameter Scheduler: Examples This example shows how to configure a three-parameter scheduler in a two-level hierarchical policy. policy-map Bottom-ChildA class A1 shape average 400 kbps class A2 shape average 400 kbps policy-map Bottom-ChildB class B1 shape average 250 kbps class B2 shape average 450 kbps policy-map Top-Parent class parentA shape average 500 kbps bandwidth percent 30 bandwidth remaining percent 80 service-policy Bottom-ChildA class parentB shape average 500 kbps bandwidth percent 60 bandwidth remaining percent 10 service-policy Bottom-ChildB SIP 700 for the ASR 9000 This example shows how to configure a three-parameter scheduler in a two-level hierarchical policy. policy-map Bottom-Child class A bandwidth percent 30 bandwidth remaining percent 80 shape average percent 50 class B bandwidth percent 60 bandwidth remaining percent 10 class class-default exit policy-map Top-Parent class-default shape average 1 mbps service-policy Bottom-Child Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 177 Configuring Hierarchical Modular QoS Three-Parameter Scheduler: ExamplesHierarchical Policing: Examples Hierarchical Policing: Examples This example shows a two-level policy with police actions at each level. There are two classes in the top level, one for each customer. Aggregated traffic from each customer is subject to a rate limit as specified by the police rate command in the top level. Traffic in different classesin the bottom level islimited by an additional set of police actions to control different types of traffic for each customer. class-map match-any customera match vlan 10-14 class-map match-any customerb match vlan 15-19 class-map match-any prec1 match precedence 1 class-map match-any prec3 match precedence 3 policy-map parent class customera service-policy childa bandwidth remaining ratio 10 police rate percent 50 conform-action transmit exceed-action drop class customerb service-policy childb bandwidth remaining ratio 100 police rate percent 70 conform-action transmit exceed-action drop policy-map childa class prec1 police rate percent 25 conform-action transmit exceed-action drop class prec3 police rate percent 25 conform-action transmit exceed-action drop policy-map childb class prec1 police rate percent 30 conform-action transmit exceed-action drop class prec3 police rate percent 30 conform-action transmit exceed-action drop SIP 700 for the ASR 9000 In this example, policers are specified in the policy child in class Prec1 and class Prec3, and also in the class-default in the policy parent. The policers in the child policy, police traffic in class Prec1 at 30 percent (of 50 percent), police traffic in class Prec3 at 60 percent (of 50 percent) and police any other traffic at 10 percent (of 50 percent). Cumulatively, all traffic on the interface is policed at 50 percent of the interface rate by the policer in the parent policy. class-map match-any prec1 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 178 OL-26077-02 Configuring Hierarchical Modular QoS Hierarchical Policing: Examplesmatch precedence 1 class-map match-any prec3 match precedence 3 policy-map parent class class-default service-policy child police rate percent 50 conform-action transmit exceed-action drop policy-map child class prec1 police rate percent 30 conform-action transmit exceed-action drop class prec3 police rate percent 60 conform-action transmit exceed-action drop class class-default police rate percent 10 conform-action transmit exceed-action drop Attaching Service Policies to Physical and Virtual Links: Examples Physical Link: Example In this example, the p1 policy is applied to a Gigabit Ethernet interface: interface gigabitethernet 0/2/0/0 service-policy input p1 Virtual Link: Example In this example, the p2 policy is applied to the private virtual circuit (PVC) under a multilink Frame Relay subinterface. A QoS policy can be applied only to a PVC under a Frame Relay subinterface; it cannot be applied directly to a Frame Relay subinterface. interface Multilink0/2/1/0/1.16 point-to-point encapsulation frame-relay ipv4 address 192.1.1.1 255.255.255.0 pvc 16 service-policy output p2 encap cisco Enhanced Hierarchical Ingress Policing: Example This example shows parent and child policies in which two classes are defined in the child policy. In class AF1, the exceed action is set to an action other than to drop traffic. If the child-conform-aware command were not configured in the parent policy, the parent policer would drop traffic that matches the conform rate of the child policer but exceeds the conform rate of the parent policer. When used in the parent policer, the child-conform-aware command preventsthe parent policer from dropping any ingress traffic that conforms to the committed rate specified in the child policer. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 179 Configuring Hierarchical Modular QoS Attaching Service Policies to Physical and Virtual Links: ExamplesIn this example, class EF in the child policy is configured with a committed rate of 1 Mbps, a conform action and an exceed action. The traffic that is below 1 Mbps is presented to the parent policer with the MPLS EXP bit set to 4, and traffic that exceeds 1 Mbps is dropped. Class AF1 in the child policy is configured with a committed rate of 1 Mbps, a conform action and an exceed action. The traffic that is below 1 Mbps is presented to the parent policer with the MPLS EXP bit set to 3, and traffic that exceeds 1 Mbps is presented to the parent policer with the MPLS EXP bit set to 2. With this child policy configuration, the parent policer sees traffic from the child classes as exceeding its committed rate of 2 Mbps. Without the child-conform-aware command in the parent policer, the parent polices to 2 Mbps, which can result into dropping some conformed traffic from class EF in the child policy. When the child-conform-aware command is configured in the parent policer, the parent policer does not drop any traffic that conforms under the child policy. policy-map parent class class-default service-policy child police rate 2 mbps child-conform-aware conform-action transmit exceed-action drop policy-map child class EF police rate 1 mbps conform-action set mpls experimental imposition 4 exceed-action drop class AF1 police rate 1 mbps conform-action set mpls experimental imposition 3 exceed-action set mpls experimental imposition 2 Verifying the Configuration of Hierarchical Policies To verify hierarchical policies, enter any of the following commands in privileged EXEC mode: Displays policy configuration information for all classes configured for all service policies on the specified interface. show policy-map interface Displays QoS information for all classesin the service policy that is attached to the specified interface. show qos interface Displays the configuration of all class maps configured on the router. show running-config class-map Displays the configuration of all policy maps configured on the router. show running-config policy-map Displays the configuration of all classes contained in the policy map you specify. show running-config policy-map policy-map-name Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 180 OL-26077-02 Configuring Hierarchical Modular QoS Verifying the Configuration of Hierarchical PoliciesAdditional References The following sections provide references related to implementing Hierarchical QoS. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. MIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 181 Configuring Hierarchical Modular QoS Additional ReferencesRFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 182 OL-26077-02 Configuring Hierarchical Modular QoS RFCsC H A P T E R 8 Configuring Modular QoS on Link Bundles A link bundle is a group of one or more ports that are aggregated together and treated as a single link. This module describes QoS on link bundles. Line Card, SIP, and SPA Support Feature ASR 9000 Ethernet Line Cards SIP 700 for the ASR 9000 QoS on Link Bundles yes yes Feature History for Configuring QoS on Link Bundles on Cisco ASR 9000 Series Routers Release Modification The QoS on Link Bundles feature was introduced on ASR 9000 Ethernet Line Cards. Release 3.9.0 • Link Bundling Overview, page 183 • Load Balancing, page 184 • QoS and Link Bundling, page 185 • Additional References, page 186 Link Bundling Overview The Link Bundling feature allows you to group multiple point-to-point links together into one logical link and provide higher bidirectional bandwidth, redundancy, and load balancing between two routers. A virtual interface is assigned to the bundled link. The component links can be dynamically added and deleted from the virtual interface. The virtual interface istreated as a single interface on which one can configure an IP address and othersoftware features used by the link bundle. Packetssent to the link bundle are forwarded to one of the linksin the bundle. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 183A link bundle is simply a group of ports that are bundled together and act as a single link. The advantages of link bundles are as follows: • Multiple links can span several line cards to form a single interface. Thus, the failure of a single link does not cause a loss of connectivity. • Bundled interfaces increase bandwidth availability, because traffic is forwarded over all available members of the bundle. Therefore, traffic can flow on the available links if one of the links within a bundle fails. Bandwidth can be added without interrupting packet flow. All the individual links within a single bundle must be of the same type and the same speed. Cisco IOS XR software supports the following methods of forming bundles of Ethernet interfaces: • IEEE 802.3ad—Standard technology that employs a Link Aggregation Control Protocol (LACP) to ensure that all the member links in a bundle are compatible. Links that are incompatible or have failed are automatically removed from a bundle. • EtherChannel —Cisco proprietary technology that allows the user to configure links to join a bundle, but has no mechanisms to check whether the links in a bundle are compatible. Load Balancing Load balancing is supported on all links in the bundle. Load balancing function is a forwarding mechanism to distribute traffic over multiple links based on layer 3 routing information in the router. There are two types of load balancing schemes: • Per-Destination Load Balancing • Per-Packet Load Balancing When a traffic stream arrives at the router, per-packet load balancing allows the traffic to be evenly distributed among multiple equal cost links. Per-packet schemes make routing decision based on round-robin techniques, regardless of the individual source-destination hosts. Only Per-Destination Load Balancing is supported. Per-destination load balancing allows the router to distribute packets over one of the links in the bundle to achieve load sharing. The scheme isrealized through a hash calculating based on the source-destination address and user sessions. When the per-destination load balancing is enabled, all packets for a certain source-destination pair will go through the same link, though there are multiple links available. In other words, per-destination load balancing can ensure that packets for a certain source-destination pair could arrive in order. Layer 3 Load Balancing on Link Bundles By default, load balancing on Layer 2 link bundles is done based on the MAC SA/DA fields in the packet header. Layer 3 load balancing for link bundles is done on Ethernet Flow Points (EFPs) and is based on the IPv4 source and destination addressesin the packet.When Layer 3 service-specific load balancing is configured, all egressing bundles are load balanced based on the IPv4 source and destination addresses. When packets do not have IPv4 addresses, default load-balancing is used. Layer 3 load balancing for link bundles is enabled globally, using the following command: Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 184 OL-26077-02 Configuring Modular QoS on Link Bundles Load Balancinghw-module load-balance bundle l2-service l3-params QoS and Link Bundling All Quality of Service (QoS) features, currently supported on physical interfaces and subinterfaces, are also supported on all Link Bundle interfaces and subinterfaces. QoS is configured on Link Bundles in the same way that it is configured on individual interfaces. However, the following points should be noted: • When a QoS policy is applied on a bundle (ingress or egress directions), the policy is applied at each member interface. Any queues and policers in the policy map (ingress or egress directions) will be replicated on each bundle member. • If a QoS policy is not applied to a bundle interface or bundle VLAN, both the ingress and egress traffic will use the per link members port default queue. • Link bundle members may appear across multiple Network Processing Units and linecards. The shape rate specified in the bundle policymap is not an aggregate for all bundle members. The shape rate applied to the bundle will depend on the load balancing of the links. For example, if a policy map with a shape rate of 10 Mbps is applied to a bundle with two member links, and if the traffic is always load-balanced to the same member link, then an overall rate of 10 Mbps will apply to the bundle. However, if the traffic is load-balanced evenly between the two links, the overall shape rate for the bundle will be 20 Mbps. Example 1 shows how a traffic policy is applied on an Ethernet link bundle, in the ingress direction. The policy is applied to all interfaces that are members of the Ethernet link bundle. Example 1 Applying a Traffic Policy to an Ethernet Link Bundle interface Bundle-Ether bundle-id service-policy input policy-1 end QoS for POS link bundling For POS link bundles, percentage based bandwidth is supported for policers and output queues. Time based queue limit is supported for output queues. Input QoS Policy setup For input QoS, queuing is not supported and thus bandwidth is used for policer only. As a member link is added or removed from a bundle with input QoS configured, the aggregate bundle bandwidth for that affected line card will change. One input QoS policy instance is assigned for each SIP 700 line card that is part of the POS link bundle. Output QoS Policy setup When a member link is added to a bundle with output QoS configured, the policy-map of the bundle is applied to the member link. Example 2 shows the output QoS policy supported on POS link bundles. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 185 Configuring Modular QoS on Link Bundles QoS and Link BundlingExample 2 Output QoS policy supported on POS link bundles policy-map out-sample class voice priority level 1 police rate percent 10 class premium bandwidth percent 30 queue-limit 100 ms class class-default queue-limit 100 ms Additional References The following sections provide references related to implementing QoS on Link Bundles. Related Documents Related Topic Document Title Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide Initial system bootup and configuration “Configuring Link Bundling on the Cisco ASR 9000 Series Router” module of Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Configuration Guide Link Bundling Cisco ASR 9000 Series Aggregation Services Router Master Command Listing Master command reference Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Command Reference QoS commands “Configuring AAA Services on Cisco ASR 9000 Series Router” module of Cisco Cisco ASR 9000 Series Aggregation Services Router System Security Configuration Guide User groups and task IDs Standards Standards Title No new or modified standards are supported by — this feature, and support for existing standards has not been modified by this feature. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 186 OL-26077-02 Configuring Modular QoS on Link Bundles Additional ReferencesMIBs MIBs MIBs Link To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http://cisco.com/public/sw-center/netmgmt/ cmtk/mibs.shtml — RFCs RFCs Title No new or modified RFCs are supported by this — feature, and support for existing RFCs has not been modified by this feature. Technical Assistance Description Link The Cisco Technical Support website contains http://www.cisco.com/techsupport thousands of pages of searchable technical content, including links to products, technologies,solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content. Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 187 Configuring Modular QoS on Link Bundles MIBs Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x 188 OL-26077-02 Configuring Modular QoS on Link Bundles Technical AssistanceI N D E X 802.1ad DEI 140 A AN ports 11 ANCP 11 ANCP adjacencies 9, 35 ANCP Adjacencies 10 ancp command 14 ANCP neighbors 16 ANCP Neighbors 22 ANCP Rate Adjustment 21, 26 ancp rate-adjustment command 21 ANCP Server Sender Name 22 B bandwidth command 67, 70, 71 Be 63 calculating 63 metering 63 See also excess burst.[Be 63 zzz] 63 bundle interfaces 101 C calculating 63 committed burst 63 excess burst 63 CBS, See committed burst. 62 class-based packet marking 118, 119, 120 configuring 118 set qos-group command 119, 120 class-map command 108 classification 2, 100, 101 QoS group 100 See IP precedence 101 classification (continued) summary 2 clear ancp neighbor 17, 18 clear ancp summary statistics 17, 18 commands 64 show interface 64 committed burst 62, 63 burst size 62 calculating 63 Configuring ANCP 10 conforming traffic 62 metering and conforming token bucket 62 congestion avoidance 4, 37 description 37 summary 4 CoS (class of service), defining classes 101 D default marking behavior 3 default traffic class 98 summary 98 tail drop 98 DEI 66, 102, 103 classification 102 congestion management 66 default marking 103 differentiated service model, classification 101 E EBS, See excess burst size. 63 Enabling ANCP 14 enhanced hierarchical ingress policing 171 configuring 171 exceeding token bucket 63 excess burst 63 calculation of 63 default size 63 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 IN-1excess burst (continued) police command 63 size 63 F Frame Relay QoS 141 G granularity 66 policer 66 H hierarchical ingress policing 65, 92 example 92 hierarchical policies 169, 180 attaching 169 verifying 180 I in-place policy modification 106, 134 (examples) 134 description 106 interface submode 113, 114, 115, 116, 117 service-policy command 113, 114, 115, 116, 117 interfaces 183 Link Bundling 183 IP header compression 145 IP precedence 100, 101, 102 QoS features supported 102 reset recommendation 102 default 102 edge router function 101 low-latency queueing (LLQ) 100 packet classification 101 IPv6 ACLs, QoS matching 96 L L2VPN QoS 146 M mapping 11 Mapping AN ports 18, 25 match access-group command 108, 109 match cos command 108, 109 match discard-class command 108, 109 match dscp command 108, 109 match precedence command 108, 110 match protocol command 108, 110 match qos-group command 108, 110 match vlan command 108, 110 MC-LAG 12 MLFR QoS 149 monitoring 64 bursts 64 MPLS QoS 151 MQC (modular QoS command-line interface), description 5 Multicast VPN 156 multiclass MLPPP with QoS 150 N Neighbor Adjacency Timing 10 NxDS0 interfaces 158 P packets 64 conforming or exceeding, determining 64 partitioning network, QoS packet marking 100 policers and shapers, description 55 policing 63 excess burst 63 policy map class submode 45, 46, 67, 70, 71, 119, 120, 121 bandwidth command 67, 70, 71 set cos command 119, 120, 121 set discard-class command 119, 121 set srp-priority command 119, 121 shape average command 45, 46 Port Down messages 11 Port Mapping 11 process restart 12 provider backbone bridge 3 default marking behavior 3 Q QoS (Quality of Service) 1, 2, 4, 55, 100 benefits 2 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x IN-2 OL-26077-02 IndexQoS (Quality of Service) (continued) characteristics 1 congestion mechanisms, policers and shapers 55 features 4, 100 class-based packet marking 100 traffic policing 4 traffic shaping 4 techniques 4, 55 congestion management 4, 55 queueing 55, 56 scheduling mechanism 55 strict priority 56 R Rate Adjustment 11 RFC 791, Internet Protocol 101 S service models, end-to-end, differentiated service 4 service-policy command 113, 114, 115, 116, 117 set cos command 119, 120, 121 set discard-class command 119, 121 set srp-priority command 119, 121 shape average command 45, 46 shape rate 11 show ancp neighbor 17, 18 show ancp neighbor summary 17, 18 show interface command 64 show policy-map interface command 113, 114, 115, 116, 117, 118 T token bucket 62 traffic class 97, 107 creating 107 major elements 97 traffic policer 58, 59, 64, 65 single-rate, two color policer 59 two-rate, three-color policer 64 peak information rate (PIR) 58 purpose 65 traffic policers and traffic shapers, use of traffic descriptor 97 traffic policing 4, 58, 59, 65 single-rate token bucket 59 description 58 packet marking 65 summary 4 traffic policy 98, 111, 113 attaching to an interface 113 creating 111 maximum number of traffic classes 98 purpose 98 traffic shaping 57 description 57 enabled 57 V verifying 180 hierarchical policies 180 VLAN subinterfaces 18 VPLS QoS 159 Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x OL-26077-02 IN-3 Index Cisco ASR 9000 Series Aggregation Services Router Modular Quality of Service Configuration Guide, Release 4.2.x IN-4 OL-26077-02 Index Americas Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000 800 553-NETS (6387) Fax: 408 527-0883 Cisco IOS XR XML API Guide Cisco IOS XR Software Release 4.1 April 2011 Text Part Number: OL-24657-01THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS. THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY. The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB’s public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California. NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS” WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at 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. (1005R) Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental. Cisco IOS XR XML API Guide © 2011 Cisco Systems, Inc. All rights reserved.1 Cisco IOS XR XML API Guide OL-24657-01 C O N T E N T S Preface ix Changes to This Document ix Obtaining Documentation and Submitting a Service Request ix C H A P T E R 1 Cisco XML API Overview 1-1 Introduction 1-1 Definition of Terms 1-1 Cisco Management XML Interface 1-2 Cisco XML API and Router System Features 1-3 Cisco XML API Tags 1-3 Basic XML Request Content 1-4 Top-Level Structure 1-4 XML Declaration Tag 1-5 Request and Response Tags 1-5 ResultSummary Tag 1-5 Maximum Request Size 1-6 Minimum Response Content 1-6 Operation Type Tags 1-8 Native Data Operation Tags 1-8 Configuration Services Operation Tags 1-9 CLI Operation Tag 1-9 GetNext Operation Tag 1-9 Alarm Operation Tags 1-10 XML Request Batching 1-10 C H A P T E R 2 Cisco XML Router Configuration and Management 2-13 Target Configuration Overview 2-13 Configuration Operations 2-14 Additional Configuration Options Using XML 2-14 Locking the Running Configuration 2-15 Browsing the Target or Running Configuration 2-15 Getting Configuration Data 2-16 Browsing the Changed Configuration 2-17 Loading the Target Configuration 2-19Contents 2 Cisco IOS XR XML API Guide OL-24657-01 Setting the Target Configuration Explicitly 2-20 Saving the Target Configuration 2-21 Committing the Target Configuration 2-22 Commit Operation 2-22 Commit Errors 2-25 Loading a Failed Configuration 2-27 Unlocking the Running Configuration 2-28 Additional Router Configuration and Management Options Using XML 2-28 Getting Commit Changes 2-29 Loading Commit Changes 2-30 Clearing a Target Session 2-32 Rolling Back Configuration Changes to a Specified Commit Identifier 2-33 Rolling Back the Trial Configuration Changes Before the Trial Time Expires 2-33 Rolling Back Configuration Changes to a Specified Number of Commits 2-34 Getting Rollback Changes 2-35 Loading Rollback Changes 2-36 Getting Configuration History 2-38 Getting Configuration Commit List 2-41 Getting Configuration Session Information 2-43 Clear Configuration Session 2-44 Replacing the Current Running Configuration 2-45 Clear Configuration Inconsistency Alarm 2-46 C H A P T E R 3 Cisco XML Operational Requests and Fault Management 3-49 Operational Get Requests 3-49 Action Requests 3-50 Cisco XML and Fault Management 3-51 Configuration Change Notification 3-51 C H A P T E R 4 Cisco XML and Native Data Operations 4-53 Native Data Operation Content 4-53 Request Type Tag and Namespaces 4-54 Object Hierarchy 4-54 Main Hierarchy Structure 4-55 Dependencies Between Configuration Items 4-58 Null Value Representations 4-58 Operation Triggering 4-58 Native Data Operation Examples 4-59 Set Configuration Data Request: Example 4-60Contents 3 Cisco IOS XR XML API Guide OL-24657-01 Get Request: Example 4-62 Get Request of Nonexistent Data: Example 4-63 Delete Request: Example 4-65 GetDataSpaceInfo Request Example 4-66 C H A P T E R 5 Cisco XML and Native Data Access Techniques 5-67 Available Set of Native Data Access Techniques 5-67 XML Request for All Configuration Data 5-68 XML Request for All Configuration Data per Component 5-68 XML Request for All Data Within a Container 5-69 XML Request for Specific Data Items 5-71 XML Request with Combined Object Class Hierarchies 5-72 XML Request Using Wildcarding (Match Attribute) 5-75 XML Request for Specific Object Instances (Repeated Naming Information) 5-79 XML Request Using Operation Scope (Content Attribute) 5-82 Limiting the Number of Table Entries Returned (Count Attribute) 5-83 Custom Filtering (Filter Element) 5-85 XML Request Using the Mode Attribute 5-86 C H A P T E R 6 Cisco XML and Encapsulated CLI Operations 6-91 XML CLI Command Tags 6-91 CLI Command Limitations 6-92 C H A P T E R 7 Cisco XML and Large Data Retrieval 7-93 Iterators 7-93 Usage Guidelines 7-93 Examples Using Iterators to Retrieve Data 7-94 Large Response Division 7-97 Terminating an Iterator 7-97 Throttling 7-98 CPU Throttle Mechanism 7-99 Memory Throttle Mechanism 7-99 Streaming 7-99 Usage Guidelines 7-99 C H A P T E R 8 Cisco XML Security 8-101 Authentication 8-101 Authorization 8-101Contents 4 Cisco IOS XR XML API Guide OL-24657-01 Retrieving Task Permissions 8-102 Task Privileges 8-102 Task Names 8-103 Authorization Failure 8-104 Management Plane Protection 8-104 Inband Traffic 8-104 Out-of-Band Traffic 8-104 VRF 8-105 Access Control List 8-105 C H A P T E R 9 Cisco XML Schema Versioning 9-107 Major and Minor Version Numbers 9-107 Run-Time Use of Version Information 9-108 Placement of Version Information 9-109 Version Lag with the AllowVersionMisMatch Attribute Set as TRUE 9-110 Version Lag with the AllowVersionMismatch Attribute Set as FALSE 9-111 Version Creep with the AllowVersionMisMatch Attribute Set as TRUE 9-112 Version Creep with the AllowVersionMisMatch Attribute Set as FALSE 9-113 Retrieving Version Information 9-113 Retrieving Schema Detail 9-115 C H A P T E R 10 Alarms 10-117 Alarm Registration 10-117 Alarm Deregistration 10-118 Alarm Notification 10-119 C H A P T E R 11 Error Reporting in Cisco XML Responses 11-121 Types of Reported Errors 11-121 Error Attributes 11-122 Transport Errors 11-122 XML Parse Errors 11-122 XML Schema Errors 11-123 Operation Processing Errors 11-125 Error Codes and Messages 11-126Contents 5 Cisco IOS XR XML API Guide OL-24657-01 C H A P T E R 12 Summary of Cisco XML API Configuration Tags 12-127 C H A P T E R 13 XML Transport and Event Notifications 13-129 TTY-Based Transports 13-129 Enabling the TTY XML Agent 13-129 Enabling a Session from a Client 13-129 Sending XML Requests and Receiving Responses 13-130 Configuring Idle Session Timeout 13-130 Ending a Session 13-130 Errors That Result in No XML Response Being Produced 13-130 Dedicated Connection Based Transports 13-131 Enabling the Dedicated XML Agent 13-131 Enabling a Session from a Client 13-131 Sending XML Requests and Receiving Responses 13-132 Configuring Idle Session Timeout 13-132 Ending a Session 13-132 Errors That Result in No XML Response Being Produced 13-132 SSL Dedicated Connection based Transports 13-132 Enabling the SSL Dedicated XML Agent 13-133 Enabling a Session from a Client 13-133 Sending XML Requests and Receiving Responses 13-133 Configuring Idle Session Timeout 13-133 Ending a Session 13-134 Errors That Result in No XML Response Being Produced 13-134 C H A P T E R 14 Cisco XML Schemas 14-135 XML Schema Retrieval 14-135 Common XML Schemas 14-136 Component XML Schemas 14-136 Schema File Organization 14-136 Schema File Upgrades 14-137 C H A P T E R 15 Network Configuration Protocol 15-139 Starting a NETCONF Session 15-139 Ending a NETCONF Agent Session 15-140 Starting an SSH NETCONF Session 15-140 Ending an SSH NETCONF Agent Session 15-141 Configuring a NETCONF agent 15-141Contents 6 Cisco IOS XR XML API Guide OL-24657-01 Limitations of NETCONF in Cisco IOS XR 15-142 Configuration Datastores 15-142 Configuration Capabilities 15-142 Transport (RFC4741 and RFC4742) 15-142 Subtree Filtering (RFC4741) 15-142 Protocol Operations (RFC4741) 15-144 Event Notifications (RFC5277) 15-145 C H A P T E R 16 Cisco IOS XR Perl Scripting Toolkit 16-147 Cisco IOS XR Perl Scripting Toolkit Concepts 16-148 Security Implications for the Cisco IOS XR Perl Scripting Toolkit 16-148 Prerequisites for Installing the Cisco IOS XR Perl Scripting Toolkit 16-148 Installing the Cisco IOS XR Perl Scripting Toolkit 16-149 Using the Cisco IOS XR Perl XML API in a Perl Script 16-150 Handling Types of Errors for the Cisco IOS XR Perl XML API 16-150 Starting a Management Session on a Router 16-150 Closing a Management Session on a Router 16-152 Sending an XML Request to the Router 16-152 Using Response Objects 16-153 Using the Error Objects 16-154 Using the Configuration Services Methods 16-154 Using the Cisco IOS XR Perl Data Object Interface 16-157 Understanding the Perl Data Object Documentation 16-158 Generating the Perl Data Object Documentation 16-158 Creating Data Objects 16-159 Specifying the Schema Version to Use When Creating a Data Object 16-161 Using the Data Operation Methods on a Data Object 16-161 get_data Method 16-161 find_data Method 16-162 get_keys Method 16-162 get_entries Method 16-163 set_data Method 16-163 delete_data Method 16-164 Using the Batching API 16-164 batch_start Method 16-164 batch_send Method 16-165 Displaying Data and Keys Returned by the Data Operation Methods 16-165 Specifying the Session to Use for the Data Operation Methods 16-166Contents 7 Cisco IOS XR XML API Guide OL-24657-01 Cisco IOS XR Perl Notification and Alarm API 16-166 Registering for Alarms 16-166 Deregistering an Existing Alarm Registration 16-167 Deregistering All Registration on a Particular Session 16-167 Receiving an Alarm on a Management Session 16-167 Using the Debug and Logging Facilities 16-168 Debug Facility Overview 16-168 Logging Facility Overview 16-169 Examples of Using the Cisco IOS XR Perl XML API 16-170 Configuration Examples 16-171 Setting the IP Address of an Interface 16-171 Configuring a Simple BGP Neighbor 16-172 Adding a List of Neighbors to a BGP Neighbor Group 16-172 Displaying the Members of Each BGP Neighbor Group 16-173 Setting Up ISIS on an Interface 16-173 Finding the Circuit Type That is Currently Configured for an Interface for ISIS 16-173 Configuring a New Instance, Area, and Interface for OSPF 16-175 Getting a List of the Usernames That are Configured on the Router 16-175 Finding the IP Address of All Interfaces That Have IP Configured 16-175 Adding an Entry to the Access Control List 16-176 Denying Access to a Set of Interfaces from a Particular IP Address 16-176 Configuring a New Static Route Entry 16-177 Operational Examples 16-177 Retrieving the Operational Information for All Interfaces on the Router 16-178 Retrieving the Link State Database for a Particular Level for ISIS 16-178 Getting a List of All Interfaces on the System 16-179 Retrieving the Combined Interface and IP Information for Each Interface 16-179 Listing the Hostname and Interface for Each ISIS Neighbor 16-180 Recreating the Output of the show ip interfaces CLI Command 16-180 Producing a Textual Output Similar to the show bgp neighbors CLI Command 16-180 Displaying Tabular XML Data in a Generic HTML Table Using XSLT 16-181 Displaying the Interface State in a Customized HTML Table 16-182 Displaying the BGP Neighbor Operational Data in a Complex HTML Format 16-182 Performing Actions Whenever Certain Events Occur 16-183 Sample BGP Configuration 17-185 GL O S S A R Y I N D E XContents 8 Cisco IOS XR XML API Guide OL-24657-01ix Cisco IOS XR XML API Guide OL-24657-01 Preface The XML application programming interface (API) is available for use on any Cisco platform running Cisco IOS XR software. This document describes the XML API provided to developers of external management applications. The XML interface provides a mechanism for router configuration and monitoring using XML formatted request and response streams. The XML schemas referenced in this guide are used by the management application developer to integrate client applications with the router programmable interface. The preface contains these sections: • Changes to This Document, page ix • Obtaining Documentation and Submitting a Service Request, page ix Changes to This Document Table 1 lists the technical changes made to this document since it was first published. Obtaining Documentation and Submitting a Service Request For information on obtaining documentation, submitting a service request, and gathering additional information, see the monthly What’s New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at: http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html Subscribe to the What’s New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS Version 2.0. Table 1 Changes to This Document Revision Date Change Summary OL-24657-01 April 2011 Initial release of this document.x Cisco IOS XR XML API Guide OL-24657-01 PrefaceC H A P T E R 1-1 Cisco IOS XR XML API Guide OL-24657-01 1 Cisco XML API Overview This chapter contains these sections: • Introduction, page 1-1 • Cisco Management XML Interface, page 1-2 • Cisco XML API and Router System Features, page 1-3 • Cisco XML API Tags, page 1-3 Introduction This Cisco IOS XR XML API Guide explains how to use the Cisco XML API to configure routers or request information about configuration, management, or operation of the routers. The goal of this guide is to help management application developers write client applications to interact with the Cisco XML infrastructure on the router, and to use the Management XML API to build custom end-user interfaces for configuration and information retrieval and display. The XML application programming interface (API) provided by the router is an interface used for development of client applications and perl scripts to manage and monitor the router. The XML interface is specified by XML schemas. The XML API provides a mechanism, which exchanges XML formatted request and response streams, for router configuration and monitoring. Client applications can be used to configure the router or to request status information from the router, by encoding a request in XML API tags and sending it to the router. The router processes the request and sends the response to the client by again encoding the response in XML API tags. This guide describes the XML requests that can be sent by external client applications to access router management data, and also details the responses to the client by the router. Customers use a variety of vendor-specific CLI scripts to manage their routers because no alternative programmatic mechanism is available. In addition, a common framework has not been available to develop CLI scripts. In response to this need, the XML API provides the necessary common framework for development, deployment, and maintenance of router management. Note The XML API code is available for use on any Cisco platform that runs Cisco IOS XR software.1-2 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco Management XML Interface Definition of Terms Table 1-1 defines the words, acronyms, and actions used throughout this guide. Cisco Management XML Interface These topics, which are covered in detail in the sections that follow, outline information about the Cisco Management XML interface: • High-level structure of the XML request and response streams • Operation tag types and usage, including their XML format and content • Configuring the router using: – the two–stage “target configuration” mechanism provided by the configuration manager – features such as locking, loading, browsing, modifying, saving, and committing the configuration • Accessing the operational data of the router with XML Table 1-1 Definition of Terms Term Description AAA Authentication, authorization, and accounting. CLI Command-line interface. SSH Secure Shell. SSL Secure Sockets Layer. XML Extensible markup language. XML agent Process on the router that receives XML requests by XML clients, and is responsible to carry out the actions contained in the request and to return an XML response to the client. XML client External application that sends XML requests to the router and receives XML responses to those requests. XML operation Portion of an XML request that specifies an operation that the XML client wants the XML agent to perform. XML operation provider Code that carries out a particular XML operation including parsing the operation XML, performing the operation, and assembling the operation XML response. XML request XML document sent to the router containing a number of requested operations to be carried out. XML response Response to an XML request. XML schema XML document specifying the structure and possible contents of XML elements that can be contained in an XML document.1-3 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API and Router System Features • Working with native management data object class hierarchies to: – represent native data objects in XML – use techniques, including the use of wildcards and filters, for structuring XML requests that access the management data of interest, • Encapsulating CLI commands in XML • Error reporting to the client application • Using iterators for large scale data retrieval • Handling event notifications with XML • Enforcing authorization of client requests • Versioning of XML schemas • Generation and packaging of XML schemas • Transporting options that enable corresponding XML agents on the router • Using the Cisco IOS XR Perl Scripting Toolkit to manage a Cisco IOS XR router Cisco XML API and Router System Features Using the XML API, an external client application sends XML encoded management requests to an XML agent running on the router. The XML API readily supports available transport layers including terminal-based protocols such as Telnet, Secure Shell (SSH), dedicated-TCP connection, and Secure Sockets Layer (SSL) dedicated TCP connection. Before an XML session is established, the XML transport and XML agent must be enabled on the router. For more information, see Chapter 13, “XML Transport and Event Notifications.” A client request sent to the router must specify the different types of operations that are to be carried out. Three general types of management operations supported through XML are: • Native data access (get, set, delete, and so on) using the native management data model. • Configuration services for advanced configuration management through the Configuration Manager. • Traditional CLI access where CLI commands and command responses are encapsulated in XML. When a client request is received by an XML agent on the router, the request is routed to the appropriate XML operation provider in the internal Cisco XML API library for processing. After all the requested operations are processed, the XML agent receives the result and sends the XML encoded response stream on to the client. Cisco XML API Tags An external client application can access management data on the router through an exchange of well-structured XML-tagged request and response streams. The XML tagged request and response streams are described in these sections: • Basic XML Request Content, page 1-4 • XML Declaration Tag, page 1-5 • Operation Type Tags, page 1-81-4 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags • XML Request Batching, page 1-10 Basic XML Request Content This section describes the specific content and format of XML data exchanged between the client and the router for the purpose of router configuration and monitoring. Top-Level Structure The top level of every request sent by a client application to the router must begin with an XML declaration tag, followed by a request tag and one or more operation type tags. Similarly, every response returned by the router begins with an XML declaration tag followed by a response tag, one or more operation type tags, and a result summary tag with an error count. Each request contains operation tags for each supported operation type; these operation type tags can be repeated. The operation type tags contained in the response corresponds to those contained in the client request. Sample XML Request from Client Application . . . Operation-specific content goes here . . . Sample XML Response from Router . . . Operation-specific response data returned here . . . Note All examples in this document are formatted with line breaks and white space to aid readability. Actual XML request and response streams that are exchanged with the router do not include such line breaks and white space characters. This is because these elements would add significantly to the size of the XML data and impact the overall performance of the XML API. 1-5 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags XML Declaration Tag Each request and response exchanged between a client application and the router must begin with an XML declaration tag indicating which version of XML and (optionally) which character set is being used: Table 1-2 defines the attributes of the XML declaration that are defined by the XML specification. Request and Response Tags Following the XML declaration tag, the client application must enclose each request stream within a pair of start and end tags. Also, the system encloses each XML response within a pair of start and end tags. Major and minor version numbers are carried on the and elements to indicate the overall XML API version in use by the client application and router respectively. The XML API presents a synchronous interface to client applications. The and tags are used by the client to correlate request and response streams. A client application issues a request after which, the router returns a response. The client then issues another request, and so on. Therefore, the XML session between a client and the router consist of a series of alternating requests and response streams. The client application optionally includes a ClientID attribute within the tag. The value of the ClientID attribute must be an unsigned 32-bit integer value. If the tag contains a ClientID attribute, the router includes the same ClientID value in the corresponding tag. The ClientID value is treated as opaque data and ignored by the router. ResultSummary Tag The system adds a tag immediately before the end tag to indicate the overall result of the operation performed. This tag contains the attribute ErrorCount to indicate the total number of errors encountered. A value of 0 indicates no errors. If applicable, the ItemNotFound or ItemNotFoundBelow attributes are also included. See Table 1-3 for explanations of these attributes. Sample XML Response with ResultsSummary Tag . . Table 1-2 Attributes for XML Declaration Name Description Version Specifies the version of XML to be used. Only Version “1.0” is supported by the router. Note The version attribute is required. Encoding Specifies the standardized character set to be used. Only “UTF-8” is supported by the router. The router includes the encoding attribute in a response only if it is specified in the corresponding request. Note The encoding attribute is optional.1-6 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags Maximum Request Size The maximum size of an XML request or response is determined by the restrictions of the underlying transports. For more information on transport-specific limitations of request and response sizes, see Chapter 13, “XML Transport and Event Notifications.” Minimum Response Content If a or request has nothing to return, the router returns the original request and an appropriate empty operation type tag. The minimum response returned by the router with a single operation or and no result data, is shown in these examples: Sample XML Request from Client Application . . . Operation-specific content goes here . . . Sample XML Minimum Response from a Router If a request has nothing to return, the router returns the original request with an ItemNotFound attribute at the level. If a request has some ‘not found’ elements to return, the router returns the original request with an ItemNotFoundBelow attribute at the level. For each requested element that is not found, the router returns a NotFound attribute at the element level. For each requested element that is present, it returns the corresponding data. Table 1-3 defines the attributes when the request does not have any elements to return. Sample XML Request from Client Application (ItemNotFound) Table 1-3 Attributes for Elements Not Found Attribute Description ItemNotFound Empty response at the level. ItemNotFoundBelow Response with some requested elements that are not found at the level. NotFound Requested element is not found at the element level.1-7 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags act Loopback1 Sample XML Minimum Response from a Router (ItemNotFound) act Loopback1 Sample XML Request from Client Application (ItemNotFoundBelow) act Loopback0 Sample XML Minimum Response from a Router (ItemNotFoundBelow) 1-8 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags act Loopback0 desc-loop0 1.1.1.1 255.255.0.0 Operation Type Tags Following the tag, the client application must specify the operations to be carried out by the router. Three general types of operations are supported along with the operation for large responses. Native Data Operation Tags Native data operations provide basic access to the native management data model. Table 1-4 describes the native data operation tags. The XML schema definitions for the native data operation type tags are contained in the schema file native_data_operations.xsd. The native data operations are described further in Chapter 5, “Cisco XML and Native Data Access Techniques.” Table 1-4 Native Data Operation Tags Native Data Tag Description Gets the value of one or more configuration, operational, or action data items. Creates or modifies one or more configuration or action data items. Deletes one or more configuration data items. Gets the major and minor version numbers of one or more components. Retrieves native data branch names.1-9 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags Configuration Services Operation Tags Configuration services operations provide more advanced configuration management functions through the Configuration Manager. Table 1-5 describes the configuration services operation tags. The XML schema definitions for the configuration services operation type tags are contained in the schema file config_services_operations.xsd (see Chapter 14, “Cisco XML Schemas”). The configuration services operations are described further in Chapter 2, “Cisco XML Router Configuration and Management.” CLI Operation Tag CLI access provides support for XML encapsulated CLI commands and responses. For CLI access, a single tag is provided. The operation tag issues the request as a CLI command. The XML schema definitions for the CLI tag are contained in the schema file cli_operations.xsd (see Chapter 14, “Cisco XML Schemas”). The CLI operations are described further in Chapter 6, “Cisco XML and Encapsulated CLI Operations.” GetNext Operation Tag The tag is used to retrieve the next portion of a large response. It can be used as required to retrieve an oversize response following a request using one of the other operation types. The operation tag gets the next portion of a response. Iterators are supported for large requests. The XML schema definition for the operation type tag is contained in the schema file xml_api_protocol.xsd (see Chapter 14, “Cisco XML Schemas”). For more information about the operation, see Chapter 7, “Cisco XML and Large Data Retrieval.” Table 1-5 Configuration Services Operation Tags Tag Description Locks the running configuration. Unlocks the running configuration. Loads the target configuration from a binary file previously saved using the tag. Saves the target configuration to a binary file. Promotes the target configuration to the running configuration. Aborts or clears the current target configuration session. Rolls back the running configuration to a previous configuration state. Gets a list of configuration events. Gets a list of the user sessions currently configuring the box. Gets a list of commits that were made to the running configuration and can be rolled back. Clears a particular configuration session. Clears a configuration inconsistency alarm.1-10 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags Alarm Operation Tags The operation tag registers, unregisters, and receives alarm notifications. Table 1-6 lists the alarm operation tags. The XML schema definitions for the alarm operation tags are contained in the schema file alarm_operations.xsd (see Chapter 14, “Cisco XML Schemas”). XML Request Batching The XML interface supports the combining of several requests or operations into a single request. When multiple operations are specified in a single request, the response contains the same operation tags and in the same order as they appeared in the request. Batched requests are performed as a “best effort.” For example, in a case where operations 1 through 3 are in the request, even if operation 2 fails, operation 3 is attempted. If you want to perform two or more operations, and if the first one might return a large amount of data that is potentially larger than the size of one iterator chunk, you must place the subsequent operations within a separate XML request. If the operations are placed in the same request within the same tags, for example, potentially sharing part of the hierarchies with the first request, an error attribute that informs you that the operations cannot be serviced is returned on the relevant tags. For more information, see Chapter 5, “Cisco XML and Native Data Access Techniques.” This example shows a simple request containing six different operations: Sample XML Client Batched Requests . . . Get operation content goes here . . . . . . Set operation content goes here . . Table 1-6 List of Alarm Operation Tags Tag Description Registers to receive alarm notifications. Cancels a previous alarm notification registration.1-11 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags . . . . Get operation content goes here . . . Sample XML Response from the Router . . . . . . . . . Get response content returned here . . . . . . . . . . . . . . . . . . Get response content returned here . . . .1-12 Cisco IOS XR XML API Guide OL-24657-01 Chapter 1 Cisco XML API Overview Cisco XML API Tags . . . . . C H A P T E R 2-13 Cisco IOS XR XML API Guide OL-24657-01 2 Cisco XML Router Configuration and Management This chapter reviews the basic XML requests and responses used to configure and manage the router. The use of XML to configure the router is essentially an abstraction of a configuration editor in which client applications can load, browse, and modify configuration data without affecting the current running (that is, active) configuration on the router. This configuration that is being modified is called the "target configuration” and is not the running configuration on the router. The router’s running configuration can never be modified directly. All changes to the running configuration must go through the target configuration. Note Each client application session has its own target configuration, which is not visible to other client sessions. This chapter contains these sections: • Target Configuration Overview, page 2-13 • Configuration Operations, page 2-14 • Additional Router Configuration and Management Options Using XML, page 2-27 Target Configuration Overview The target configuration is effectively the current running configuration overlaid with the client-entered configuration. In other words, the target configuration is the client-intended configuration if the client were to commit changes. In terms of implementation, the target configuration is an operating system buffer that contains just the changes (set and delete) that are performed within the configuration session. A “client session” is synonymous with dedicated TCP, Telnet, Secure Shell (SSH) connection, or SSL dedicated connection and authentication, authorization, and accounting (AAA) login. The target configuration is created implicitly at the beginning of a client application session and must be promoted (that is, committed) to the running configuration explicitly by the client application in order to replace or become the running configuration. If the client session breaks, the current target configuration is aborted and any outstanding locks are released.2-14 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations Note Only the syntax of the target configuration is checked and verified to be compatible with the installed software image on the router. The semantics of the target configuration is checked only when the target configuration is promoted to the running configuration. Configuration Operations Note Only the tasks in the “Committing the Target Configuration” section are required to change the configuration on the router (that is, modifying and committing the target configuration). Use these configuration options from the client application to configure or modify the router with XML: • Locking the Running Configuration, page 2-14 • Browsing the Target or Running Configuration, page 2-15 – Getting Configuration Data, page 2-15 • Browsing the Changed Configuration, page 2-16 • Loading the Target Configuration, page 2-19 • Setting the Target Configuration Explicitly, page 2-20 • Saving the Target Configuration, page 2-21 • Committing the Target Configuration, page 2-22 – Loading a Failed Configuration, page 2-26 • Unlocking the Running Configuration, page 2-27 Locking the Running Configuration The client application uses the operation to obtain an exclusive lock on the running configuration in order to prevent modification by other users or applications. If the lock operation is successful, the response contains only the tag. If the lock operation fails, the response also contains ErrorCode and ErrorMsg attributes that indicates the cause of the lock failure. This example shows a request to lock the running configuration. This request corresponds to the command-line interface (CLI) command configure exclusive. Sample XML Request from the Client Application Sample XML Response from the Router 2-15 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations These conditions apply when the running configuration is locked: • The scope of the lock is the entire configuration “namespace.” • Only one client application can hold the lock on the running configuration at a time. If a client application attempts to lock the configuration while another application holds the lock, an error is returned. • If a client application has locked the running configuration, all other client applications can only read the running configuration, but cannot modify it (that is, they cannot commit changes to it). • No mechanism is provided to allow a client application to break the lock of another user. • If a client session is terminated, any outstanding locks are automatically released. • The XML API does not support timeouts for locks. • The operation is used to identify the user session holding the lock. Browsing the Target or Running Configuration The client application browses the target or current running configuration using the operation along with the request type tags. The client application optionally uses CLI commands encoded within XML tags to browse the configuration. The tag supports the optional Source attribute, which is used to specify the source of the configuration information returned from a operation. Getting Configuration Data Table 2-1 describes the Source options. Table 2-1 Source Options Option Description ChangedConfig Reads only from the changes made to the target configuration for the current session. This option effectively gets the configuration changes made from the current session since the last configuration commit. This option corresponds to the CLI command show configuration. CurrentConfig Reads from the current active running configuration. This option corresponds to the CLI command show configuration running. MergedConfig Reads from the target configuration for this session. This option should provide a view of the resultant running configuration if the current target configuration is committed without errors. For example, in the case of the “best effort” commit, some portions of the commit could fail, while others could succeed. MergedConfig is the default when the Source attribute is not specified on the operation. This option corresponds to the CLI command show configuration merge.2-16 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations If the operation fails, the response contains one or more ErrorCode and ErrorMsg attributes indicating the cause of the failure. This example shows a request used to browse the current Border Gateway Protocol (BGP) configuration: Sample XML Client Request to Browse the Current BGP Configuration Sample XML Response from the Router .. . . response data goes here . . . Browsing the Changed Configuration When a client application issues a request with a Source type of ChangedConfig, the response contains the OperationType attribute to indicate whether the returned changes to the target configuration were a result of or operations. Use to browse uncommitted target configuration changes. CommitChanges Reads from the commit database for the specified commit ID. This operation corresponds to the CLI command show configuration commit changes. RollbackChanges Reads from a set of rollback changes. This operation corresponds to the CLI command show configuration rollback-changes. Table 2-1 Source Options (continued) Option Description2-17 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations This example shows and operations that modify the BGP configuration followed by a request to browse the uncommitted BGP configuration changes. These requests correspond to these CLI commands: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# router bgp 3 RP/0/RP0/CPU0:router(config-bgp)# default-metric 10 RP/0/RP0/CPU0:router(config-bgp)# no neighbor 10.0.101.8 RP/0/RP0/CPU0:router(config-bgp)# exit RP/0/RP0/CPU0:router# show configuration Sample XML to Modify the BGP Configuration 0 3 10 0 3 10.0.101.8 2-18 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations Sample XML Response from the Router Sample XML Client Request to Browse Uncommitted Target Configuration Changes Sample Secondary XML Response from the Router 0 3 true 10 0 3 2-19 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations 10.0.101.8 Loading the Target Configuration The client application uses the operation along with the tag to populate the target configuration with the contents of a binary configuration file previously saved on the router using the operation. Note At the current time, a configuration file saved using CLI is not loadable with XML . The configuration should have been saved using the XML operation. Using the operation is strictly optional. It can be used alone or with the and operations, as described in the section “Setting the Target Configuration Explicitly” section on page 2-20. Use the tag to name the file from which the configuration is to be loaded. When you use the tag to name the file from which the configuration is to be loaded, specify the complete path of the file to be loaded. If the load operation is successful, the response contains both the and tags. If the load operation fails, the response contains the ErrorCode and ErrorMsg attributes that indicate the cause of the load failure. This example shows a request to load the target configuration from the contents of the file my_bgp.cfg: Sample XML Client Request to Load the Target Configuration from a Named File disk0:/my_bgp.cfg Sample XML Response from the Router disk0:/my_bgp.cfg2-20 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations See also the “Setting the Target Configuration Explicitly” section on page 20. Setting the Target Configuration Explicitly The client application modifies the target configuration as required using the and operations. Note There are no separate “Create” and “Modify” operations, because a operation for an item can result in the creation of the item if it does not already exist in the configuration, and can result in the modification of the item if it does already exist. The client application can optionally use CLI commands encoded within XML tags to modify the target configuration. If the operation to modify the target configuration is successful, the response contains only the or tag. If the operation fails, the response includes the element or object hierarchy passed in the request along with one or more ErrorCode and ErrorMsg attributes indicating the cause of the failure. A syntax check is performed whenever the client application writes to the target configuration. A successful write to the target configuration, however, does not guarantee that the configuration change can succeed when a subsequent commit of the target configuration is attempted. For example, errors resulting from failed verifications may be returned from the commit. This example shows how to use a request to set the default metric and routing timers and disable neighbor change logging for a particular BGP autonomous system. This request corresponds to these CLI commands: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# router bgp 3 RP/0/RP0/CPU0:router(config-bgp)# default-metric 10 RP/0/RP0/CPU0:router(config-bgp)# timers bgp 60 180 RP/0/RP0/CPU0:router(config-bgp)# exit Sample XML Client Request to Set Timers and Disable Neighbor Change Logging for a BGP Configuration 3 3 10 60 1802-21 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations Sample XML Response from the Router To replace a portion of the configuration, the client application should use a operation to remove the unwanted portion of the configuration followed by a operation to add the new configuration. An explicit “replace” option is not supported. For more information on replacing the configuration, see the “Replacing the Current Running Configuration” section on page 2-44. Saving the Target Configuration The client application uses the operation along with the tag to save the contents of the target configuration to a binary file on the router. Use the tag to name the file to which the configuration is to be saved. You must specify the complete path of the file to be saved when you use the tag. If the file already exists on the router, then an error is returned, unless the optional Boolean attribute Overwrite is included on the tag with a value of “true”. Note No mechanism is provided by the XML interface for “browsing” through the file directory structure. If the save operation is successful, the response contains both the and tags. If the save operation fails, the response also contains the ErrorCode and ErrorMsg attributes that indicate the cause of the failure. This example shows a request to save the contents of the target configuration to the file named my_bgp.cfg on the router: Sample XML Client Request to Save the Target Configuration to a File disk0:/my_bgp.cfg Sample XML Response from the Router 2-22 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations disk0:/my_bgp.cfg Committing the Target Configuration In order for the configuration in the target area to become part of the running configuration, the target configuration must be explicitly committed by the client application using the operation. Commit Operation Table 2-2 describes the six optional attributes that are specified with the operation. Table 2-2 Commit Operation Attributes Attribute Description Mode Use the Mode attribute to specify whether the target configuration should be committed on an Atomic or a BestEffort basis. In the case of a commit with the Atomic option, the entire configuration in the target area is committed only if the application of all of the configuration in the target area to the running configuration succeeds. If any errors occur, the commit operation is rolled back and the errors are returned to the client application. In the case of commit with the BestEffort option, the configuration is committed even if some configuration items fail during the commit operation. In this case too, the errors are returned to the client application. By default, the commit operation is performed on an Atomic basis. KeepFailedConfig Use this Boolean attribute to specify whether any configuration that fails during the commit operation should remain in the target configuration buffer. The default value for KeepFailedConfig is false. That is, by default the target configuration buffer is cleared after each commit. If a commit operation is performed with a KeepFailedConfig value of false, the user can then use the operation to load the failed configuration back into the target configuration buffer. The use of the KeepFailedConfig attribute makes sense only for the BestEffort commit mode. In the case of an Atomic commit, if something fails, the entire target configuration is kept intact (because nothing is committed). Label Use the Label attribute instead of the commit identifier wherever a commit identifier is expected, such as in the operation. The Label attribute is a unique user-specified label that is associated with the commit in the commit database. If specified, the label must begin with an alphabetic character and cannot match any existing label in the commit database. Comment Use the Comment attribute as a user-specified comment to be associated with the commit in the router commit database.2-23 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations If the commit operation is successful, the response contains only the tag, along with a unique CommitID and any other attributes specified in the request. If the commit operation fails, the failed configuration is returned in the response. This example shows a request to commit the target configuration using the Atomic option. The request corresponds to the commit label BGPUpdate1 comment BGP config update CLI command. Sample XML Client Request to Commit the Target Configuration Using the Atomic Option Sample XML Response from the Router This example shows a request to commit for a 50-second period. The request corresponds to the commit confirmed 50 CLI command. Confirmed Use the Confirmed attribute as a commit request, which sends the target configuration to a trial commit. The confirmed request has a value of 30 to 300 seconds. If the user sends a commit request without the Confirmed attribute within the specified period, the changes are committed; otherwise, the changes are rolled back after the specified period is over. If the user sends a commit request again with the Confirmed attribute, the target configuration is sent to the trial commit. Replace Use this boolean attribute to specify whether the commit operation should replace the entire configuration running on the router with the contents of the target configuration buffer. The default value for Replace is false. The Replace attribute should be used with caution. Caution The new configuration must contain the necessary configuration to maintain the XML session, for example, “xml agent” or “xml agent tty” along with the configuration for the management interface. Otherwise, the XML session is terminated. IgnoreOtherSessions Use this boolean attribute to specify whether the commit operation should be allowed to go through without an error when one or more commits have occurred from other configuration sessions since the current session started or since the last commit was made from this session. The default value for IgnoreOtherSessions is false. Table 2-2 Commit Operation Attributes (continued) Attribute Description2-24 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations Sample XML Client Request to Commit for a 50-second Period Sample XML Response from the Router These points should be noted with regard to committing the target configuration: • After each successful commit operation, a commit record is created in the router commit database. The router maintains up to 100 entries in the commit database corresponding to the last 100 commits. Each commit is assigned a unique identifier, such as “1000000075,” which is saved with the commit information in the database. The commit identifier is used in subsequent operations such as commit changes or to a previous commit (using the tag). • Configuration changes in the target configuration are merged with the running configuration when committed. If a client application is to perform a replace of the configuration, the client must first remove the unwanted configuration using a operation and then add the new configuration using a operation. An explicit replace option is not supported. For more information on replacing the configuration, see the “Replacing the Current Running Configuration” section on page 2-44. • Applying the configuration for a trial period (“try-and-apply”) is not supported for this release. • If the client application never commits, the target configuration is automatically destroyed when the client session is terminated. No other timeouts are supported. • To confirm the commit with the Confirmed attribute, the user has to send an explicit without the Confirmed attribute or send a without the “Confirmed” attribute along with any other configurations. Commit Errors If any configuration entered into the target configuration fails to makes its way to the running configuration as the result of a operation (for example, the configuration contains a semantic error and is therefore rejected by a back-end application’s verifier function), all of the failed configuration is returned in the response along with the appropriate ErrorCode and ErrrorMsg attributes indicating the cause of each failure. The OperationType attribute is used to indicate whether the failure was a result of a requested or operation. In the case of a operation failure, the value to be set is included in the commit response. This example shows and operations to modify the BGP configuration followed by a request resulting in failures for both requested operations. This request corresponds to these CLI commands: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# router bgp 4 RP/0/RP0/CPU0:router(config-bgp)# default-metric 10 RP/0/RP0/CPU0:router(config-bgp)# exit RP/0/RP0/CPU0:router(config)# commit best-effort2-25 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations Sample XML Client Request to Modify the Target Configuration 0 4 10 Sample XML Response from the Router Sample Request to Commit the Target Configuration Sample XML Response from the Router Showing Failures for Both Requested Operations 4 4 2-26 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Configuration Operations 10 For more information, see the “Loading a Failed Configuration” section on page 2-26. Loading a Failed Configuration The client application uses the operation along with the tag to populate the target configuration with the failed configuration from the most recent operation. Loading the failed configuration in this way is equivalent to specifying a “true” value for the KeepFailedConfig attribute in the operation. If the load operation is successful, the response contains both the and tags. If the load fails, the response can also contain the ErrorCode and ErrorMsg attributes that indicate the cause of the load failure. This example shows a request to load and display the failed configuration from the last operation. This request corresponds to the show configuration failed CLI command. Sample XML Client Request to Load the Failed Configuration from the Last Operation Sample XML Response from the Router 0 4 true 2-27 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML 10 Unlocking the Running Configuration The client application must use the operation to release the exclusive lock on the running configuration for the current session prior to terminating the session. If the unlock operation is successful, the response contains only the tag. If the unlock operation fails, the response can also contain the ErrorCode and ErrorMsg attributes that indicate the cause of the unlock failure. This example shows a request to unlock the running configuration. This request corresponds to the exit CLI command when it is used after the configuration mode is entered through the configure exclusive CLI command. Sample XML Client Request to Unlock the Running Configuration Sample XML Response from the Router Additional Router Configuration and Management Options Using XML These sections describe the optional configuration and router management tasks available to the client application: • Getting Commit Changes, page 2-28 • Loading Commit Changes, page 2-29 • Clearing a Target Session, page 2-31 • Rolling Back Configuration Changes to a Specified Commit Identifier, page 2-32 • Rolling Back the Trial Configuration Changes Before the Trial Time Expires, page 2-32 • Rolling Back Configuration Changes to a Specified Number of Commits, page 2-332-28 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML • Getting Rollback Changes, page 2-34 • Loading Rollback Changes, page 2-35 • Getting Configuration History, page 2-37 • Getting Configuration Commit List, page 2-40 • Getting Configuration Session Information, page 2-42 • Clear Configuration Session, page 2-43 • Replacing the Current Running Configuration, page 2-44 • Clear Configuration Inconsistency Alarm, page 2-45 Getting Commit Changes When a client application successfully commits the target configuration to the running configuration, the configuration manager writes a single configuration change event to the system message logging (syslog). As a result, an event notification is written to the Alarm Channel and subsequently forwarded to any registered configuration agents. Table 2-3 describes the event notification. This example shows a configuration change notification: RP/0/1/CPU0:Jul 25 18:23:21.810 : config[65725]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'lab'. Use 'show configuration commit changes 1000000001' to view the changes Upon receiving the configuration change notification, a client application can then use the operation to load and browse the changed configuration. The client application can read a set of commit changes using the operation along with the request type tag when it includes the Source attribute option CommitChanges. One of the additional attributes, either ForCommitID or SinceCommitID, must also be used to specify the commit identifier or commit label for which the commit changes should be retrieved. This example shows the use of the ForCommitID attribute to show the commit changes for a specific commit. This request corresponds to the show configuration commit changes 1000000075 CLI command. Sample XML Request to Show Specified Commit Changes Using the ForCommitID Attribute Table 2-3 Event Notification Notification Description userid Name of the user who performed the commit operation. timestamp Date and time of the commit. commit Unique ID associated with the commit.2-29 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Response from the Router . . changed config returned here . . . This example shows the use of the SinceCommitID attribute to show the commit changes made since a specific commit. This request corresponds to the show configuration commit changes since 1000000072 CLI command. Sample XML Request to Show Specified Commit Changes Using the SinceCommitID Attribute Sample XML Response from the Router OperationType=”....> . . changed config returned here . . . Loading Commit Changes The client application can load a set of commit changes into the target configuration buffer using the Load operation and CommitChanges tag along with one of the additional tags ForCommitID, SinceCommitID, or Previous. After the completion of the Load operation, the client application can then modify and commit the commit changes like any other configuration. If the load succeeds, the response contains both the Load and CommitChanges tags. If the load fails, the response also contains the ErrorCode and ErrorMsg attributes indicating the cause of the load failure.2-30 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML This example shows the use of the Load operation and CommitChanges tag along with the ForCommitID tag to load the commit changes for a specific commit into the target configuration buffer. This request corresponds to the load commit changes 1000000072 CLI command. Sample XML Request to Load Commit Changes with the ForCommitID tag 1000000072 Sample XML Response from the Router 1000000072 This example shows the use of the Load operation and CommitChanges tag along with the SinceCommitID tag to load the commit changes since (and including) a specific commit into the target configuration buffer. This request corresponds to the load commit changes since 1000000072 CLI command. Sample XML Request to Load Commit Changes with the SinceCommitID tag 1000000072 Sample XML Response from the Router 1000000072 2-31 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML This example shows the use of the Load operation and CommitChanges tag along with the Previous tag to load the commit changes for the most recent four commits into the target configuration buffer. This request corresponds to the load commit changes last 4 CLI command. Sample XML Request to Load Commit Changes with the Previous tag 4 Sample XML Response from the Router 4 Clearing a Target Session Prior to committing the target configuration to the active running configuration, the client application can use the operation to clear the target configuration session. This operation has the effect of clearing the contents of the target configuration, thus removing any changes made to the target configuration since the last commit. The clear operation does not end the target configuration session, but results in the discarding of any uncommitted changes from the target configuration. If the clear operation is successful, the response contains just the tag. If the clear operation fails, the response can also contain the ErrorCode and ErrorMsg attributes that indicate the cause of the clear failure. This example shows a request to clear the current target configuration session. This request corresponds to the clear CLI command. Sample XML Request to Clear the Current Target Configuration Session Sample XML Response from a Router 2-32 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Rolling Back Configuration Changes to a Specified Commit Identifier The client application uses the operation with the tag to roll back the configuration changes made since (and including) the commit by specifying a commit identifier or commit label. If the roll back operation is successful, the response contains both the and tags. If the roll back operation fails, the response can also contain the ErrorCode and ErrorMsg attributes that indicate the cause of the roll back failure. Table 2-4 describes the optional attributes that are specified with the operation by the client application when rolling back to a commit identifier. This example shows a request to roll back the configuration changes to a specified commit identifier. This request corresponds to the rollback configuration to 1000000072 CLI command. Sample XML Request to Roll Back the Configuration Changes to a Specified Commit Identifier 1000000072 Sample XML Response from the Router 1000000072 Note The commit identifier can also be obtained by using the operation described in the section “Getting Configuration History” section on page 2-37. Rolling Back the Trial Configuration Changes Before the Trial Time Expires When the user sends a commit request with the Confirmed attribute, a trial configuration session is created. If the user then sends a confirmed commit, the trial configuration changes are committed. If the user wants to roll back the trial configuration changes before the trial time expires, the user can use the operation. Table 2-4 Optional Attributes for Rollback Operation (Commit Identifier) Attribute Description Label Unique user-specified label to be associated with the rollback in the router commit database. If specified, the label must begin with an alphabetic character and cannot match any existing label in the router commit database. Comment User-specified comment to be associated with the rollback in the router commit database.2-33 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Note No optional attributes can be used when is specified. This example shows a request to roll back the trial configuration changes: Sample XML Request to Roll Back the Trial Configuration Before the Trial Time Expires Sample XML Response from the Router Rolling Back Configuration Changes to a Specified Number of Commits The client application uses the operation with the tag to roll back the configuration changes made during the most recent [x] commits, where [x] is a number ranging from 0 to the number of saved commits in the commit database. If the value is specified as “0”, nothing is rolled back. The target configuration must be unlocked at the time the operation is requested. If the roll back operation is successful, the response contains both the and tags. If the roll back operation fails, the response can also contain the ErrorCode and ErrorMsg attributes that indicate the cause of the rollback failure. Table 2-5 describes the optional attributes that are specified with the operation by the client application when rolling back a specified number of commits. This example shows a request to roll back the configuration changes made during the previous three commits. This request corresponds to the rollback configuration last 3 CLI command. Table 2-5 Optional Attributes for Rollback Operation (Number of Commits) Attribute Description Label Unique user-specified label to be associated with the rollback in the router commit database. If specified, the label must begin with an alphabetic character and cannot match any existing label in the router commit database. Comment User-specified comment to be associated with the rollback in the router commit database.2-34 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Request to Roll Back Configuration Changes to a Specified Number of Commits 3 Sample XML Response from the Router 3 Getting Rollback Changes The client application can read a set of rollback changes using the operation along with the request type tag when it includes both the Source attribute option RollbackChanges and one of the additional attributes ToCommitID or PreviousCommits. The set of roll back changes are the changes that are applied when the operation is performed using the same parameters. It is recommended that the client application read or verify the set of roll back changes before performing the roll back. This example shows the use of the ToCommitID attribute to get the rollback changes for rolling back to a specific commit. This request corresponds to the show configuration rollback-changes to 1000000072 CLI command. Sample XML Client Request to Get Rollback Changes Using the ToCommitID Attribute Sample XML Response from the Router OperationType=”....> . . rollback changes returned here . . . 2-35 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML This example shows the use of the PreviousCommits attribute to get the roll back changes for rolling back a specified number of commits. This request corresponds to the show configuration rollback-changes last 4 CLI command. Sample XML Client Request to Get Roll Back Changes Using the PreviousCommits Attribute Sample XML Response from the Router OperationType=”....> . . rollback changes returned here . . . < ResultSummary ErrorCount="0"/> Loading Rollback Changes The client application can load a set of rollback changes into the target configuration buffer using the Load operation and RollbackChanges tag along with one of the additional tags ForCommitID, ToCommidID, or Previous. After the completion of the Load operation, the client application can then modify and commit the rollback changes like with any other configuration. If the load succeeds, the response contains both the Load and RollbackChanges tags. If the load fails, the response also contains the ErrorCode and ErrorMsg attributes indicating the cause of the load failure. This example shows the use of the Load operation and RollbackChanges tag along with the ForCommitID tag to load the rollback changes for a specific commit into the target configuration buffer. This request corresponds to the load rollback changes 1000000072 CLI command. Sample XML Client to Load Rollback Changes with the ForCommitID tag 1000000072 2-36 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Response from the Router 1000000072 This example shows the use of the Load operation and RollbackChanges tag along with the ToCommitID tag to load the rollback changes up to (and including) a specific commit into the target configuration buffer. This request corresponds to the load rollback changes to 1000000072 CLI command. Sample XML Client to Load Rollback Changes with the ToCommitID tag 1000000072 Sample XML Response from the Router 1000000072 This example shows the use of the Load operation and RollbackChanges tag along with the Previous tag to load the rollback changes for the most recent four commits into the target configuration buffer. This request corresponds to the load rollback changes last 4 CLI command. Sample XML Client to Load Rollback Changes with the Previous tag 4 2-37 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Response from the Router 4 Getting Configuration History The client application uses the operation to get information regarding these configuration events: • Commit • Online insertion and removal (OIR) events, also known as remove and replace • Router shutdown synchronization • cfs check rebuild of persistent configuration from running configuration • Startup application of admin and SDR configuration, noting alternate configuration fallback specification • Configuration inconsistency including failed configuration or other similar reasons Table 2-6 describes the optional attributes available with the operation. The operation corresponds to the show configuration history CLI command. This example shows a request to list the information associated with the previous three commits. This request corresponds to the show configuration commit history first 6 detail CLI command. Table 2-6 Optional Attributes to Get Configuration History Attribute Description Maximum Maximum number of entries to be returned from the commit history file. The range of entries that can be returned are from 0 to 1500. If the Maximum attribute is not included in the request, or if the value of the Maximum attribute is greater than the actual number of entries in the commit history file, all entries in the commit history files are returned. The commit entries are returned with the most recent commit history information appearing first in the list. EventType Type of event records to be displayed from the configuration history file. If this attribute is not included in the request, all types of event records are returned. The EventType attribute expects one of these values: All, Alarm, CFS-Check, Commit, OIR, Shutdown, or Startup. Reverse Reverse attribute has a value of true. If it is specified, the most recent records are displayed first; otherwise, the oldest records are displayed first. Details Used to display detailed information. The Detail attribute has a value of either true or false and the default is false.2-38 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Request to List Configuration History Information for the Previous Three Commits Sample XML Response from the Router CFS-Check 1300262221 lab vty2 Commit 1300262224 1000000627 lab vty2 CLI Commit 1300262231 2-39 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML 1000000628 lab vty0 CLI Commit 1300262239 1000000629 lab vty0 CLI Commit 1300262246 1000000630 lab vty0 CLI 2-40 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Commit 1300262255 1000000631 lab vty0 CLI Getting Configuration Commit List The client application can use the operation to get information regarding the most recent commits to the running configuration. Table 2-7 describes the information that is returned for each configuration commit session. Table 2-7 Returned Session Information Name Description Unique ID associated with the commit. <2-42 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Getting Configuration Session Information The client application uses the operation to get the list of all users configuring the router. In the case where the configuration is locked, the list identifies the user holding the lock. Table 2-8 describes the information that is returned for each configuration session. The Detail attribute can be specified with . This attribute specifies whether the detailed information is required. False is the default value. Table 2-9 describes the additional information that is returned when the Detail attribute is used. This example shows a request to get the list of users currently configuring the router. This request corresponds to the show configuration sessions detail CLI command. Sample XML Request to Get List of Users Configuring the Router Sample XML Response from the Router 00000000-0005f109-00000000 Table 2-8 Returned Session Information Returned Session Information Session Information Description Unique autogenerated ID for the configuration session. Name of the user who created the configuration session. Line used to connect to the router. User-friendly name of the client application that created the configuration session. Date and time of the creation of the configuration session. Boolean operation indicating whether the session has an exclusive lock on the running configuration. Table 2-9 Returned Session Information with the Detail Attribute Returned Session Information Session Information Description Process name Process ID Node ID Session time elapsed, in seconds.2-43 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML lab con0_0_CPU0 1303317929 false false CLI 389385 config 0 0 CPU0 2183 Clear Configuration Session The client application can use the operation to clear a particular configuration session. The SessionID attribute specifies the session to be cleared. This example shows a request to clear a configuration session. This request corresponds to the clear configuration sessions 00000000-000a00c9-00000000 CLI command.2-44 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Request to Get List of Users Configuring the Router Sample XML Response from the Router Replacing the Current Running Configuration A client application replaces the current running configuration on the router with a users configuration file. Performg these operations in sequence: 1. Lock the configuration. 2. Load the desired off-the-box configuration into the target configuration using one or more operations (assuming that the entire desired configuration is available in XML format, perhaps from a previous of the entire configuration). As an alternative, use an appropriate copy command enclosed within tags. 3. Commit the target configuration specifying the Replace attribute with a value of true. These examples illustrate these steps: Sample XML Request to Lock the Current Running Configuration Sample XML Response from the Router 2-45 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Request to Set the Current Running Configuration . . . configuration data goes here . . . Sample XML Response from the Router Sample XML Request to Commit the Target Configuration Sample XML Response from the Router Clear Configuration Inconsistency Alarm The client application uses the operation to clear a bi-state configuration inconsistency alarm. If the clear operation is successful, the response contains only the tag. If the clear operation fails, the response also contains the ErrorCode and ErrorMsg attributes, indicating the cause of the clear failure. This example shows a request to clear the configuration inconsistency alarm in user mode. This request corresponds to the clear configuration inconsistency CLI command. Sample XML Request to Clear the Configuration Inconsistency Alarm 2-46 Cisco IOS XR XML API Guide OL-24657-01 Chapter 2 Cisco XML Router Configuration and Management Additional Router Configuration and Management Options Using XML Sample XML Response from the Router C H A P T E R 3-49 Cisco IOS XR XML API Guide OL-24657-01 3 Cisco XML Operational Requests and Fault Management A client application can send an XML request to get router operational information using either a native data request along with the tag, or the equivalent CLI command. Although the CLI is more familiar to users, the advantage of using the request is that the response data is encoded in XML format instead of being only uninterpreted text enclosed within tags. This chapter contains these sections: • Operational Get Requests, page 3-49 • Action Requests, page 3-50 Operational Get Requests The content and format of operational requests are described in additional detail in Chapter 4, “Cisco XML and Native Data Operations.” This example shows a request to retrieve the global Border Gateway Protocol (BGP) process information. This request returns BGP process information similar to that displayed by the show ip bgp process detail CLI command. Sample XML Client Request to Get BGP Information Sample XML Response from the Router 3-50 Cisco IOS XR XML API Guide OL-24657-01 Chapter 3 Cisco XML Operational Requests and Fault Management Action Requests 0 0 .... more response content here ... Action Requests A client application can send a request along with the tag to trigger unique actions on the router. For example, an object may be set with an action request to inform the router to clear a particular counter or reset some functionality. Most often this operation involves setting the value of a Boolean object to “true”. This example shows an action request to clear the BGP performance statistics information. This request is equivalent to the clear bgp performance-statistics CLI command. Sample XML Request to Clear BGP Performance Statistics Information true 3-51 Cisco IOS XR XML API Guide OL-24657-01 Chapter 3 Cisco XML Operational Requests and Fault Management Action Requests Sample XML Response from the Router In addition, this example shows an action request to clear the peer drop information for all BGP neighbors. This request is equivalent to the clear bgp peer-drops * CLI command. Sample XML Request to Clear Peer Drop Information for All BGP Neighbors true Sample XML Response from the Router Cisco XML and Fault Management When a client application successfully commits the target configuration to the router’s running configuration, the configuration manager writes a single configuration change event to system message logging (syslog). As a result, a fault management event notification is written to the Alarm Channel and subsequently forwarded to any registered configuration agents. Configuration Change Notification Table 3-1 provides event notification for configuration changes information. Table 3-1 Event Notifications for Configuration Changes Event Notification Description userid Name of the user who performed the commit operation.3-52 Cisco IOS XR XML API Guide OL-24657-01 Chapter 3 Cisco XML Operational Requests and Fault Management Action Requests This example shows a configuration change notification: RP/0/RP0/CPU0:Sep 18 09:43:42.747 : %CLIENTLIBCFGMGR-6-CONFIG_CHANGE : A configuration commit by user root occurred at ’Wed Sep 18 09:43:42 2004 ’. The configuration changes are saved on the router in file: 010208180943.0 Upon receiving the configuration change notification, a client application can then use the and operations to load and browse the changed configuration. timestamp Date and time of the commit. commit Unique ID associated with the commit. Table 3-1 Event Notifications for Configuration Changes (continued) Event Notification DescriptionC H A P T E R 4-53 Cisco IOS XR XML API Guide OL-24657-01 4 Cisco XML and Native Data Operations Native data operations , , and provide basic access to configuration and operational data residing on the router. This chapter describes the content of native data operations and provides an example of each operation type. Native Data Operation Content The content of native data operations includes the request type and relevant object class hierarchy as described in these sections: • Request Type Tag and Namespaces, page 4-54 • Object Hierarchy, page 4-54 • Dependencies Between Configuration Items, page 4-58 • Null Value Representations, page 4-58 • Operation Triggering, page 4-58 • Native Data Operation Examples, page 4-59 This example shows a native data operation request: Sample XML Client Native Data Operation Request . . . object hierarchy goes here . . . 4-54 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Sample XML Response from the Router . . . response content returned here . . . Request Type Tag and Namespaces The request type tag must follow the operation type tag within a native data operation request. Table 4-1 describes the type of request that must be specified as applying to one of the namespaces. Object Hierarchy A hierarchy of elements is included to specify the items to get, set, or delete, and so on, after the request type tag is specified. The precise hierarchy is defined by the XML component schemas. Note You should use only the supported XML schema objects; therefore, do not attempt to write a request for other objects. The XML schema information is mapped to the XML instance. Table 4-1 Namespace Descriptions Namespace Description Provides access to the router configuration data analogous to CLI configuration commands. The allowed operations on configuration data are , , and . Provides access to the router operational data and is analogous to CLI show commands. The only operation allowed on operational data is . Provides access to the action data, for example, the clear commands. The only allowed operation on action data is . Provides access to the router administration operational data. The only operation allowed on administration operational data is . Provides access to the router administration action data; for example, the clear commands. The only allowed operation on administration action data is .4-55 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Main Hierarchy Structure The main structure of the hierarchy consists of the native data model organized as a tree of nodes, where related data items appear in the same branch of the tree. At each level of the tree, a node is a container of further, more specific, sets of related data, or a leaf that holds an actual value. For example, the first element in the configuration data model is , which contains all possible configuration items. The children of this element are more specific groups of configuration, such as for Border Gateway Protocol (BGP) configuration and for Intermediate System-to-Intermediate System (ISIS) configuration. Beneath the element, data is further compartmentalized with the element for global BGP configuration and element for per-entity BGP configuration. This compartmentalization continues down to the elements that hold the values, the values being the character data of the element. This example shows the main hierarchy structure: . . . . . . 10 . . . . . . . . . . . . Data can be retrieved at any level in the hierarchy. One particular data item can be examined, or all of the data items in a branch of the tree can be returned in one request. Similarly, configuration data can be deleted at any granularity—one item can be deleted, or a whole branch of related configuration can be deleted. So, for example, all BGP configuration can be deleted in one request, or just the value of the default metric. Hierarchy Tables One special type of container element is a table. Tables can hold any number of keyed entries, and are used when there can be multiple instances of an entity. For example, BGP has a table of multiple neighbors, each of which has a unique IP address "key" to identify it. In this case, the table element is 4-56 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content , and its child element signifying a particular neighbor is . To specify the key, an extension to the basic parent-child hierarchy is used, where a element appears under the child element, containing the key to the table entry. This example shows hierarchy tables: . . . 10.0.101.6 0 6 10.0.101.7 0 6 . . . . . . Use tables to access a specific data item for an entry (for example, getting the remote autonomous system number for neighbor 10.0.101.6), or all data for an entry, or even all data for all entries. Tables also provide the extra feature of allowing the list of entries in the table to be returned. Returned entries from tables can be used to show all neighbors configured; for example, without showing all their data.4-57 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Tables in the operational data model often have a further feature when retrieving their entries. The tables can be filtered on particular criteria to return just the set of entries that fulfill those criteria. For instance, the table of BGP neighbors can be filtered on address family or autonomous system number or update group, or all three. To apply a filter to a table, use another extension to the basic parent-child hierarchy, where a element appears under the table element, containing the criteria to filter on. This example shows table filtering: one IPv4Unicast Leaf Nodes The leaf nodes hold values and are generally simple one-value items where the element representing the leaf node uses character data to specify the value (as in 10 in the example in the “Main Hierarchy Structure” section on page 4-55. In some cases there may be more than one value to specify—for example, when you configure the administrative distance for an address family (the element), three values must be given together. Specifying more than one value is achieved by adding further child elements to the leaf, each of which indicates the particular value being configured. This example shows leaf nodes: . . . 20 250 200 . . . 4-58 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Sometimes there may be even more structure to the values (with additional levels in the hierarchy beneath the tag as a means for grouping the related parts of the data together), although they are still only “setable” or “getable” as one entity. The extreme example of this is that in some of the information returned from the operational data model, all the values pertaining to the status of a particular object may be grouped as one leaf. For example, a request to retrieve a particular BGP path status returns all the values associated with that path. Dependencies Between Configuration Items Dependencies between configuration items are not articulated in the XML schema nor are they enforced by the XML infrastructure; for example, if item A is this value, then item B must be one of these values, and so forth. The back-end for the Cisco IOS XR applications is responsible for preventing inconsistent configuration from being set. In addition, the management agents are responsible for carrying out the appropriate operations on dependent configuration items through the XML interface. Null Value Representations The standard attribute “xsi:nil” is used with a value of “true” when a null value is specified for an element in an XML request or response document. This example shows how to specify a null value for the element : 60 Any element that can be set to “nil” in an XML instance has the attribute “nillable” set to “true” in the XML schema definition for that element. For example: Any XML instance document that uses the nil mechanism must declare the “XML Schema for Instance Documents” namespace, which contains the “xsi:nil” definition. Responses to native data operations returned from the router declares the namespace in the operation tag. For example: Operation Triggering When structuring an XML request, the user should remember the general rule regarding what to specify in the XML for an operation to take place: As a client XML request is parsed by the router, the specified operation takes place whenever a closing tag is encountered after a series of one or more opening tags (but only when the closing tag is not the tag). This example shows a request to get the confederation peer information for a particular BGP autonomous system. In this example, the operation is triggered when the tag is encountered. Sample XML Client Request to Trigger a Operation for BGP Timer Values 4-59 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content 0 3 Sample XML Response from the Router 0 3 0 10 true 4-60 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Native Data Operation Examples These sections provide examples of the basic , , and operations: • Set Configuration Data Request: Example, page 4-60 • Get Request: Example, page 4-62 • Get Request of Nonexistent Data: Example, page 4-63 • Delete Request: Example, page 4-65 • GetDataSpaceInfo Request Example, page 4-66 Set Configuration Data Request: Example This example shows a native data request to set several configuration values for a particular BGP neighbor. Because the operation in this example is successful, the response contains only the operation and request type tags. This request is equivalent to these CLI commands: router bgp 3 address-family ipv4 unicast! address-family ipv4 multicast! neighbor 10.0.101.6 remote-as 6 ebgp-multihop 255 address-family ipv4 unicast orf route-policy BGP_pass all capability orf prefix both ! address-family ipv4 multicast orf route-policy BGP_pass all ! ! ! Sample XML Client Request to Configuration Values for a BGP Neighbor 0 3 true IPv4Unicast true 4-61 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content IPv4Multicast true 10.0.101.6 0 6 255 false IPv4Unicast true BGP_pass_all Both IPv4Multicast true BGP_pass_all Sample XML Response from the Router 4-62 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Get Request: Example This example shows a native data request to get the address independent configuration values for a specified BGP neighbor (using the same values set in the previous example). Sample XML Client Request to Configuration Values for a BGP Neighbor 0 3 10.0.101.6 Sample XML Response from the Router 0 3 10.0.101.6 4-63 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content 0 6 255 false IPv4Unicast true BGP_pass_all Both IPv4Multicast true BGP_pass_all Get Request of Nonexistent Data: Example This example shows a native data request to get the configuration values for a particular BGP neighbor; this is similar to the previous example. However, in this example the client application is requesting the configuration for a nonexistent neighbor. Instead of returning an error, the router returns the requested object class hierarchy, but without any data. Note Whenever an application attempts to get nonexistent data, the router does not treat this as an error and returns the empty object hierarchy in the response. Sample XML Client Request to Configuration Data for a Nonexistent BGP Neighbor 0 4-64 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content 3 10.0.101.99 Sample XML Response from the Router 0 3 10.0.101.99 4-65 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content Delete Request: Example This example shows a native data request to delete the address-independent configuration for a particular BGP neighbor. Note that if a request is made to delete an item that does not exist in the current configuration, an error is not returned to the client application. So in this example, the returned result is the same as in the previous example: the empty tag, whether or not the specified BGP neighbor exists. This request is equivalent to these CLI commands: router bgp 3 no neighbor 10.0.101.9 exit Sample XML Client Request to the Address-Independent Configuration Data for a BGP Neighbor 0 3 10.0.101.6 Sample XML Response from the Router 4-66 Cisco IOS XR XML API Guide OL-24657-01 Chapter 4 Cisco XML and Native Data Operations Native Data Operation Content GetDataSpaceInfo Request Example This example shows a operation used to retrieve the native data branch names dynamically. This is useful, for example, for writing a client application that can issue a operation without having to hardcode the branch names. The operation can be invoked instead to retrieve the branch names. The returned branch names can then be included in a subsequent request. Sample XML Client Request to Retrieve Native Data Sample XML Response from the Router C H A P T E R 5-67 Cisco IOS XR XML API Guide OL-24657-01 5 Cisco XML and Native Data Access Techniques This chapter describes the various techniques or strategies you can use to structure native data operation requests to access the information needed within the XML schema object class hierarchy. Available Set of Native Data Access Techniques The available native data access techniques are: • Request all data in the configuration hierarchy. See the “XML Request for All Configuration Data” section on page 5-68. • Request all configuration data for a component. See the “XML Request for All Configuration Data per Component” section on page 5-68. • Request all data within a container. See the “XML Request for Specific Data Items” section on page 5-71. • Combine object class hierarchies within a request. See the “XML Request with Combined Object Class Hierarchies” section on page 5-72. • Use wildcards in order to apply an operation to a set of entries within a table (Match attribute). See the “XML Request Using Wildcarding (Match Attribute)” section on page 5-75. • Repeat naming information in order to apply an operation to multiple instances of an object. See the “XML Request for Specific Object Instances (Repeated Naming Information)” section on page 5-80. • Perform a one-level in order to “list” the naming information for each entry within a table (Content attribute). See the “XML Request Using Operation Scope (Content Attribute)” section on page 5-82. • Specify the maximum number of table entries to be returned in a response (Count attribute). See the “Limiting the Number of Table Entries Returned (Count Attribute)” section on page 5-83. • Use custom filters to filter table entries (Filter element). See the “Custom Filtering (Filter Element)” section on page 5-85. • Use the Mode attribute. See the “XML Request Using the Mode Attribute” section on page 5-86 The actual data returned in a request depends on the value of the Source attribute. Note The term “container” is used in this document as a general reference to any grouping of related data, for example, all of the configuration data for a particular Border Gateway Protocol (BGP) neighbor. The term “table” is used more specifically to denote a type of container that holds a list of named 5-68 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques homogeneous objects. For example, the BGP neighbor address table contains a list of neighbor addresses, each of which is identified by its IP address. All table entries in the XML API are identified by the unique value of their element. XML Request for All Configuration Data Use the empty tag to retrieve the entire configuration object class hierarchy. This example shows how to get the entire configuration hierarchy by specifying the empty tag: Sample XML Client Request to the Entire Configuration Object Class Hierarchy Sample XML Response from the Router . . . response data goes here . . . XML Request for All Configuration Data per Component All the configuration data for a component is retrieved by specifying the highest level tag for the component. In this example, all the configuration data for BGP is retrieved by specifying the empty tag: Sample XML Client Request for All BGP Configuration Data 5-69 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Sample XML Response from the Router . . . response data goes here . . . XML Request for All Data Within a Container All data within a container is retrieved by specifying the configuration or operational object class hierarchy down to the containers of interest, including any naming information as appropriate. This example shows how to retrieve the configuration for the BGP neighbor with address 10.0.101.6: Sample XML Client Request to Get All Address Family-Independent Configuration Data Within a BGP Neighbor Container 0 3 5-70 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 10.0.101.6 Sample XML Response from the Router 0 3 10.0.101.6 0 6 255 false IPv4Unicast true oBGP_pass_all Both IPv4Multicast true BGP_pass_all 5-71 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques XML Request for Specific Data Items The value of a specific data item (leaf object) can be retrieved by specifying the configuration or operational object class hierarchy down to the item of interest, including any naming information as appropriate. This example shows how to retrieve the values of the two data items and for the BGP neighbor with address 10.0.101.6: Sample XML Client Request for Two Specific Data Items: RemoteAS and EBGPMultihop 0 3 10.0.101.6 Sample XML Response from the Router 5-72 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 0 3 10.0.101.6 255 XML Request with Combined Object Class Hierarchies Multiple object class hierarchies can be specified in a request. For example, a portion of the hierarchy can be repeated, and multiple instances of a child object class can be included under a parent. The object class hierarchy may also be compressed into the most “efficient” XML. In other words, it is not necessary to repeat hierarchies within a request. Before combining multiple operations inside one tag, these limitations should be noted for Release 3.0. Any operations that request multiple items of data must be sent in a separate XML request. They include: • An operation to retrieve all data beneath a container. For more information, See the“XML Request for All Data Within a Container” section on page 5-69. • An operation to retrieve the list of entries in a table. For more information, See the “XML Request Using Operation Scope (Content Attribute)” section on page 5-82. • An operation which includes a wildcard. For more information, See the “XML Request Using Wildcarding (Match Attribute)” section on page 5-75. If an attempt is made to make such an operation followed by another operation within the same request, this error is returned: XML Service Library detected the ‘fatal’ condition. The XML document which led to this response contained a request for a potentially large amount of data, which could return a set of iterators. The document also contained further requests for data, but these must be sent in a separate XML document, in order to ensure that they are serviced. The error indicates that the operations must be separated out into separate XML requests.5-73 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques These two examples illustrate two different object class hierarchies that retrieve the same data: the value of the leaf object and for the BGP neighbor with the address 10.0.101.6 and all of the configuration data for the BGP neighbor with the address 10.0.101.7: Example 1: Verbose Form of a Request Using Duplicated Object Class Hierarchies Sample XML Client Request for Specific Configuration Data Values 0 3 10.0.101.6 0 AS>3 10.0.101.7 5-74 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Sample XML Response from the Router . . . response data returned here for neighbor 10.0.101.6 . . . . . . response data returned here neighbor 10.0.101.7 . . . Example 2: Compact Form of a Request Using Compressed Object Class Hierarchies Sample XML Client Request 0 3 10.0.101.6 5-75 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 10.0.101.7 Sample XML Response from the Router . . . response data returned here for both neighbors . . . XML Request Using Wildcarding (Match Attribute) Wildcarding of naming information is provided by means of the Match attribute. Match=“*” can be used on any Naming attribute within a or operation to effectively specify a wildcarded value for that attribute. The operation applies to all instances of the requested objects. If no match is found, the response message contains MatchFoundBelow=”false” in the class, and MatchFound=”false” in the class that specified Match=”*” and no match found. These attributes are not added (with a value of true) in the response if a match is found. Note Although partial wildcarding of NodeIDs is not available in XML, each element of the NodeID has to be wildcarded, similar to the support on the CLI of */*/* as the only wildcards supported for locations. This example shows how to use the Match attribute to get the value for all configured BGP neighbors: Sample XML Client Request Using the Match Attribute Wildcarding 5-76 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 0 3 Sample XML Response from the Router 0 3 10.0.101.1 1 10.0.101.2 2 10.0.101.3 3 ... data for more neighbors returned here ...5-77 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques This example shows the response message when there is no match found for the request with wildcarding: Sample XML Client Request for No Match Found with Wildcarding 3 3 Sample XML Response from the Router 3 3 5-78 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques
Regular expression matching of naming information is provided by means of the Match attribute. Match=“” can be used on any Naming attribute within a operation to specify a filtering criteria to filter table entries. These rules apply to the filtering criteria: • The character, ‘*’ , is treated same as the ‘.*’ character. (matches everything) • Meta character ‘^’ (beginning of line) and ‘$’ (end of line) are always attached to the regular expression string specified by ‘Match’ attribute. • A regular expression string without any meta characters is treated as an exact match. Sample Request of the Configured ACL Entries That End With ‘SAA’: ACL entries that match this request: TCLSAA, 100SAA, SAA ACL entries that do NOT match this request: TCLSAA1 Sample Request That Returns all of the Configured GigabitEthernet Ports in Slot 5: act 5-79 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Interface names that match this request: GigabitEthernet0/5/0/0, GigabitEthernet0/5/0/1, and so forth. Interface names that do not match this request: GigabitEthernet0/4/0/0 Sample Request That Returns the Configured Loopback Interfaces Between Loopback100 and Loopback199: act Interface names that match this request: Loopback100,…,Loopback199 Interface names that do not match this request: Loopback1000, Loopback1990 Sample Request That Returns Only Loopback1 (if it is configured): act Interface names that match this request: Loopback1 Interface names that do not match this request: Loopback10, Loopback100, and so forth The request above, thus, is equivalent to this request: act Loopback1 5-80 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Limitation: Regular expression matching can only be specified in the first table of an XML request. XML Request for Specific Object Instances (Repeated Naming Information) Wildcarding allows the client application to effectively specify all instances of a particular object. Similarly, the client application might have a need to specify only a limited set of instances of an object. Specifying object instances can be done by simply repeating the naming information in the request. This example shows how to retrieve the address independent configuration for three different BGP neighbors; that is, the neighbors with addresses 10.0.101.1, 10.0.101.6, and 10.0.101.8, by repeating the naming information, once for each desired instance: Sample XML Client Request Using Repeated Naming Information for BGP Instances 0 3 10.0.101.1 10.0.101.6 10.0.101.8 5-81 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Sample XML Response from the Router 0 3 10.0.101.1 ... data returned for 1st neighbor ... 10.0.101.6 ... data returned for 2nd neighbor ... 10.0.101.6 ... data returned for 3rd neighbor ... 5-82 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques XML Request Using Operation Scope (Content Attribute) The Content attribute is used on any table element in order to specify the scope of a operation. Table 5-1 describes the content attribute values are supported. If the Content attribute is specified on a nontable element, it is ignored. Also, note that the Content and Count attributes can be used together on the same table element. This example displays the Content attribute that is used to list all configured BGP neighbors: Sample XML Client Request Using the All Content Attribute 0 3 Sample XML Response from the Router 0 Table 5-1 Content Attributes Content Attribute Description All Used to get all leaf items and their values. All is the default when the Content attribute is not specified on a table element. Entries Used to get the Naming information for each entry within a specified table object class. Entries provides a one-level get capability.5-83 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 3 10.0.101.1 10.0.101.2 10.0.101.3 10.0.101.4 ... more neighbors returned here ... Limiting the Number of Table Entries Returned (Count Attribute) The Count attribute is used on any table element within a operation to specify the maximum number of table entries to be returned in a response. When the Count attribute is specified, the naming information within the request is used to identify the starting point within the table, that is, the first table entry of interest. If no naming information is specified, the response starts at the beginning of the table. For a table whose entries are containers, the Count attribute can be used only if the Content attribute is also specified with a value of Entries. This restriction does not apply to a table whose children are leaf nodes. As an alternative to the use of the Count attribute, the XML interface supports the retrieval of large XML responses in blocks through iterators. 5-84 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques This example shows how to use the Count attribute to retrieve the configuration information for the first five BGP neighbors starting with the address 10.0.101.1: Sample XML Client Request Using the Count Attribute 0 3 10.0.101.1 Sample XML Response from the Router 0 3 10.0.101.1 5-85 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques 10.0.101.2 ... data returned for remaining neighbors here ... Custom Filtering (Filter Element) Some of the tables from the operational namespace support the selection of rows of interest based on predefined filtering criteria. Filters can be applied to such tables in order to reduce the number of table entries retrieved in a request. Client applications specify filtering criteria for such tables by using the tag and including the filter specific parameters as defined in the XML schema definition for that table. If no table entries match the specified filter criteria, the response contains the object class hierarchy down to the specified table, but does not include any table entries. The Content attribute can be used with a filter to specify the scope of a request. In this example, the filter is used to retrieve operational information for all neighbors in autonomous system 6: Sample XML Client Request Using Filtering one 6 5-86 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Sample Filtered XML Response from the Router one 6 ... data for 1st neighbor returned here ... ... data for 2nd neighbor returned here returned here ... ... data for remaining neighbors returned here ... XML Request Using the Mode Attribute The client application modifies the target configuration as needed using the and operations. The XML interface supports the combining of several operations into a single request. When multiple configuring operations are specified in a single request, they are performed on a “best effort” basis by default. For example, in a case where configuring operations 1 through 3 are in the request and even if operation 2 fails, operation 3 is attempted and operation 1 result remains in the target configuration. To perform the request on an atomic basis, use the Mode attribute with the value Atomic in the . If any errors occur, the target configuration is cleared and the errors are returned to the client application.5-87 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Sample XML Client Request with the Attribute Mode=”Atomic” 20 Sample XML Response from the Router Sample XML Client Request with an Invalid Set Operation (Best-Effort) 20 <--- This is an invalid XML set operation Sample XML Response from the Router 5-88 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques Note This request is performed on a best effort basis. The SNMP timeout configuration has no error and is committed. Sample XML Request and Response of Commit Change for ForCommitID="1000000443" 20 Sample XML Client Request with the Attribute Mode=”Atomic” and with an Invalid Set Operation 20 5-89 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access Techniques <--- This is an invalid XML set operation Sample XML Response from the Router Note The target configuration buffer is cleared and no configuration is committed.5-90 Cisco IOS XR XML API Guide OL-24657-01 Chapter 5 Cisco XML and Native Data Access Techniques Available Set of Native Data Access TechniquesC H A P T E R 6-91 Cisco IOS XR XML API Guide OL-24657-01 6 Cisco XML and Encapsulated CLI Operations XML interface for the router provides support for XML encapsulated CLI commands and responses. This chapter provides information on XML CLI command tags. XML CLI Command Tags A client application can request a CLI command by encoding the text for the command within a pair of start and end tags, tags, and tags. The router responds with the uninterpreted CLI text result. Note XML encapsulated CLI commands use the same target configuration as the corresponding XML operations , , and . When used for CLI operations, the tag supports the optional Operation attribute, which can take one of the values listed in Table 6-1. This example uses the operation tag: Sample XML Client Request for CLI Command Using CLI Tags router bgp 3 Table 6-1 Operational Attribute Values Operational Attribute Value Operational Attribute Value Description Apply Specifies that the commands should be executed or applied (default). Help Gets help on the last command in the list of commands sent in the request. There should not be any empty lines after the last command (because the last command is considered to be the one on the last line). CommandCompletion Completes the last keyword of the last command. Apart from not allowing empty lines at the end of the list of commands sent in the request, when this option is used, there should not be any white spaces after the partial keyword to be completed.6-92 Cisco IOS XR XML API Guide OL-24657-01 Chapter 6 Cisco XML and Encapsulated CLI Operations XML CLI Command Tags default-metric 10 timers bgp 80 160 exit commit sh config commit changes last 1 Sample XML Response from the Router Building configuration... router bgp 3 timers bgp 80 160 default-metric 10 end CLI Command Limitations The CLI commands, which are supported through XML, are limited to CLI configuration commands and EXEC mode show commands (and responses) that are wrapped in tags. These commands and conditions are not supported: • The do configuration mode command. • EXEC mode commands other than show commands except for these items: – show history – show user – show users – show terminal • Administration EXEC mode commands • Iterators for responses to commands issued through XML. For example, iterators are not supported for the output of the show run and show configuration commands. • Sending a request in format and getting back an XML encoded response. • Sending an XML encoded request and getting back a response in format. • Only one XML request can be issued at a time across all client sessions on the router.C H A P T E R 7-93 Cisco IOS XR XML API Guide OL-24657-01 7 Cisco XML and Large Data Retrieval XML for the router supports the retrieval of large XML responses in blocks (for example, chunks or sections). These sections provide information about large data retrieval: • Iterators, page 7-93 • Throttling, page 7-98 • Streaming, page 7-99 Iterators When a client application makes a request, the resulting response data size is checked to determine whether it is larger than a predetermined block size. If the response data is not larger than the predetermined block size, the complete data is returned in a normal response. If the response data is larger than the block size, the first set of data is returned according to the block size along with a decremented iterator ID included as the value of the IteratorID attribute. The client must then send requests including the iterator ID until all data is retrieved. The client application knows that all data is retrieved when it receives a response that does not contain an IteratorID attribute. Usage Guidelines These points should be noted by the client application when iterators are used: • The block size is a configurable value specific to each transport mechanism on the router; that is, the XML agent for the dedicated TCP connection and Secure Shell (SSH), Telnet, or Secure Sockets Layer (SSL) dedicated TCP connection. Use this command to configure the iteration size: xml agent [tty | ssl] iteration on size <1-100000> Specify the iteration size in KB. The default is 48 KB.7-94 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Iterators Note The iteration command includes the option to turn off the XML response iterator. However, we do not recommend turning off the iterator because of the large memory usage that occurs temporarily. • The block size refers to the entire XML response, not just the payload portion of the response. • Large responses are divided based on the requested block size, not the contents. However, each response is always a complete XML document. • Requests containing multiple operations are treated as a single entity when the block size and IteratorID are applied. As a result, the IteratorID is an attribute of the tag, never of an individual operation. • If the client application sends a request that includes an operation resulting in the need for an iterator to return all the response data, any further operations contained within that request are rejected. The rejected operations are resent in another request. • The IteratorID is an unsigned 32-bit value that should be treated as opaque data by the client application. Furthermore, the client application should not assume that the IteratorID is constant between operations. To reduce memory overhead and avoid memory starvation of the router, these limitations are placed on the number of allowed iterators: • The maximum number of iterators allowed at any one time on a given client session is 10. • The maximum number of iterators allowed at any one time for all client sessions is 100. If a request is issued that results in an iterated response, it is counted as one iterator, regardless of the number of operations required to retrieve all of the response data. For example, a request may require 10, 100, or more operations to retrieve all the associated data, but during this process only one iterator is being used. Also, an iterator is considered to be in use until all of the response data associated with that iterator (the original request) is retrieved or the iterator is terminated with the Abort attribute. Examples Using Iterators to Retrieve Data This example shows a client request that utilizes an iterator to retrieve all global Border Gateway Protocol (BGP) configuration data for a specified autonomous system: Sample XML Client Request to Retrieve All BGP Configuration Data 0 3 7-95 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Iterators Sample XML Response from the Router Containing the First Block of Retrieved Data 0 3 ... 1st block of data returned here ... Second XML Client Request Using the Iterator to Retrieve the Next Block of BGP Configuration Data Sample XML Response from the Router Containing the Second Block of Retrieved Data 0 3 7-96 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Iterators Third XML Client Request Using the Iterator to Retrieve the Next Block of BGP Configuration Data Sample XML Response from the Router Containing Third Block of Retrieved Data 0 3 ... 3rd block of data returned here ... Final XML Client Request Using the Iterator to Retrieve the Last Block of BGP Configuration Data Final XML Response from the Router Containing the Final Block of Retrieved Data 0 3 ... Final block of data returned here ... 7-97 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Iterators Large Response Division The default behavior for large response division is that large responses are divided based on the requested block size. To specify a different basis for the division, use the IterateAtFirstTableGet attribute in the tag. Sample XML Request with attribute IterateAtFirstTable Terminating an Iterator A client application may terminate an iterator without retrieving all of the response data by including an Abort attribute with a value of “true” on the operation. A client application that does not complete or terminate its requests risks running out of iterators. This example shows a client request using the Abort attribute to terminate an iterator: Sample XML Request 0 7-98 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Throttling 3 Sample XML Response from the Router 0 3 ... 1st block of data returned here ... Sample XML Request Using the Abort Attribute to Terminate an Iterator Sample XML Response from the Router Throttling XML response data could be large resulting in high CPU utilization or high memory usage when constructing the XML response. Throttling mechanisms in the XML agent provide a means for external users or an NMS to control the impact to the system.7-99 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval Streaming CPU Throttle Mechanism The CPU throttle mechanism in the XML agent controls the number of tags to process per second. The higher the number of tags that are specified, the higher the CPU utilization and faster response. The lower number of tags means less CPU utilization and slower response. To configure the number of tags, use this command: xml agent [tty | ssl] throttle process-rate <1000-30000> Memory Throttle Mechanism The memory throttle mechanism in the XML agent controls the maximum XML response size in MB. If this size is exceeded, this error message is returned in the XML response. > XML> > To configure the size of the memory usage per session, use this command: xml agent [tty | ssl] throttle memory <100-600> The default is 300 MB. Streaming As the XML agent retrieves the data from the source, the output of a response is streamed. This process is similar to iterators, but the XML client does not run the GetNext IteratorID to handle large response data size. Usage Guidelines Use these guidelines when streaming is used by the client application: • Iteration must be off. xml agent [tty | ssl] iteration off • The sub-response block size is a configurable value specific to each transport mechanisms on the router: the XML agent for the dedicated TCP connection and Secure Shell (SSH), Telnet, or Secure Sockets Layer (SSL) dedicated TCP connection. Use this command to configure the streaming size. Specify the streaming size in KB. The default is 48 KB. xml agent [tty | ssl] streaming on size <1-100000>7-100 Cisco IOS XR XML API Guide OL-24657-01 Chapter 7 Cisco XML and Large Data Retrieval StreamingC H A P T E R 8-101 Cisco IOS XR XML API Guide OL-24657-01 8 Cisco XML Security Specific security privileges are required for a client application requesting information from the router. This chapter contains these sections: • Authentication, page 8-101 • Authorization, page 8-101 • Retrieving Task Permissions, page 8-102 • Task Privileges, page 8-102 • Task Names, page 8-103 • Authorization Failure, page 8-104 • Management Plane Protection, page 8-104 • VRF, page 8-105 • Access Control List, page 8-105 Authentication User authentication through authentication, authorization, and accounting (AAA) is handled on the router by the transport-specific XML agent and is not exposed through the XML interface. Authorization Every operation request by a client application is authorized. If the client is not authorized to perform an operation, the operation is not performed by the router and an error is returned. Authorization of client requests is handled through the standard AAA “task permissions” mechanism. The XML agent caches the AAA user credentials obtained from the user authentication process, and then each client provides these to the XML infrastructure on the router. As a result, no AAA information needs to be passed in the XML request from the client application. Each object class in the schema has a task ID associated with it. A client application’s capabilities and privileges in terms of task IDs are exposed by AAA through a show command. A client application can use the XML interface to retrieve the capabilities prior to sending configuration requests to the router. A client application requesting an operation through the XML interface must have the appropriate task privileges enabled or assigned for any objects accessed in the operation:8-102 Cisco IOS XR XML API Guide OL-24657-01 Chapter 8 Cisco XML Security Retrieving Task Permissions • operations require AAA “read” privileges. • and operations require AAA “write” privileges. The “configuration services” operations through configuration manager can also require the appropriate predefined task privileges. If an operation requested by a client application fails authorization, an appropriate element is returned in the response sent to the client. For “native data” operations, the element is associated with the specific element or object classes where the authorization error occurred. Retrieving Task Permissions A client application’s capabilities and privileges in terms of task permissions are exposed by AAA through CLI show commands. A client application can also use the XML interface to programatically retrieve the current AAA capabilities from the router. This retrieval can be done by issuing the appropriate request to the component. This example shows a request to retrieve all of the AAA configuration from the router: Sample XLM Request to Retrieve AAA Configuration Information Sample XML Response from the Router . . . AAA configuration returned here . . . Task Privileges A client application requesting a native data operation through the XML interface must have the appropriate task privileges enabled or assigned for any items accessed in the operation: • , , and operations require AAA “read” privileges. • and operations require AAA “write” privileges.8-103 Cisco IOS XR XML API Guide OL-24657-01 Chapter 8 Cisco XML Security Task Names The “configuration services” operations through the configuration manager can also require the appropriate predefined task privileges. Task Names Each object (that is, data item or table) exposed through the XML interface and accessible to the client application has one or more task names associated with it. The task names are published in the XML schema documents as annotations. For example, the complex type definition for the top-level element in the Border Gateway Protocol (BGP) configuration schema contains this annotation: Container 18 0 bgp native_data_operations Configuration Here is another example from a different component schema. This annotation includes a list of task names. 1 0 ouni mpls-te Task names indicate what permissions are required to access the data below the object. In the example, the task names ouni and mpls-te are specified for the object. The task names apply to the object and are inherited by all the descendants of the object in the schema. In other words, the task names that apply to a particular object are the task names specified for the object and the task names of all ancestors for which there is a task name specified in the schema. The TaskGrouping attribute specifies the logical relationship among the task names when multiple task names are specified for a particular object. For example, for a client application to issue a request for the object containing the preceding annotation, the corresponding AAA user credentials must have read permissions set for both the ouni and mpls-te tasks (and any tasks inherited by the object). The possible values for the TaskGrouping attribute are And, Or, and Single. The value Single is used when there is only a single task name specified for the object.8-104 Cisco IOS XR XML API Guide OL-24657-01 Chapter 8 Cisco XML Security Authorization Failure Authorization Failure If an operation requested by a client application fails authorization, an appropriate element is returned in the response sent to the client. For “native data” operations, the element is associated with the specific element or object where the authorization error occurred. If a client application issues a request to retrieve all data below a container object, and if any subsections of that data require permissions that the user does not have, then an error is not returned. Instead, the subsection of data is not included in the response. Management Plane Protection Management Plane Protection (MPP) provides a mechanism for securing management traffic on the router. Without MPP, a management service’s traffic can come through any interface with a network address, which could be a security risk. MPP is effective when XML is configured. Inband Traffic To configure the MPP for inband traffic, use the command in this example: RP/0/0/CPU0:router(config)#control-plane management-plane inband interface [interface type] allow [protocol|all] where the protocol is XML. RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$Ethernet 0/0/0/0 allow XML ? peer Configure peer address on this interface RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$Ethernet 0/0/0/0 allow XML peer ? address Configure peer address on this interface RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$Ethernet 0/0/0/0 allow XML peer address ? ipv4 Configure peer IPv4 address on this interface ipv6 Configure peer IPv6 address on this interface RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$Ethernet 0/0/0/0 allow XML peer address Out-of-Band Traffic To configure the MPP for out-of-band traffic, use the command in this example: RP/0/0/CPU0:router(config)#control-plane management-plane out-of-band interface [interface type] allow [protocol|all] where the protocol is XML. RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$gabitEthernet 0/0/0/1 allow XML ? peer Configure peer address on this interface RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$gabitEthernet 0/0/0/1 allow XML peer ? address Configure peer address on this interface 8-105 Cisco IOS XR XML API Guide OL-24657-01 Chapter 8 Cisco XML Security VRF RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$ XML peer address ? ipv4 Configure peer IPv4 address on this interface ipv6 Configure peer IPv6 address on this interface RP/0/RSP0/CPU0:PE44_ASR-9010(config)#$ XML peer address VRF XML agents can be configured to virtual route forwarding (VRF) aware. • To configure the dedicated agent [ssl] to receive or send messages through VRF, use this command: RP/0/0/CPU0:router(config)#xml agent [ssl] vrf • To configure the dedicated [ssl] agent NOT to receive or send messages through the default VRF, use this command: RP/0/0/CPU0:Router(config)#xml agent [ssl] vrf default shutdown Access Control List To configure an access control list (ACL) for XML agents, use this command: RP/0/0/CPU0:router(config)#xml agent [ssl] vrf access-list IPv6 Access List Example xml agent [ssl] vrf ipv6 access-list IPv4 and IPv6 Access Lists Example xml agent [ssl] vrf ipv4 access-list ipv6 access-list ! ! Note This method to configure an IPv4 access-list is still supported (for backward compatibility) but hidden from CLI help. xml agent [ssl] vrf access-list ! !8-106 Cisco IOS XR XML API Guide OL-24657-01 Chapter 8 Cisco XML Security Access Control ListC H A P T E R 9-107 Cisco IOS XR XML API Guide OL-24657-01 9 Cisco XML Schema Versioning Before the router can carry out a client application request, it must verify version compatibility between the client request and router component versions. Major and minor version numbers are included on the and elements to indicate the overall XML application programming interface (API) version in use by the client application and router. In addition, each component XML schema exposed through the XML API has a major and minor version number associated with it. This chapter describes the format of the version information exchanged between the client application and the router, and how the router uses this information at run time to check version compatibility. This chapter contains these sections: • Major and Minor Version Numbers, page 9-107 • Run-Time Use of Version Information, page 9-108 • Retrieving Version Information, page 9-113 • Retrieving Schema Detail, page 9-115 Major and Minor Version Numbers The top-level or root object (that is, element) in each component XML schema carries the major and minor version numbers for that schema. A minor version change is defined as an addition to the XML schema. All other changes, including deletions and semantic changes, are considered major version changes. The version numbers are documented in the header comment contained in the XML schema file. They are also available as annotations included as part of the complex type definition for the top-level schema element. This enables you to programmatically extract the version numbers from the XML schema file to include in XML request instances sent to the router. The version numbers are carried in the XML instances using the MajorVersion and MinorVersion attributes. This example shows the relevant portion of the complex type definition for an element that carries version information: BGP Configuration Commands Container 24 0 9-108 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Run-Time Use of Version Information bgp native_data_operations Configuration . . . . . .. The attribute group VersionAttributeGroup is defined as: Common version information attributes Run-Time Use of Version Information Each XML request must contain the major and minor version numbers of the client at the appropriate locations in the XML. These version numbers are compared to the version numbers running on the router. The behavior of the router, whether the request is accepted or rejected, depends on the value set for the AllowVersion MisMatch attribute. All requests are accepted when the AllowVersionMismatch attribute is set as TRUE. The request is then accepted or rejected based on these rules when the AllowVersionMismatch attribute is set as FALSE: • If there is a major version discrepancy, then the request fails. • If there is a minor version lag, that is, the client minor version is behind that of the router, then the request is attempted. • If there is a minor version creep, that is, the client minor version is ahead of that of the router, then the request fails. • If the version information has not been included in the request, then the request fails. • The default value is used when the request does not specify the AllowVersionMismatch attribute. The default value is currently set as TRUE. Each XML response can also contain the version numbers at the appropriate locations in the XML.9-109 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Run-Time Use of Version Information Note If the client minor version is behind that of the router, then the response may contain elements that are not recognized by the client application. The client application must be able to handle these additional elements. Placement of Version Information This example shows the placement of the MajorVersion and MinorVersion attributes within a client request to retrieve the global BGP configuration data for a specified autonomous system: Sample Client Request Showing Placement of Version Information 0 3 Sample XML Response from the Router 0 3 ... data returned here ... 9-110 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Run-Time Use of Version Information Version Lag with the AllowVersionMisMatch Attribute Set as TRUE The example shows a request and response with a version mismatch. In this case, because the AllowVersionMismatch attribute is set as TRUE, the request is attempted. This is also the default behavior when AllowVersionMismatch attribute is not specified in the request. The router attempts the request and if the request is successful returns a VersionMismatchExists attribute at the appropriate point within the response along with a VersionMismatchExistsBelow attribute on the operation tag. Note The version number, which is returned in the response, is the version running on the router. The versions in this example are hypothetical. Sample XML Client Request with a Version Mismatch 0 3 Sample XML Response from the Router VersionMismatchExists=”true”> 0 3 ... data returned here ... 9-111 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Run-Time Use of Version Information Version Lag with the AllowVersionMismatch Attribute Set as FALSE The example shows a request and response with a version mismatch, but the request specifies the AllowVersionMisMatch attribute as FALSE. In this case, the client minor version is behind the router, so the request is still attempted, but VersionMismatchExists and VersionMismatchExistsBelow attributes are not returned in the response. Note The version number returned is the response is the version number running on the router. The versions in this example are hypothetical. Sample XML Client Request with the AllowVersionMismatch Attribute Set as False 0 3 Sample XML Response from the Router 0 3 ... data returned here ... 9-112 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Run-Time Use of Version Information Version Creep with the AllowVersionMisMatch Attribute Set as TRUE The example shows a request and response with a version mismatch. In this case, the client is the AllowVersionMismatch attribute and is set as TRUE. The request is attempted. Note The version number returned is the response is the version number running on the router. The versions in this example are hypothetical. Sample XML Request with an AllowVersion Mismatch Attribute Set as TRUE 0 3 Sample XML Response from the Router VersionMismatchExists=”true”> 0 3 ... data returned here ... 9-113 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Retrieving Version Information Version Creep with the AllowVersionMisMatch Attribute Set as FALSE The example shows a request and response with a version mismatch. In this case, the client minor version is ahead of the router minor version, which results in an error response. Sample XML Request with an AllowVersion Mismatch Attribute Set as FALSE Sample XML Response from the Router ErrorMsg="'XML Service Library' detected the 'warning' condition 'An error was encountered in the XML beneath this operation tag'" > Retrieving Version Information The version of the XML schemas running on the router can be retrieved using the tag followed by the appropriate tags identifying the names of the desired components. In this example, the tag is used to retrieve the major and minor version numbers for the BGP component configuration schema: Sample XML Request to Retrieve Major and Minor Version Numbers Sample XML Response from the Router 9-114 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Retrieving Version Information This example shows how to retrieve the version information for all configuration schemas available on the router: Sample XML Request to Retrieve Version Information for All Configuration Schemas Sample XML Response from the Router .... .... ... 9-115 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Retrieving Schema Detail Retrieving Schema Detail The SchemaDetail boolean attribute can now be specified on the operation to instruct the router to return additional schema detail in the response. If the SchemaDetail attribute is specified in the request, each schema entity in the response contains three additional boolean attributes listed in Table 9-1. This example shows a request and response with the SchemaDetail attribute: Sample XML Client Request for Schema Detail Sample XML Response from the Router ... . .. Table 9-1 Content Attributes Content Attribute Description ContainsNaming Indicates whether or not the schema entity contains naming information. Getable Indicates whether or not operations are supported for this schema. Setable Indicates whether or not operations are supported for this schema.9-116 Cisco IOS XR XML API Guide OL-24657-01 Chapter 9 Cisco XML Schema Versioning Retrieving Schema Detail C H A P T E R 10-117 Cisco IOS XR XML API Guide OL-24657-01 10 Alarms The Cisco IOS XR XML API supports the registration and receipt of notifications; for example, asynchronous responses such as alarms, over any transport. The system supports alarms and event notifications over XML/SSH. An asynchronous registration request is followed by a synchronous response and any number of asynchronous responses. If a client wants to stop receiving a particular set of asynchronous responses at a later stage, the client sends a deregistration request. One type of notification that is supported by the Cisco IOS XR XML API is alarms; for example, syslog messages. The alarms that are received are restricted by a filter, which is specified in the registration request. An alarm registration request is followed by a synchronous response. If successful, the synchronous response contains a RegistrationID, which is used by the client to uniquely identify the applicable registration. A client can make many alarm registrations. If a client wants to stop receiving a particular set of alarms at a later stage, the client can send a deregistration request for the relevant RegistrationID or all Registration IDs for the session. When an asynchronous response is received that contains an alarm, the registration that resulted in the alarm is determined from the RegistrationID. These sections describe the XML used for every operation: • Alarm Registration, page 10-117 • Alarm Deregistration, page 10-118 • Alarm Notification, page 10-119 Alarm Registration Alarm registration and deregistration requests and responses and alarm notifications use the operation tag to distinguish them from other types of XML operations. A registration request contains the tag, which is followed by several tags that specify the filter requirement. If registration for all alarms is required, no filter is specified. These filter criteria are listed: • SourceID • Category • Group • Context • Code10-118 Cisco IOS XR XML API Guide OL-24657-01 Chapter 10 Alarms Alarm Deregistration • Severity • BiStateOnly If it succeeds, the response contains a tag with a RegistrationID attribute. If it fails, the filter tag that caused the error appears with an error message attribute. This example shows a registration request to receive all alarms for configuration change; for example, commit notifications: Sample XML Request from the Client Application CONFIG DB_COMMIT Sample XML Response from the Router Response MajorVersion="1" MinorVersion="0"> Note If a second registration is made with the same filter, or if the filters with two registrations overlap, these alarms that match both registrations are received twice. In general, each alarm is received once for each registration that it matches. If a session ends (for example, the connection is dropped), all registrations are automatically canceled. Alarm Deregistration An alarm deregistration request consists of the operation tag followed by the tag, with the optional attribute RegistrationID. If RegistrationID is specified, the value must be that returned from a previous registration request. The registration with that ID must not have already been deregistered or an error is returned. If it is not specified, the request results in all alarm registrations for that session being deregistered. This example shows a deregistration request for the RegistrationID returned from the registration request example: Sample XML Request from the Client Application 10-119 Cisco IOS XR XML API Guide OL-24657-01 Chapter 10 Alarms Alarm Notification Sample XML Response from the Router Alarm Notification Alarm notifications are contained within a pair of tags to distinguish them from normal responses. Each notification contains one or more alarms, each of which is contained within a pair of tags. The tags have an attribute RegistrationID, where the value is the RegistrationID returned in the registration that resulted in the alarm. The tags contain these fields for the alarm: • SourceID • EventID • Timestamp • Category • Group • Code • Severity • State • CorrelationID • AdditionalText This example shows the configuration commit alarm notification: RP/0/0/CPU0 84 1077270612 MGBL CONFIG DB_COMMIT Informational NotAvailable 0 config[65704]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'admin'. Use 'show commit changes 1000000490' to view the changes. 10-120 Cisco IOS XR XML API Guide OL-24657-01 Chapter 10 Alarms Alarm NotificationC H A P T E R 11-121 Cisco IOS XR XML API Guide OL-24657-01 11 Error Reporting in Cisco XML Responses The XML responses returned by the router contains error information as appropriate, including the operation, object, and cause of the error when possible. The error codes and messages returned from the router may originate in the XML agent or in one of the other infrastructure layers; for example, the XML Service Library, XML Parser Library, or Configuration Manager. Types of Reported Errors Table 11-1 lists the types of potential errors in XML Responses. These error categories are described in these sections: • Error Attributes, page 11-122 • Transport Errors, page 11-122 • XML Parse Errors, page 11-122 • XML Schema Errors, page 11-123 Table 11-1 Reported Error Types Error Type Description Transport errors Transport-specific errors are detected within the XML agent (and include failed authentication attempts). XML parse errors XML format or syntax errors are detected by the XML Parser Library (and include errors resulting from malformed XML, mismatched XML tags, and so on). XML schema errors XML schema errors are detected by the XML operation provider within the infrastructure (and include errors resulting from invalid operation types, invalid object hierarchies, values out of range, and so on). Operation processing errors Operation processing errors are errors encountered during the processing of an operation, typically as a result of committing the target configuration (and include errors returned from Configuration Manager and the infrastructure such as failed authorization attempts, and “invalid configuration errors” returned from the back-end Cisco IOS XR applications). 11-122 Cisco IOS XR XML API Guide OL-24657-01 Chapter 11 Error Reporting in Cisco XML Responses Types of Reported Errors • Operation Processing Errors, page 11-125 • Error Codes and Messages, page 11-126 Error Attributes If one or more errors occur during the processing of a requested operation, the corresponding XML response includes error information for each element or object class in error. The error information is included in the form of ErrorCode and ErrorMsg attributes providing a relevant error code and error message respectively. If one or more errors occur during the processing of an operation, error information is included for each error at the appropriate point in the response. In addition, error attributes are added at the operation element level. As a result, the client application does not have to search through the entire response to determine if an error has occurred. However, the client can still search through the response to identify each of the specific error conditions. Transport Errors Transport-specific errors, including failed authentication attempts, are handled by the appropriate XML agent. XML Parse Errors This general category of errors includes those resulting from malformed XML and mismatched XML tags. The router checks each XML request, but does not validate the request against an XML schema. If the XML contains invalid syntax and thus fails the well-formedness check, the error indication is returned in the form of error attributes placed at the appropriate point in the response. In such cases, the response may not contain the same XML as was received in the request, but just the portions to the point where the syntax error was encountered. In this example, the client application sends a request to the router that contains mismatched tags, that is, the opening tag is not paired with a closing tag. This example illustrates the format and placement of the error attributes. Note The actual error codes and messages might be different than what is shown in this example. Also, the actual error attributes does not contain new line characters. Sample XML Client Request Containing Mismatched Tags 0 311-123 Cisco IOS XR XML API Guide OL-24657-01 Chapter 11 Error Reporting in Cisco XML Responses Types of Reported Errors Sample XML Response from the Router XML Schema Errors XML schema errors are detected by the XML operation providers. This general category of errors includes those resulting from invalid operation types, invalid object hierarchies, and invalid naming or value elements. However, some schema errors may go undetected because, as previously noted, the router does not validate the request against an XML schema. In this example, the client application has requested a operation specifying an object that does not exist at this location in the Border Gateway Protocol (BGP) component hierarchy. This example illustrates the format and placement of the error attributes. Note The actual error codes and messages may be different than those shown in the example. Sample XML Client Request Specifying an Invalid Object Hierarchy 0 3 10 11-124 Cisco IOS XR XML API Guide OL-24657-01 Chapter 11 Error Reporting in Cisco XML Responses Types of Reported Errors Sample XML Response from the Router 0 3 This example also illustrates a schema error. In this case, the client application has requested a operation specifying a value for the object that is not within the range of valid values for this item. Sample XML Request Specifying an Invalid Object Value Range 0 3 6000 11-125 Cisco IOS XR XML API Guide OL-24657-01 Chapter 11 Error Reporting in Cisco XML Responses Types of Reported Errors Sample XML Response from the Router 0 3 Operation Processing Errors Operation processing errors include errors encountered during the processing of an operation, typically as a result of committing the target configuration after previous or operations. While processing an operation, errors are returned from Configuration Manager and the infrastructure, failed authorization attempts occur, and “invalid configuration errors” are returned from the back-end Cisco IOS XR applications. This example illustrates an operation processing error resulting from a request specifying an unrecognized iterator ID: Sample XML Client Request and Processing Error Sample XML Response from the Router 11-126 Cisco IOS XR XML API Guide OL-24657-01 Chapter 11 Error Reporting in Cisco XML Responses Types of Reported Errors Error Codes and Messages The error codes and messages returned from the router may originate in any one of several components. The error codes (cerrnos) returned from these layers are 32-bit integer values. In general, for a given error condition, the error message returned in the XML is the same as the error message displayed on the CLI.C H A P T E R 12-127 Cisco IOS XR XML API Guide OL-24657-01 12 Summary of Cisco XML API Configuration Tags Table 12-1 provides the CLI to XML application programming interface (API) tag mapping for the router target configuration. Table 12-1 CLI Command or Operation to XML Tag Mapping CLI Command or Operation XML Tag To end, abort, or exit 1 (from top config mode) 2 clear show config with show config running with show config merge with show config failed with followed by with configure exclusive 3 4 To change the selected config with To delete the selected config with commit best-effort commit show config failed with show commit changes commitid with show commit changes since commitid with rollback configuration to commitid with rollback configuration last number with show rollback changes to commitid with show rollback changes last number with 12-128 Cisco IOS XR XML API Guide OL-24657-01 Chapter 12 Summary of Cisco XML API Configuration Tags show rollback points show configuration sessions 1. These CLI operations end the configuration session and unlock the running configuration session if it is locked. 2. This XML tag releases the lock on a running configuration but does not end the configuration session. 3. This CLI command starts a new configuration session and locks the running configuration. 4. This XML tag locks the running configuration from a configuration session that is already in progress. Table 12-1 CLI Command or Operation to XML Tag Mapping (continued) CLI Command or Operation XML TagC H A P T E R 13-129 Cisco IOS XR XML API Guide OL-24657-01 13 XML Transport and Event Notifications This chapter contains these sections: • TTY-Based Transports, page 13-129 • Dedicated Connection Based Transports, page 13-131 • SSL Dedicated Connection based Transports, page 13-133 TTY-Based Transports These sections describe how to use the TTY-based transports: • Enabling the TTY XML Agent, page 13-129 • Enabling a Session from a Client, page 13-130 • Sending XML Requests and Receiving Responses, page 13-130 • Configuring Idle Session Timeout, page 13-132 • Ending a Session, page 13-130 • Errors That Result in No XML Response Being Produced, page 13-131 Enabling the TTY XML Agent To enable the TTY agent on the router, which is ready to handle incoming XML sessions over Telnet and Secured Shell (SSH), enter the xml agent tty command, as shown in this example: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# xml agent tty RP/0/RP0/CPU0:router(config)# commit RP/0/RP0/CPU0:router(config)# exit For more information about the xml agent tty command, see Cisco IOS XR System Management Configuration Guide. TTY (SSH) agent is telnet based, so IPv6 addressing is supported.13-130 Cisco IOS XR XML API Guide OL-24657-01 Chapter 13 XML Transport and Event Notifications TTY-Based Transports Enabling a Session from a Client To enable a session from a remote client, invoke SSH or Telnet to establish a connection with the management port on the router. When prompted by the transport protocol, enter a valid username and password. After you have successfully logged on, enter xml at the router prompt to be in XML mode. A maximum of 50 XML sessions total can be started over a dedicated port, TTY, SSH, and Secure Sockets Layer (SSL) dedicated port. Note You should use, if configured, either the management port or any of the external interfaces rather than a connection to the console or auxiliary port. The management port can have a significantly higher bandwidth and offer better performance. Sending XML Requests and Receiving Responses To send an XML request, write the request to the Telnet/SSH session. The session can be used interactively; for example, typing or pasting the XML at the XML> prompt from a window. Note The XML request must be followed by a new-line character; for example, press Return, before the request is processed. Any responses, either synchronous or asynchronous, are also displayed in the session window. The end of a synchronous response is always represented with and asynchronous responses (for example), notifications, end with . The client application is single threaded in the context of one session and sends requests synchronously; for example, requests must not be sent until the response to the previous request is received. Configuring Idle Session Timeout When a session times out, the resource from that session is reclaimed. By default, XML agents do not have an idle session timeout. To configure the idle session timeout in minutes for the XML agents, use this command: xml agent [tty | ssl] session timeout <1-1440> Ending a Session If you are using a session interactively from a terminal window, you can close the window. To manually exit the session, at the prompt: 1. Enter the exit command to end XML mode. 2. Enter the exit command to end the Telnet/SSH session.13-131 Cisco IOS XR XML API Guide OL-24657-01 Chapter 13 XML Transport and Event Notifications Dedicated Connection Based Transports Errors That Result in No XML Response Being Produced If the XML infrastructure is unable to return an XML response, the TTY agent returns an error code and message in the this format: ERROR: 0x%x %s\n Dedicated Connection Based Transports These sections describe how to use the dedicated connection-based transports: • Enabling the Dedicated XML Agent, page 13-131 • Enabling a Session from a Client, page 13-132 • Sending XML Requests and Receiving Responses, page 13-132 • Configuring Idle Session Timeout, page 13-132 • Ending a Session, page 13-132 • Errors That Result in No XML Response Being Produced, page 13-132 Enabling the Dedicated XML Agent To enable the dedicated agent on the router, which is ready to handle incoming XML sessions over a dedicated TCP port (38751), enter the xml agent command, as shown in the following example: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# xml agent RP/0/RP0/CPU0:router(config)# aaa authorization exec default local RP/0/RP0/CPU0:router(config)# commit RP/0/RP0/CPU0:router(config)# exit For more information about the xml agent command, see Cisco IOS XR System Management Configuration Guide. The default addressing protocol for the XML dedicated agent is • IPv4 enabled • IPv6 disabled To configure a dedicated agent to receive and send messages through IPv6 protocol: xml agent ipv6 enable To configure dedicated agent to disable IPv4 protocol xml agent ipv4 disable To receive and send messages only through IPv6 protocol: xml agent ipv4 disable xml agent ipv6 enable13-132 Cisco IOS XR XML API Guide OL-24657-01 Chapter 13 XML Transport and Event Notifications Dedicated Connection Based Transports Enabling a Session from a Client To enable a session from a remote client, establish a TCP connection with the dedicated port (38751) on the router. When prompted, enter a valid username and password. After you have successfully logged on, the session is in XML mode and is ready to receive XML requests. A maximum of 50 XML sessions total can be started over dedicated port, TTY, SSH, and SSL dedicated port. Sending XML Requests and Receiving Responses To send an XML request, write the request to the established session. The session can be used interactively; for example, typing or pasting the XML at the XML> prompt from a window. Note The XML request must be followed by a new-line character; for example, press Return, before the request is processed. Any responses, either synchronous or asynchronous, are also displayed in the session window. The end of a synchronous response is always represented with and asynchronous responses (for example), notifications, end with . The client application is single threaded in the context of one session and sends requests synchronously; for example, requests must not be sent until the response to the previous request is received. Configuring Idle Session Timeout When a session times out, the resource from that session is reclaimed. By default, XML agents do not have an idle session timeout. To configure the idle session timeout in minutes for the XML agents, use this command: xml agent [tty | ssl] session timeout <1-1440> Ending a Session If you are using a session interactively from a terminal window, you can close the window. To manually exit the session, at the prompt: 1. Enter the exit command to end XML mode. 2. Enter the exit command to end the Telnet/SSH session. Errors That Result in No XML Response Being Produced If the XML infrastructure is unable to return an XML response, the TTY agent returns an error code and message in this format: ERROR: 0x%x %s\n13-133 Cisco IOS XR XML API Guide OL-24657-01 Chapter 13 XML Transport and Event Notifications SSL Dedicated Connection based Transports SSL Dedicated Connection based Transports These sections describe how to use the dedicated connection based transports: • Enabling the SSL Dedicated XML Agent, page 13-133 • Enabling a Session from a Client, page 13-133 • Sending XML Requests and Receiving Responses, page 13-133 • Configuring Idle Session Timeout, page 13-134 • Ending a Session, page 13-134 • Errors That Result in No XML Response Being Produced, page 13-134 Enabling the SSL Dedicated XML Agent To enable the SSL dedicated agent on the router, which is ready to handle incoming XML sessions over dedicated TCP port (38752), enter the xml agent command, as shown in this example: RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# xml agent ssl RP/0/RP0/CPU0:router(config)# aaa authorization exec default local RP/0/RP0/CPU0:router(config)# commit RP/0/RP0/CPU0:router(config)# exit Note The k9sec package is required to use the SSL agent. The configuration is rejected during a commit when the k9sec package is not active on the system. When the k9sec package is deactivated after configuring the SSL agent, the agent is not available. The SSL dedicated agent uses IPSec, so IPv6 addressing is supported. Enabling a Session from a Client To enable a session from a remote client, establish a TCP connection with the dedicated port (38752) on the router. When prompted, enter a valid username and password. After you have successfully logged on, the session is in XML mode and is ready to receive XML requests. A maximum of 50 XML sessions can be started over a dedicated port, TTY, SSH, and a SSL dedicated port. Sending XML Requests and Receiving Responses To send an XML request, write the request to the established session. The session can be used interactively; for example, typing or pasting the XML at the XML> prompt from a window. The XML request must be followed by a new-line character. For example, press Return before the request is processed. Any responses, either synchronous or asynchronous, are also displayed in the session window. The end of a synchronous response is always represented with . Asynchronous responses end with . 13-134 Cisco IOS XR XML API Guide OL-24657-01 Chapter 13 XML Transport and Event Notifications SSL Dedicated Connection based Transports The client application is single threaded in the context of one session and sends requests synchronously. Requests must not be sent until the response to the previous request is received. Configuring Idle Session Timeout When a session times out, the resource from that session is reclaimed. By default, XML agents do not have an idle session timeout. To configure the idle session timeout in minutes for the XML agents, use this command: xml agent [tty | ssl] session timeout <1-1440> Ending a Session If you are using a session interactively from a terminal window, you can close the window. To manually exit the session, at the prompt: 1. Enter the exit command to end XML mode. 2. Enter the exit command to end the Telnet/SSH session. Errors That Result in No XML Response Being Produced If the XML infrastructure is unable to return an XML response, the SSL dedicated agent returns an error code and message in this format: ERROR: 0x%x %s\n C H A P T E R 14-135 Cisco IOS XR XML API Guide OL-24657-01 14 Cisco XML Schemas This chapter contains information about common XML schemas. The structure and allowable content of the XML request and response instances supported by the Cisco IOS XR XML application programming interface (API) are documented by means of XML schemas (.xsd files). The XML schemas are documented using the standard World Wide Web Consortium (W3C) XML schema language, which provides a much more powerful and flexible mechanism for describing schemas than can be achieved using Document Type Definitions (DTDs). The set of XML schemas consists of a small set of common high-level schemas and a larger number of component-specific schemas as described in this chapter. For more information on the W3C XML Schema standard, see this URL: http://www.w3.org/XML/Schema This chapter contains these sections: • XML Schema Retrieval, page 14-135 • Common XML Schemas, page 14-136 • Component XML Schemas, page 14-136 XML Schema Retrieval The XML schemas that belong to the features in a particular package are obtained as a .tar file from cisco.com. To retrieve the XML schemas, you must: 1. Click this URL to display the Downloads page: http://tools.cisco.com/support/downloads/go/Redirect.x?mdfid=268437899 Note Select Downloads. Only customer or partner viewers can access the Download Software page. Guest users will get an error. 2. Select Cisco IOS XR Software. 3. Select IOS XR XML Schemas. 4. Select the XML schema for your platform. Once untarred, all the XML schema files appear as a flat directory of .xsd files and can be opened with any XML schema viewing application, such as XMLSpy.14-136 Cisco IOS XR XML API Guide OL-24657-01 Chapter 14 Cisco XML Schemas Common XML Schemas Common XML Schemas Among the .xsd files that belong to a BASE package are the common Cisco IOS XR XML schemas that include definitions of the high-level XML request and response instances, operations, and common datatypes. These common XML schemas are listed: • alarm_operations.xsd • config_services_operations.xsd • cli_operations.xsd • common_datatypes.xsd • xml_api_common.xsd • xml_api_protocol.xsd • native_data_common.xsd • native_data_operations.xsd Component XML Schemas In addition to the common XML schemas, component XML schemas (such as native data) are provided and contain the data model for each feature. There is typically one component XML schema for each major type of data supported by the component—configuration, operational, action, administration operational, and administration action data—plus any complex data type definitions in the operational space. Note Sometimes common schema files exist for a component that contain resources used by the component’s other schema files (for example, the data types to be used by both configuration data and operational data). You should use only the XML objects that are defined in the XML schema files. You should not use any unpublished objects that may be shown in the XML returned from the router. Schema File Organization There is no hard link from the high-level XML request schemas (namespace_types.xsd) and the component schemas. Instead, links appear in the component schemas in the form of include elements that specify the file in which the parent element exists. The name of the component .xsd file also indicates where in the hierarchy the file’s contents reside. If the file ends with _cfg.xsd, it appears as a child of “Configuration”; if it ends with _if_cfg.xsd, it appears as a child of “InterfaceConfiguration”, and so on. In addition, the comment header in each .xsd file names the parent object of each top level object in the schema.14-137 Cisco IOS XR XML API Guide OL-24657-01 Chapter 14 Cisco XML Schemas Component XML Schemas Schema File Upgrades If a new version of a schema file becomes available (or has to be uploaded to the router as part of an upgrade), the new version of the file can replace the old version of the file in a straight swap. All other files are unaffected. Therefore, if a component is replaced, only the .xsd files pertaining to that component is replaced.14-138 Cisco IOS XR XML API Guide OL-24657-01 Chapter 14 Cisco XML Schemas Component XML SchemasC H A P T E R 15-139 Cisco IOS XR XML API Guide OL-24657-01 15 Network Configuration Protocol Network Configuration Protocol (NETCONF) defines an XML-based interface between a network device and a network management system to provide a mechanism to manage, configure, and monitor a network device. In Cisco IOS-XR, NMS applications use defined XML schemas to manage network devices from multiple vendors. These capabilities are supported from a Cisco IOS XR agent to a client: • TTY NETCONF session—Logon through telnet and then enter the netconf command. • SSH NETCONF session—Logon through SSH and then enter the netconf command. This example shows a message that the agent sends to a client: urn:ietf:params:netconf:base:1.0 urn:ietf:params:netconf:capability:candidate:1.0 4 These sections about NETCONF are covered: • Starting a NETCONF Session, page 15-139 • Ending a NETCONF Agent Session, page 15-140 • Starting an SSH NETCONF Session, page 15-140 • Ending an SSH NETCONF Agent Session, page 15-141 • Configuring a NETCONF agent, page 15-141 • Limitations of NETCONF in Cisco IOS XR, page 15-142 Starting a NETCONF Session To start a NETCONF session, enter the netconf command from the exec prompt (through telnet or SSH). This example shows how to start a TTY NETCONF agent session: client(/users/ore)> telnet 1.66.32.82 Trying 1.66.32.82... Connected to 1.66.32.82.15-140 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Ending a NETCONF Agent Session Escape character is '^]'. User Access Verification Username: Password: RP/0/1/CPU0:Router# netconf echo format urn:ietf:params:netconf:base:1.0 urn:ietf:params:netconf:capability:candidate:1.0 4 ]]>]]> When a new session is created, the NETCONF agent immediately sends out a message with capabilities. At the end of each message transmission, the NETCONF agent sends the EOD marker ‘]]>]]>’ The NETCONF agent does not display a prompt like the XML agent does (XML>). The NETCONF TTY agent does not echo back the received messages and does not format returning messages by default. These capabilities can be added by using the ‘echo’ and ‘format’ options. The client is also required to send a message with capabilities. Ending a NETCONF Agent Session Unlike the XML agent, the client ends the session by sending a request. ]]>]]> The agent replies with an tag and then closes the session. ]]>]]> Starting an SSH NETCONF Session This example shows how to start an SSH NETCONF agent session: client(/users/ore)> ssh lab@1.66.32.82 lab@1.66.32.82's password: RP/0/1/CPU0:gsrb#netconf echo format 15-141 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Ending an SSH NETCONF Agent Session urn:ietf:params:netconf:base:1.0 urn:ietf:params:netconf:capability:candidate:1.0 4 ]]>]]> The client can also directly start a NETCONF session by specifying the netconf command on the ssh command line: client(/users/ore)> ssh lab@1.66.32.82 netconf echo format lab@1.66.32.82's password: urn:ietf:params:netconf:base:1.0 urn:ietf:params:netconf:capability:candidate:1.0 4 ]]>]]> Ending an SSH NETCONF Agent Session This example shows how to end an SSH NETCONF agent session: ]]>]]> The agent replies with an tag and then closes the session. ]]>]]> Configuring a NETCONF agent To configure a NETCONF TTY agent, use the netconf agent tty command. Use the throttle and session timeout parameters as you would with the XML TTY agent. netconf agent tty throttle (memory | process-rate) session timeout To enable the NETCONF SSH agent, use this command: ssh server v2 netconf agent tty15-142 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Limitations of NETCONF in Cisco IOS XR Limitations of NETCONF in Cisco IOS XR This sections identifies the limitations of NETCONF in Cisco IOS XR Software. Configuration Datastores Cisco IOS XR supports these configuration datastores: • Cisco IOS XR does not support the configuration datastore. Configuration Capabilities Cisco IOS XR supports these configuration capabilities: • Candidate Configuration Capability urn:ietf:params:netconf:capability:candidate:1.0 Cisco IOS XR does not support these configuration capabilities: • Writable-Running Capability urn:ietf:params:netconf:capability:writable-running:1.0 • Confirmed Commit Capability urn:ietf:params:netconf:capability:confirmed-commit:1.0 Transport (RFC4741 and RFC4742) These transport operations are supported: • Connection-oriented operation • Authentication • SSH Transport—Shell based SSH. IANA-assigned TCP port <830> for NETCONF SSH is not supported. • Other transport Subtree Filtering (RFC4741) NETCONF has these subtree filtering limitations in Cisco IOS XR: • Namespace Selection—Filtering based on specified namespace. This is not supported because Cisco IOS XR does not publish schema name spaces. • Attribute Match Expressions—Filtering is done by matching a specified attribute value. This filtering with the “Match” attribute can be specified only in Table classes. See this example: 15-143 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Limitations of NETCONF in Cisco IOS XR act • Containment Nodes—Filtering is done by specifying nodes (classes) that have child nodes (classes). This filtering is by specifying container classes. See this example: • Selection Nodes—Filtering is done by specifying leaf nodes. This filtering specifies leaf classes. See this example: act GigabitEthernet0/3/0/1 • Content Match Nodes—Filtering is done by exactly matching the content of a leaf node. This filtering is done by specifying naming the class value for table classes. See this example: 15-144 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Limitations of NETCONF in Cisco IOS XR act Loopback0 According to the RFC, a request using an empty content match node should return all elements of all entries of the table. For example, for this request, the response should return elements of all the entries of : In Cisco IOS XR, this request is not supported and is errored out. Protocol Operations (RFC4741) These protocol operations are supported in Cisco IOS XR: • get—Root level query that returns both the entire configuration and state data is not supported • get-config • edit-config • lock • unlock • close-session • commit (by the Candidate Configuration Capability) • discard-change (by the Candidate Configuration Capability) 15-145 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Limitations of NETCONF in Cisco IOS XR Event Notifications (RFC5277) Event notifications are not supported in Cisco IOS XR.15-146 Cisco IOS XR XML API Guide OL-24657-01 Chapter 15 Network Configuration Protocol Limitations of NETCONF in Cisco IOS XRC H A P T E R 16-147 Cisco IOS XR XML API Guide OL-24657-01 16 Cisco IOS XR Perl Scripting Toolkit This chapter describes the Cisco IOS XR Perl Scripting Toolkit as an alternative method to existing router management methods. This method enables the router to be managed by a Perl script running on a separate machine. Management commands and data are sent to, and from, the router in the form of XML over either a Telnet or an SSH connection. The well-defined and consistent structure of XML, which is used for both commands and data, makes it easy to write scripts that can interactively manage the router, display information returned from the router in the format required, or manage multiple routers at once. These sections describe how to use the Cisco IOS XR Perl Scripting Toolkit: • Cisco IOS XR Perl Scripting Toolkit Concepts, page 16-148 • Security Implications for the Cisco IOS XR Perl Scripting Toolkit, page 16-148 • Prerequisites for Installing the Cisco IOS XR Perl Scripting Toolkit, page 16-148 • Installing the Cisco IOS XR Perl Scripting Toolkit, page 16-149 • Using the Cisco IOS XR Perl XML API in a Perl Script, page 16-150 • Handling Types of Errors for the Cisco IOS XR Perl XML API, page 16-150 • Starting a Management Session on a Router, page 16-150 • Closing a Management Session on a Router, page 16-152 • Sending an XML Request to the Router, page 16-152 • Using Response Objects, page 16-153 • Using the Error Objects, page 16-154 • Using the Configuration Services Methods, page 16-154 • Using the Cisco IOS XR Perl Data Object Interface, page 16-157 • Cisco IOS XR Perl Notification and Alarm API, page 16-166 • Examples of Using the Cisco IOS XR Perl XML API, page 16-17016-148 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Cisco IOS XR Perl Scripting Toolkit Concepts Cisco IOS XR Perl Scripting Toolkit Concepts Table 16-1 describes the toolkit concepts. Some sample scripts are modified and show how to use the API in your own scripts. Security Implications for the Cisco IOS XR Perl Scripting Toolkit Similar to using the CLI over a Telnet or Secured Shell (SSH) connection, all authentication and authorization are handled by authentication, authorization, and accounting (AAA) on the router. A script prompts you to enter a password at run time, which ensures that passwords never get stored on the client machine. Therefore, the security implications for using the toolkit are identical to the CLI over the same transport. Prerequisites for Installing the Cisco IOS XR Perl Scripting Toolkit To use the toolkit, you must have installed Perl version 5.6 on the client machine that runs UNIX and Linux. To use the SSH transport option, you must have the SSH client executable installed on the machine and in your path. You need to install these specific standard Perl modules to use various functions: • XML::LibXML—This module is essential for using the Perl XML API and requires that the libxml2 library be installed on the system first. This must be the version that is compatible with the version of XML::LibXML. The toolkit is tested to work with XML::LibXML version 1.58 and libxml2 version 2.6.6. If you are installing libxml2 from a source, you must apply the included patch file before compiling. • Term::ReadKey (optional but recommended)—This module reads passwords without displaying them on the screen. • Net::Telnet—This module is needed if you are using the Telnet or SSH transport modules. If one of the modules is not available in the current version, you are warned during the installation process. Before installing the toolkit, you should install the current versions of the modules. You can obtain all modules from this location: http://www.cpan.org/ Table 16-1 List of Concepts for the IOS XR Perl Scripting Toolkit Concept Definition Cisco IOS XR Perl XML API Consists of the core of the toolkit and provides the ability to create management sessions, send management requests, and receive responses by using Perl objects and methods. Cisco IOS XR Perl Data Object API Allows management requests to be sent and responses received entirely using Perl objects and data structures without any knowledge of the underlying XML. Cisco IOS XR Perl Notification/Alarm API Allows a script to register for notifications (for example, alarms), on a management session and receive the notifications asynchronously as Perl objects.16-149 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Installing the Cisco IOS XR Perl Scripting Toolkit These modules are not necessary for using the API, but are required to run some sample scripts: • XML::LibXSLT—This module is needed for the sample scripts that use XSLT to produce HTML pages. The module also requires that the libxslt library be installed on the system first. The toolkit is tested to work with XML::LibXSLT version 1.57 and libxslt version 1.1.3. • Mail::Send—This module is needed only for the notifications sample script. Installing the Cisco IOS XR Perl Scripting Toolkit The Cisco IOS XR Perl Scripting Toolkit is distributed in a file named: Cisco-IOS_XR-Perl-Scripting-Toolkit-.tar.gz. To install the Cisco IOS XR Perl Scripting Toolkit, perform these steps: Step 1 Extract the contents from the directory in which the file resides by entering this command: tar -f Cisco-IOS_XR-Perl-Scripting-Toolkit-.tar.gz -xzC Table 16-2 defines the parameters. Step 2 Use the cd command to change to the toolkit installation directory and enter this command: perl Makefile.PL If the command gives a warning that one of the prerequisite modules is not found, download and install the applicable module from the Comprehensive Perl Archive Network (CPAN) before using the API. Step 3 Use the make command to maintain a set of programs, as shown in this example: make Step 4 Use the make install command, as shown in this example: make install Ensure that you have the applicable permission requirements for the installation. You may need to have root privileges. If you do not encounter any errors, the toolkit is installed successfully. The Perl modules are copied into the appropriate directory, and you can use your own Perl scripts. Table 16-2 Toolkit Installation Directory Parameters Parameter Description Defines the version of the toolkit to install, for example, version 1.0. Specifies the existing directory in which to create the toolkit installation directory. A directory called Cisco-IOS_XR-Perl-Scripting-Toolkit- is created within the directory along with the extracted contents.16-150 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Cisco IOS XR Perl XML API in a Perl Script Using the Cisco IOS XR Perl XML API in a Perl Script To use the Cisco IOS XR Perl XML API in a Perl application, import the module by including this statement at the top of the script: use Cisco::IOS_XR; If you are using the Data Object interface, you can specify extra import options in the statement. For more information about the objects, see the “Creating Data Objects” section on page 16-159. Handling Types of Errors for the Cisco IOS XR Perl XML API These types of errors can occur when using the Cisco IOS XR Perl XML API: • Errors returned from the router—Specify that the errors are produced during the processing of an XML request and are returned to you in an XML response document. For more information about how these errors are handled, see the “Using the Error Objects” section on page 16-154. • Errors produced within the Perl XML API modules—Specify that the script cannot continue. The module causes the script to be terminated with the appropriate error message. If the script writer wants the script to handle these error types, the writer must write the die handlers (for example, enclose the call to the API function within an eval{} block). Starting a Management Session on a Router Before any requests are sent, a management session must be started on the router, which is done by creating a new object of type named Cisco::IOS_XR. The new object is used for all further requests during the session, and the session is ended when the object is destroyed. A Cisco::IOS_XR object is created by calling Cisco::IOS_XR::new. Table 16-3 lists the optional parameters specified as arguments. Table 16-3 Argument Definitions Name Description use_command_line Controls whether or not the new() method parses the command-line options given when the script was invoked. If the value of the argument is true, which is the default, the command-line options specify or override any of the subsequent arguments and control debug and logging options. The value of 0 defines the value as false. interactive If the value of the argument is true, the script prompts you for the username and password if they have not been specified either in the script or on the command line. The Term::ReadKey module must be installed. The most secure way of using the toolkit is not to have the input echoed to the screen, which avoids hard coding or any record of passwords being used. The default value is false, which means that the script does not ask for user input. As a command-line option, the interactive argument does not take any arguments. You can specify -interactive to turn on the interactive mode.16-151 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Starting a Management Session on a Router This example shows the arguments given using the standard Perl hash notation: use Cisco::IOS_XR; my $session = new Cisco::IOS_XR(transport => 'telnet', host => 'router1', port => 7000, username => 'john', password => 'smith', connection_timeout => 3); Alternatively, the arguments can be specified in a file. For example: The contents of ‘/usrs/trice/perlxml.cfg’: [myrouter] transport = telnet host = router1 username = john password = smith connection_timeout = 3 In the script, the file and profile name are specified: use Cisco : : IOS_XR; my $session = new Cisco: :IOS_XR(config_file => ‘/usrs/trice/perlxml.cfg’, profile => ‘myrouter’); transport Means by which the Perl application should connect to the router, which defaults to Telnet. If a different value is specified, the new() method searches for a package called Cisco::IOS_XR::Transport::. If found, the Perl application uses that package to connect to the router. ssh_version If the chosen transport option is SSH and the SSH executable on your system supports SSH v2, specifies which version of SSH you want to use for the connection. The valid values are 1 and 2. If the SSH executable supports only version 1, an error is caused by specifying the ssh_version argument. host Specifies the name or IP address of the router to connect. The router console or auxiliary ports should not be used because they are likely to cause problems for the script when logging in and offer significantly lower performance than a management port. port Specifies the TCP port for the connection. The default value depends on the transport being used. username Specifies the username to log in to the router. password Specifies the corresponding password. connection_timeout Specifies the timeout value that is used to connect and log in to the session. If not specified, the default value is 5 seconds. response_timeout Specifies the timeout value that is used when waiting for a response to an XML request. If not specified, the default value is 10 seconds. prompt Specifies the prompt that is displayed on the router after a successful log in. The default is #. Table 16-3 Argument Definitions (continued) Name Description16-152 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Closing a Management Session on a Router Table 16-4 describes the additional command-line options that can be specified. To use the command-line options when invoking a script, use the -option value (assuming the option has a value). The option name does not need to be given in full, but must be long enough to be distinguished from other options. This is displayed: perl my_script.pl -host my_router -user john -interactive -debug xml Closing a Management Session on a Router When an object of type Cisco::IOS_XR is created, the transport connection to the router and any associated resources on the router are maintained until the object is destroyed and automatically cleaned. For most scripts, the process should occur automatically when the script ends. To close a particular session during the course of the script, use the close() method. You can perform an operation on a large set of routers sequentially, and not keep all sessions open for the duration of the script, as displayed in this example: my $session1 = new Cisco::IOS_XR(host => ‘router1’, ...); #do some stuff $session1->close; my $session2 = new Cisco::IOS_XR(host => ‘router2’, ...); # do some stuff ... Sending an XML Request to the Router Requests and responses pass between the client and router in the form of XML. Depending on whether the XML is stored in a string or file, you can construct an XML request that is sent to the router using either the send_req or send_req_file method. Some requests are sent without specifying any XML by using the configuration services methods; for example, commit and lock or the Data Object interface. This example shows how to send an XML request in the form of a string: my $xml_req_string = ‘...’; my $response = $session->send_req($xml_req_string); This example shows how to send a request stored in a file: my $response = $session->send_req_file('request.xml'); Table 16-4 Command-Line Options Name Description debug Turns on the specified debug type and can be repeated to turn on more than one type. logging Turns on the specified logging type and can be repeated to turn on more than one type. log_file Specifies the name of the log file to use. telnet_input_log Specifies the file used for the Telnet input log, if you are using Telnet. telnet_dump_log Specifies the file used for the Telnet dump log, if you are using Telnet.16-153 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using Response Objects Using Response Objects Both of the send_req and send_req_file methods return a Cisco::IOS_XR::Response object, which contains the XML response returned by the router. Note Both send methods handle iterators in the background; so if a response consists of many parts, the response object returned is the result of merging them back together. Retrieving the Response XML as a String This example shows how to use the to_string method: $xml_response_string = $response->to_string; Writing the Response XML Directly to a File This example shows how to use the write_file method by specifying the name of the file to be written: $response->write_file('response.xml'); Retrieving the Data Object Model Tree Representation of the Response This example shows how to retrieve a Data Object Model (DOM) tree representation for the response: my $document = $response->get_dom_tree; You should be familiar with the DOM, which an XML document is represented in an object tree structure. For more information, see this URL: http://www.w3.org/DOM/ Note The returned DOM tree type will be of type XML::LibXML::Document, because this is the form in which the response is held internally. The method is quick, because it does not perform extra parsing and should be used in preference to retrieving the string form of the XML and parsing it again (unless a different DOM library is used). Determining if an Error Occurred While Processing a Request This example shows how to determine whether an error has occurred while processing a request: my $error = $response->get_error; if (defined($error)) { die $error; } Use the get_error method to return one error from the response. This returns an error object that represents the first error found or is undefined if none are found. Retrieving a List of All Errors Found in the Response XML This example shows how to list all errors that occur, rather than just one, by using the get_errors method: my @errors = $response->get_errors; The get_errors method returns an array of error objects that represents all errors that were found in the response XML. For more information, see the “Using the Error Objects” section on page 16-154.16-154 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Error Objects Using the Error Objects Error objects are returned when calling the get_error and get_errors methods on a response object, and are used to represent an error encountered in an XML response. Table 16-5 lists the methods for the object. Using the Configuration Services Methods Methods are provided to enable the standard configuration services operations to be performed without knowledge of the underlying XML. These are the operations that are usually performed at the start or end of a configuration session, such as locking the running configuration or saving the configuration to a file. Committing the Target Configuration The config_commit() function takes these optional arguments: • mode • label • comment • Replace • KeepFailedConfig • IgnoreOtherSessions • Confirmed This example shows how to use the config_commit function: $response = $session->config_commit(Label => 'Example1', Comment => 'Just an example'); A response object is returned from which any errors can be extracted, if desired. To retrieve the commit ID that was assigned to the commit upon success, you can call the get_commit_id() method on the response object, as shown in this example: $commit_id = $response->get_commit_id(); Table 16-5 List of Methods for the Object Method Description get_message Returns the error message string that was found in the XML. get_code Returns the corresponding error code. get_element Returns the tag name of the XML element in which the error was found. get_dom_node Returns a reference to the element node in the response DOM1 tree. 1. DOM = Data Object Model. to_string Returns a string that contains the error message, code, and element name. If the error object is used in a scalar context, the method is used automatically to convert it to a string. This example displays all information in an error: Error encountered in object ConfederationPeerASTable: 'XMLMDA' detected the 'warning' condition 'The XML request does not conform to the schema. A child element of the element on which this error appears includes a non-existent naming, filter, or value element. Please check the request against the schema.' Error code: 0x4368a00016-155 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Configuration Services Methods Locking and Unlocking the Running Configuration This example shows how to use the config_lock and config_unlock functions, which takes no arguments: $error = $session->config_lock; $error = $session->config_unlock; Loading a Configuration from a File This example shows how to contain a filename as an argument: $error = $session->config_load(Filename => 'test_config.cfg'); Loading a Failed Configuration This example shows how to use the config_load_failed function, which takes no arguments: $error = $session->config_load_failed; Saving a Configuration to a File This example shows how to use two arguments for the config_save() function: $error = $session->config_save(Filename => 'disk0:/my_config.cfg’, Overwrite => 'true'); The first argument shows how to use the filename to which to write and the Boolean overwrite setting. The filename must be given with a full path. The second argument is optional. Clearing the Target Configuration This example shows how to use the config_clear function, which takes no arguments: $error = $session->config_clear; Getting a List of Recent Configuration Events This example shows how to use the config_get_history function that uses the optional arguments Maximum, EventType, Reverse, and Detail: $response = $session->config_get_history(EventType => ‘All’, Maximum =>10, Detail => ‘true’); It returns a Response object, on which the method get entries can be called. Getting a List of Recent Configuration Commits That Can Be Rolled Back This example shows how to use the config_get_commitlist function that uses the optional arguments Maximum and Detail: $response = $session->config_get_commitlist (Maximum => 10, Detail => ‘true’); It returns a Response object, on which the method get entries can be called. This returns an array of Entry objects, on which the method get key can be called to retrieve the CommitID, and get data to retrieve the rest of the fields.16-156 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Configuration Services Methods Loading Changes Associated with a Set of Commits This example shows how to use the config_load_commit_changes function to load into the target configuration the changes that were made during one or more commits, and it uses one of three possible arguments: ForCommitID, SinceCommitID, or Previous: $error = $session ->config_load_commit_changes (ForCommitID => 1000000072); #Loads the changes that were made in commit 1000000072 $error = $session ->config_load_commit_changes (SinceCommitID => 1000000072); #Loads the changes made in commits 1000000072, 1000000073...up to latest $error = $session ->config_load_commit_changes (Previous => 4); #Loads the changes made in the last 4 commits Rolling Back to a Previous Configuration This example shows how to use the config_rollback() function that uses the optional arguments Label and Comment, and exactly one of the two arguments CommitID or Previous or takes only TrialConfiguration: $error = $session->config_rollback(Label => ‘Rollback test’, CommitID => 1000000072); Loading Changes Associated with Rolling Back Configuration This example shows how to use the config_load_rollback_changes function to load into the target configuration the changes that would be made if you were to roll back one or more commits. The function uses one of three arguments: ForCommitID, ToCommitID and Previous. For example: $error = $session->config_load_rollback_changes (ForCommitID => 1000000072) # Loads the changes that would be made to rollback commit 1000000072 $error = $session->config_load_rollback_changes (ToCommitID => 1000000072); # Loads the changes that would be made to rollback all commits up to and including commit 1000000072 Getting a List of Current Configuration Sessions This example shows how to use the config_get_sessions function that uses the optional argument Detail to return detailed information about configuration sessions. For example: $response = $session->config_get_sessions (Detail => ‘true’); It returns a response object in which the method get_entries can be called. This returns an array of entry objects in which the method get_key can be called to retrieve the session ID, and get_data method to retrieve the rest of the fields. Clearing Configuration Session This example shows how to use config_clear_session function that accepts a configuration session ID SessionID as argument and clears that configuration session: $error=$session->config_clear_sessions (SessionID => ‘00000000-000a00c9-00000000’);Sending a Command-Line Interface Configuration Command This example shows how to use the config_cli() function, which takes a string argument containing the CLI format configuration that you want to apply to the router: $response = $session->config_cli($cli_command); To retrieve the textual CLI response from the response object returned, use the get_cli_response() method, as shown in this example: $response_text = $response->get_cli_response();16-157 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Cisco IOS XR Perl Data Object Interface Note Apart from the config_commit, config_get_history, config_get_commitlist, config_get_sessions and config_cli methods, each of the other methods return a reference to an error object if an error occurs or is undefined. For more information, see the “Using the Error Objects” section on page 16-154. Using the Cisco IOS XR Perl Data Object Interface Instead of having to specify the XML requests explicitly, the interface allows access to management data using a Perl notation. The Data Object interface is a Perl representation of the management data hierarchy stored on the router. It consists of objects of type Cisco::IOS_XR::Data, which corresponds to items in the IOS_XR management data hierarchy, and a set of methods for performing data operations on them. To use the Data Object interface, knowledge of the underlying management data hierarchy is required. The management data on an Cisco IOS XR router are under one of six root objects, namely Configuration, Operational, Action, AdminConfiguration, AdminOperational, and AdminAction. The objects that lie below these objects in the hierarchy, along with definitions of any datatypes or filters that are used by them, are documented in the Perl Data Object Documentation. A hash structure is defined to be a scalar (that is, basic) type; for example, string or number, a reference to a hash whose values are hash structures, or a reference to an array whose values are hash structures. This standard Perl data structure corresponds naturally to the structure of management data on an Cisco IOS XR router. This example shows how to use a hash structure: # basic type my $struct1 = ‘john’; # reference to a hash of basic types my $struct2 = {Forename => $struct1, Surname => ‘smith’}; # reference to an array of basic types my $struct3 = (‘dog’, ‘budgie’, ‘cat’); # reference to a hash of references and basic types my $struct4 = {Name => $struct2, Age => ‘30’, Pets => $struct3}; These sections describe how to use the Perl Data Object Documentation: • Understanding the Perl Data Object Documentation, page 16-158 • Generating the Perl Data Object Documentation, page 16-158 • Creating Data Objects, page 16-159 • Specifying the Schema Version to Use When Creating a Data Object, page 16-161 • Using Data Operation Methods on a Data Object, page 16-161 • Using the Batching API, page 16-164 • Displaying Data and Keys Returned by the Data Operation Methods, page 16-165 • Specifying the Session to Use for the Data Operation Methods, page 16-16616-158 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Cisco IOS XR Perl Data Object Interface Understanding the Perl Data Object Documentation The Perl Data Object Documentation consists of many files, each containing a subtree of the total management data hierarchy. The main part of each filename tells you the area of management data to which that file refers, and the suffix usually tells you below which root object that file’s data lies. For example, a file containing configuration data usually ends in _cfg.html. Some files may not contain any object definitions, but just some datatypes or filter definitions and usually end in _common.html. For leaf objects, the object definition describes the data that the object contains. For nonleaf objects, the definition provides a list of the object’s children within the tree. More precisely, the object definition consists of these items: • Name of the object. • Brief description of what data is contained in the object or in the subtree below. • List of the required task IDs that are required to access the data in the object and subtree. • List of parent objects and the files in which they are defined, if the object is the top-level object in that file. • If the object is a leaf object (for example, data is contained without child objects), and its name is not unique within that file, parent objects are listed. • If the object is a table entry, a list of the keys that are needed to identify a particular item in that table. For each key, a name, description, and datatype are given. • If the object is a table, a list of the filters that can be applied to that table. • If the object is a leaf object, a list of the value items that are contained. For each value item, a name, description, and datatype are given. • If the object is a leaf object, its default value (for example, the values for each of its value items that would be assumed if the object did not exist), if there is one. • List of the data operation methods, get_data, set_data, and so forth that are applicable to the object. For more information, see the “Specifying the Schema Version to Use When Creating a Data Object” section on page 16-161 Generating the Perl Data Object Documentation The Perl Data Object Documentation must be generated from the schema distribution tar file “All-schemas-CRS-1-”release”.tar.gz”, where “release” is the release of the Cisco IOS XR software that you have installed on the router. To generate the Perl Data Object Documentation: Step 1 From the perl subdirectory under the extracted contents of the previously mentioned Schema tarball, copy all *.dat files into the toolkit installation directory Cisco-IOS_XR-Perl-Scripting-Toolkit-”version”/dat (default) or a selected directory for the .dat files. These .dat files are the XML files that are used to generate the HTML documentation. Step 2 From the perl subdirectory under the extracted contents of the previously mentioned Schema tarball, copy all the *.html files into the toolkit installation directory Cisco-IOS_XR-Perl-Scripting-Toolkit-”version”/html(default) or a selected directory for the .html. (The default .html subdirectory already contains two files that were extracted with the toolkit distribution: root_objects.html and common_datatypes.html. These files are automatically copied to the selected .html directory, if a non-default directory is selected, upon performing this step).16-159 Cisco IOS XR XML API Guide OL-24657-01 Chapter 16 Cisco IOS XR Perl Scripting Toolkit Using the Cisco IOS XR Perl Data Object Interface Step 3 Run the script generate_html_documentation.pl, which is available in the distribution Cisco-IOS_XR-Perl-Scripting-Toolkit-”version”/scripts directory, giving the appropriate directories for the .dat and .html files, when prompted. Step 4 If the script fails, indicating any error .dat files, evaluate the .dat file to confirm that it is not of “0” size and that it has a header as in this example: home traffic, as effected by the ! following: access-list natexmpt-inside extended permit ip any 192.168.2.0 255.255.255.0 access-list natexmpt-home extended permit ip any 192.168.1.0 255.255.255.0 nat (inside) 0 access-list natexmpt-inside nat (home) 0 access-list natexmpt-home http server enable http 192.168.1.0 255.255.255.0 inside dhcpd address 192.168.1.2-192.168.1.254 inside dhcpd auto_config outside dhcpd enable inside logging asdm informational ssh 192.168.1.0 255.255.255.0 insideB-35 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 15: ASA 5505 Security Plus License with Failover and Dual-ISP Backup Example 15: ASA 5505 Security Plus License with Failover and Dual-ISP Backup This configuration creates five VLANs: inside, outside, dmz, backup-isp and faillink (see Figure B-13). Figure B-14 Example 15 See the following sections for the configurations for this scenario: • Example 15: Primary Unit Configuration • Example 15: Secondary Unit Configuration Example 15: Primary Unit Configuration passwd g00fba11 enable password gen1u$ ASA 5505 with Security Plus License Failover ASA 5505 VLAN 4 Backup ISP VLAN 2 Primary ISP VLAN 3 DMZ VLAN 5: Failover Link Host Host Printer Web Server 192.168.2.2 Host 192.168.1.1/24 192.168.1.2/24 mary: 209.165.200.224/27 ackup: 209.165.202.128/27 Primary: 209.165.200.225/27 Backup: 209.165.202.129/27 153836 Switch VLAN 1 InsideB-36 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 15: ASA 5505 Security Plus License with Failover and Dual-ISP Backup hostname Buster asdm image disk0:/asdm.bin boot system disk0:/image.bin interface vlan 2 description Primary ISP interface nameif outside security-level 0 ip address 209.165.200.224 standby 209.165.200.225 backup interface vlan 4 no shutdown interface vlan 1 nameif inside security-level 100 ip address 192.168.1.1 255.255.255.0 no shutdown interface vlan 3 nameif dmz security-level 50 ip address 192.168.2.1 255.255.255.0 no shutdown interface vlan 4 description Backup ISP interface nameif backup-isp security-level 0 ip address 209.168.202.128 standby 209.168.202.129 no shutdown interface vlan 5 description LAN Failover Interface interface ethernet 0/0 switchport access vlan 2 no shutdown interface ethernet 0/1 switchport access vlan 4 no shutdown interface ethernet 0/2 switchport access vlan 1 no shutdown interface ethernet 0/3 switchport access vlan 3 no shutdown interface ethernet 0/4 switchport access vlan 5 no shutdown failover failover lan unit primary failover lan interface faillink vlan5 failover lan faillink vlan5 failover polltime unit 3 holdtime 10 failover key key1 failover interface ip faillink 10.1.1.1 255.255.255.0 standby 10.1.1.2 nat (inside) 1 0 0 nat (home) 1 0 0 global (outside) 1 interface ! The previous NAT statements match all addresses on inside and home, so you need to ! also perform NAT when hosts access the inside or home networks (as well as the outside). ! Or you can exempt hosts from NAT for inside <--> home traffic, as effected by the ! following: access-list natexmpt-inside extended permit ip any 192.168.2.0 255.255.255.0 access-list natexmpt-home extended permit ip any 192.168.1.0 255.255.255.0 nat (inside) 0 access-list natexmpt-inside nat (home) 0 access-list natexmpt-home sla monitor 123 type echo protocol ipIcmpEcho 209.165.200.234 interface outside num-packets 2B-37 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion frequency 5 sla monitor schedule 123 life forever start-time now track 1 rtr 123 reachability route outside 0 0 209.165.200.234 1 track 1 ! This route is for the primary ISP. route backup-isp 0 0 209.165.202.154 2 ! If the link goes down for the primary ISP, either due to a hardware failure ! or unplugged cable, then this route will be used. http server enable http 192.168.1.0 255.255.255.0 inside dhcpd address 192.168.1.2-192.168.1.254 inside dhcpd auto_config outside dhcpd enable inside logging asdm informational ssh 192.168.1.0 255.255.255.0 inside Example 15: Secondary Unit Configuration You only need to configure the secondary security appliance to recognize the failover link. The secondary security appliance obtains the context configurations from the primary security appliance upon booting or when failover is first enabled. interface ethernet 0/4 switchport access vlan 5 no shutdown failover failover lan unit secondary failover lan interface faillink vlan5 failover polltime unit 3 holdtime 10 failover key key1 failover interface ip faillink 10.1.1.1 255.255.255.0 standby 10.1.1.2 Example 16: Network Traffic Diversion The following configuration example shows the ASA 5500 series adaptive security appliance with Version 7.2.1 software and the AIP SSM module with IPS software 5.1.1. Network traffic that traverses the adaptive security appliance includes internal users who access the Internet, Internet users who access resources protected by an adaptive security appliance in a demilitarized zone (DMZ), or in an inside network. Network traffic sent to and from the adaptive security appliance is not sent to the IPS module for inspection. Examples of traffic not sent to the IPS module include pinging (through ICMP) of the adaptive security appliance interfaces or Telnetting to the adaptive security appliance. The required configuration components for the ASA 5510 adaptive security appliance include interfaces, access lists, network address translation (NAT), and routing. The required configuration components for the AIP SSM include the network setup, allowed hosts, interface configuration, signature definitions, and event action rules. To obtain more information about the commands used in this section, use the Command Lookup Tool (for registered customers only). B-38 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion Note The IP addressing schemes used in this configuration are not legally routable on the Internet. These schemes are RFC 1918 addresses that have been used in a test environment. Figure B-15 shows the network diagram for this configuration example. Figure B-15 Network Diagram Figure B-16 on page B-39 and Figure B-17 on page B-41 show the initial configurations for the ASA 5510 adaptive security appliance and AIP SSM. .254 .254 .254 191027 209.165.200.225 Outside network 209.165.200.224/27 Inside network 10.2.2.0/24 10.2.2.200 Security Appliance with AIP SSM DMZ network 192.168.1.0/24 192.168.1.50B-39 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion Figure B-16 Configuration for the ASA 5510 Adaptive Security Appliance asdm image disk0:/asdm521.bin no asdm history enable arp timeout 14400B-40 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion !--- Translation rules are added. global (outside) 1 172.16.1.100 global (dmz) 1 192.168.1.100 nat (inside) 1 10.2.2.0 255.255.255.0 static (dmz,outside) 172.16.1.50 192.168.1.50 netmask 255.255.255.255 static (inside,dmz) 10.2.2.200 10.2.2.200 netmask 255.255.255.255 !--- Access lists are applied to the interfaces. access-group acl_outside_in in interface outside access-group acl_inside_in in interface inside access-group acl_dmz_in in interface dmz timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 timeout uauth 0:05:00 absolute no snmp-server location no snmp-server contact snmp-server enable traps snmp authentication linkup linkdown coldstart telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map type inspect dns preset_dns_map parameters message-length maximum 512 policy-map global_policy !--- Out-of-the-box default configuration includes !--- policy-map global_policy. class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy global_policy global !--- Out-of-the-box default configuration includes !--- the service-policy global_policy applied globally. prompt hostname context . : endB-41 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion Figure B-17 Configuration for the AIP SSM exit ! ------------------------------ service logger exit ! ------------------------------B-42 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion service network-access exit ! ------------------------------ service notification exit ! ------------------------------ service signature-definition sig0 !--- The signature is modified from the default setting for testing purposes. signatures 2000 0 alert-severity high engine atomic-ip event-action produce-alert|produce-verbose-alert exit alert-frequency summary-mode fire-all summary-key AxBx exit exit status enabled true exit exit !--- The signature is modified from the default setting for testing purposes. signatures 2004 0 alert-severity high engine atomic-ip event-action produce-alert|produce-verbose-alert exit alert-frequency summary-mode fire-all summary-key AxBx exit exit status enabled true exit exit !--- The custom signature is added for testing purposes. signatures 60000 0 alert-severity high sig-fidelity-rating 75 sig-description sig-name Telnet Command Authorization Failure sig-string-info Command authorization failed sig-comment signature triggers string command authorization failed exit engine atomic-ip specify-l4-protocol yes l4-protocol tcp no tcp-flags no tcp-mask exit specify-payload-inspection yes regex-string Command authorization failed exit exit exitB-43 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion exit exit ! ------------------------------ service ssh-known-hosts exit ! ------------------------------ service trusted-certificates exit ! ------------------------------ service web-server enable-tls true exit onionlabaip# Inspecting All Traffic with the AIP SSM This configuration meets the requirement to monitor all traffic. In addition, you must make two decisions about how the ASA 5510 and AIP SSM interact. • Is the AIP SSM module to be deployed in promiscuous or inline mode? Promiscuous mode means that a copy of the data is sent to the AIP SSM while the ASA 5510 forwards the original data to the destination. The AIP SSM in promiscuous mode can be considered as an intrusion detection system (IDS). In this mode, the trigger packet that causes the alarm can still reach the destination. Shunning can occur and stop additional packets from reaching the destination; however, the trigger packet is not stopped. Inline mode means that the ASA 5510 forwards the data to the AIP SSM for inspection. If the data passes AIP SSM inspection, the data returns to the ASA 5510 in order to continue being processed and sent to the destination. The AIP SSM in inline mode can be considered to be an intrusion prevention system (IPS). Unlike promiscuous mode, an inline mode IPS can actually stop the trigger packet from reaching the destination. • If the ASA 5510 cannot communicate with the AIP SSM, how should the adaptive security appliance handle traffic for inspection? Examples of instances when the ASA 5510 cannot communicate with the AIP SSM include AIP SSM reloads or whether the module fails and needs replacement. In this case, the adaptive security appliance can fail-open or fail-closed. Fail-open allows the adaptive security appliance to continue to pass traffic for inspection to the final destination if the AIP SSM cannot be reached. Fail-closed blocks traffic for inspection when the adaptive security appliance cannot communicate with the AIP SSM. Note Define the traffic for inspection with an access list. In the following example, the access list permits all IP traffic from any source to any destination. Therefore, traffic for inspection can be anything that passes through the adaptive security appliance. ciscoasa(config)#access-list traffic_for_ips permit ip any any ciscoasa(config)#class-map ips_class_map ciscoasa(config-cmap)#match access-list traffic_for_ips !--- The match any !--- command can be used in place of the match access-list [access-list name] !--- command. In this example, access-list traffic_for_ips permits !--- all traffic. The match any command alsoB-44 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion !--- permits all traffic. You can use either configuration. !--- When you define an access-list, it can ease troubleshooting. ciscoasa(config)#policy-map global_policy !--- Note that policy-map global_policy is a part of the !--- default configuration. In addition, policy-map global_policy is applied !--- globally using the service-policy command. ciscoasa(config-pmap)#class ips_class_map ciscoasa(config-pmap-c)#ips inline fail-open !--- Two decisions need to be made. !--- First, does the AIP-SSM function !--- in inline or promiscuous mode? !--- Second, does the ASA fail-open or fail-closed? Inspecting Specific Traffic with the AIP SSM If you want the AIP SSM to monitor a subset of all traffic, you can modify two independent variables on the adaptive security appliance: • You can write the access list to include or exclude the necessary traffic. • You can apply a service policy to an interface or globally. The network diagram in Figure B-15 shows the AIP SSM inspecting all traffic between the outside network and the DMZ network, as shown in the following example: ciscoasa#configure terminal ciscoasa(config)#access-list traffic_for_ips deny ip 10.2.2.0 255.255.255.0 192.168.1.0 255.255.255.0 ciscoasa(config)#access-list traffic_for_ips permit ip any 192.168.1.0 255.255.255.0 ciscoasa(config)#access-list traffic_for_ips deny ip 192.168.1.0 255.255.255.0 10.2.2.0 255.255.255.0 ciscoasa(config)#access-list traffic_for_ips permit ip 192.168.1.0 255.255.255.0 any ciscoasa(config)#class-map ips_class_map ciscoasa(config-cmap)#match access-list traffic_for_ips ciscoasa(config)#policy-map interface_policy ciscoasa(config-pmap)#class ips_class_map ciscoasa(config-pmap-c)#ips inline fail-open ciscoasa(config)#service-policy interface_policy interface dmz !--- The access-list denies traffic from the inside network to the DMZ network !--- and traffic to the inside network from the DMZ network. !--- In addition, the service-policy command is applied to the DMZ interface. The following example shows how to configure the AIP SSM to monitor traffic from the inside network to the outside network, but exclude the inside network to the DMZ network. Note You must have an intermediate understanding of statefulness, TCP, UDP, ICMP, connection, and connectionless communications to understand the following example. ciscoasa#configure terminal ciscoasa(config)#access-list traffic_for_ips deny ip 10.2.2.0 255.255.255.0 192.168.1.0 255.255.255.0 ciscoasa(config)#access-list traffic_for_ips permit ip 10.2.2.0 255.255.255.0 any ciscoasa(config)#class-map ips_class_map B-45 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion ciscoasa(config-cmap)#match access-list traffic_for_ips ciscoasa(config)#policy-map interface_policy ciscoasa(config-pmap)#class ips_class_map ciscoasa(config-pmap-c)#ips inline fail-open ciscoasa(config)#service-policy interface_policy interface inside The access list denies traffic initiated on the inside network destined for the DMZ network. The second access list line permits or sends traffic initiated on the inside network destined for the outside network to the AIP SSM. At this point the statefulness of the adaptive security appliance comes into play. For example, an internal user initiates a TCP connection (Telnet) to a device on the outside network (router). The user successfully connects to the router and logs in, then issues a router command that is not authorized. The router responds with the message, “Command authorizaton failed.” The data packet that contains the message, “Command authorization failed” has the outside router as the source and the inside user as the destination. The source (outside) and destination (inside) do not match the access lists previously defined. The adaptive security appliance keeps track of stateful connections. As a result, the returning data packet (outside to inside) is sent to the AIP SSM for inspection. Custom signature 60000 0 (configured on the AIP SSM) alarms. Note By default, the adaptive security appliance does not maintain state for the ICMP traffic. In the previous example, the internal user pings (ICMP echo request) the outside router. The router responds with an ICMP echo-reply. The AIP SSM inspects the echo request packet, but not the echo-reply packet. If ICMP inspection is enabled on the adaptive security appliance, both the echo request and echo-reply packets are inspected by the AIP SSM. Verifying the Recording of Alert Events To verify that alert events are recorded in the AIP SSM, perform the following steps: Step 1 Log into the AIP SSM with the administrator user account. Note The output varies according to signature settings, the type of traffic sent to the AIP SSM, and network load. The Output Interpreter Tool (OIT), for registered customers only, supports certain show commands. Use the OIT to view an analysis of show command output. This tools is one of a set of support tools, available at http://www.cisco.com/public/support/tac/tools.shtml. Step 2 Enter the show events alert command. The following output appears. evIdsAlert: eventId=1156198930427770356 severity=high vendor=Cisco originator: hostId: onionlabaip appName: sensorApp appInstanceId: 345 time: 2006/08/24 18:52:57 2006/08/24 13:52:57 UTC signature: description=Telnet Command Authorization Failure id=60000 version=custom subsigId: 0 sigDetails: Command authorization failed interfaceGroup: vlan: 0 participants: B-46 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion attacker: addr: locality=OUT 172.16.1.200 port: 23 target: addr: locality=IN 10.2.2.200 port: 33189 riskRatingValue: 75 interface: ge0_1 protocol: tcp evIdsAlert: eventId=1156205750427770078 severity=high vendor=Cisco originator: hostId: onionlabaip appName: sensorApp appInstanceId: 345 time: 2006/08/24 19:46:08 2006/08/24 14:46:08 UTC signature: description=ICMP Echo Request id=2004 version=S1 subsigId: 0 interfaceGroup: vlan: 0 participants: attacker: addr: locality=OUT 172.16.1.200 target: addr: locality=DMZ 192.168.1.50 triggerPacket: 000000 00 16 C7 9F 74 8C 00 15 2B 95 F9 5E 08 00 45 00 ....t...+..^..E. 000010 00 3C 2A 57 00 00 FF 01 21 B7 AC 10 01 C8 C0 A8 .<*W....!....... 000020 01 32 08 00 F5 DA 11 24 00 00 00 01 02 03 04 05 .2.....$........ 000030 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 ................ 000040 16 17 18 19 1A 1B 1C 1D 1E 1F .......... riskRatingValue: 100 interface: ge0_1 protocol: icmp evIdsAlert: eventId=1156205750427770079 severity=high vendor=Cisco originator: hostId: onionlabaip appName: sensorApp appInstanceId: 345 time: 2006/08/24 19:46:08 2006/08/24 14:46:08 UTC signature: description=ICMP Echo Reply id=2000 version=S1 subsigId: 0 interfaceGroup: vlan: 0 participants: attacker: addr: locality=DMZ 192.168.1.50 target: addr: locality=OUT 172.16.1.200 triggerPacket: 000000 00 16 C7 9F 74 8E 00 03 E3 02 6A 21 08 00 45 00 ....t.....j!..E. 000010 00 3C 2A 57 00 00 FF 01 36 4F AC 10 01 32 AC 10 .<*W....6O...2.. 000020 01 C8 00 00 FD DA 11 24 00 00 00 01 02 03 04 05 .......$........ 000030 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 ................ 000040 16 17 18 19 1A 1B 1C 1D 1E 1F .......... riskRatingValue: 100 interface: ge0_1 protocol: icmpB-47 Cisco Security Appliance Command Line Configuration Guide OL-10088-02 Appendix B Sample Configurations Example 16: Network Traffic Diversion In these configurations, several IPS signatures are tuned to alarm on test traffic. Signatures 2000 and 2004 are modified. Custom signature 60000 is added. In a network where little data passes through the adaptive security appliance, you may need to modify signatures in order to trigger events. If the adaptive security appliance and AIP SSM are deployed in an environment that passes a large amount of traffic, the default signature settings will probably generate an event. Troubleshooting the Configuration To troubleshoot your configuration, perform the following steps: The OIT (for registered customers only) supports certain show commands. Use the OIT to view an analysis of show command output. Step 1 From the ASA 5510, enter these show commands: a. show module—Shows information about the SSM on the adaptive security appliance as well as system information. ciscoasa#show module Mod Card Type Model Serial No. --- -------------------------------------------- ------------------ ----------- 0 ASA 5510 Adaptive Security Appliance ASA5510 JMX1016K0RN 1 ASA 5500 Series Security Services Module-10 ASA-SSM-10 JAB101502A6 Mod MAC Address Range Hw Version Fw Version Sw Version --- --------------------------------- ------------ ------------ --------------- 0 0016.c79f.748c to 0016.c79f.7490 1.1 1.0(10)0 7.2(1) 1 0016.c79f.7567 to 0016.c79f.7567 1.0 1.0(10)0 5.1(1)S205.0 Mod SSM Application Name Status SSM Application Version --- ------------------------------ ---------------- -------------------------- 1 IPS Up 5.1(1)S205.0 Mod Status Data Plane Status Compatibility --- ------------------ --------------------- ------------- 0 Up Sys Not Applicable 1 Up Up !--- Each of the areas highlighted indicate that !--- the ASA recognizes the AIP-SSM and the AIP-SSM status is up. b. show run—Shows the current running configuration on the adaptive security appliance. ciscoasa#show run !--- Output is suppressed. access-list traffic_for_ips extended permit ip any any ... class-map ips_class_map match access-list traffic_for_ips ... policy-map global_policy ... class ips_class_map ips inline fail-open ... service-policy global_policy global