Cisco Systems OL-14356-01 User Manual

Cisco IOS XR Routing Configuration Guide
Cisco IOS XR Software Release 3.4
Americas Headquarters
Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com Tel: 408 526-4000
Fax: 408 527-0883
Customer Order Number: Text Part Number: OL-14356-01
THE 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.
CCVP, the Cisco logo, and Welcome to the Human Network are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a service mark of Cisco Systems, Inc.; and Access Registrar, Aironet, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, LightStream, Linksys, MeetingPlace, MGX, Networkers, Networking Academy, Network Registrar, PIX, ProConnect, ScriptShare, SMARTnet, StackWise, The Fastest Way to Increase Your Internet Quotient, and TransPath are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or Website 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. (0711R)
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 Routing Configuration Guide
© 2007 Cisco Systems, Inc. All rights reserved.
CONTENTS
Preface RC-xiii
Changes to This Document RC-xiii
Obtaining Documentation and Submitting a Service Request RC-xiii
Implementing BGP on Cisco IOS XR Software RC-1
Contents RC-2
Prerequisites for Implementing BGP on Cisco IOS XR Software RC-2
Information About Implementing BGP on Cisco IOS XR Software RC-2
BGP Functional Overview RC-3 BGP Router Identifier RC-3 BGP Default Limits RC-4 BGP Next Hop Tracking RC-5 Autonomous System Number Formats in BGP RC-7 BGP Configuration RC-7 No Default Address Family RC-19 Routing Policy Enforcement RC-20 Table Policy RC-21 Update Groups RC-22 BGP Cost Community RC-22 BGP Best Path Algorithm RC-27 Administrative Distance RC-30 Multiprotocol BGP RC-32 Route Dampening RC-33 BGP Routing Domain Confederation RC-34 BGP Route Reflectors RC-34 Default Address Family for show Commands RC-37 Distributed BGP RC-37 MPLS VPN Carrier Supporting Carrier RC-38 BGP Keychains RC-39 IPv6/IPv6 VPN Provider Edge Transport over MPLS RC-39 VPNv4/VPNv6 over the IP Core Using L2TPv3 Tunnels RC-40
How to Implement BGP on Cisco IOS XR Software RC-42
Enabling BGP Routing RC-44 Configuring a Routing Domain Confederation for BGP RC-47
Cisco IOS XR Routing Configuration Guide
RC-iii
Contents
Resetting an eBGP Session Immediately Upon Link Failure RC-49 Logging Neighbor Changes RC-49 Adjusting BGP Timers RC-50 Changing the BGP Default Local Preference Value RC-51 Configuring the MED Metric for BGP RC-53 Configuring BGP Weights RC-54 Tuning the BGP Best-Path Calculation RC-56 Indicating BGP Back-door Routes RC-58 Configuring Aggregate Addresses RC-60 Redistributing iBGP Routes into IGP RC-61 Redistributing Prefixes into Multiprotocol BGP RC-63 Configuring BGP Route Dampening RC-66 Applying Policy When Updating the Routing Table RC-71 Setting BGP Administrative Distance RC-73 Configuring a BGP Neighbor Group and Neighbors RC-74 Configuring a Route Reflector for BGP RC-77 Configuring BGP Route Filtering by Route Policy RC-79 Configuring BGP Next-hop Trigger Delay RC-81 Disabling Next-hop Processing on BGP Updates RC-83 Configuring BGP Community and Extended-Community Advertisements RC-84 Configuring the BGP Cost Community RC-86 Configuring Software to Store Updates from a Neighbor RC-91 Configuring Distributed BGP RC-93 Configuring a VPN Routing and Forwarding Instance in BGP RC-96 Configuring Keychains for BGP RC-114 Configuring an MDT Address Family Session in BGP RC-115 Disabling a BGP Neighbor RC-118 Resetting Neighbors Using BGP Inbound Soft Reset RC-120 Resetting Neighbors Using BGP Outbound Soft Reset RC-120 Resetting Neighbors Using BGP Hard Reset RC-121 Clearing Caches, Tables, and Databases RC-122 Displaying System and Network Statistics RC-123 Displaying BGP Process Information RC-125 Monitoring BGP Update Groups RC-126
RC-iv
Configuration Examples for Implementing BGP on Cisco IOS XR Software RC-127
Enabling BGP: Example RC-127 Displaying BGP Update Groups: Example RC-129 BGP Neighbor Configuration: Example RC-129 BGP Confederation: Example RC-130 BGP Route Reflector: Example RC-131
Cisco IOS XR Routing Configuration Guide
BGP MDT Address Family Configuration: Example RC-132
Where to Go Next RC-132
Additional References RC-133
Related Documents RC-133 Standards RC-133 MIBs RC-134 RFCs RC-134 Technical Assistance RC-134
Implementing EIGRP on Cisco IOS XR Software RC-135
Contents RC-135
Prerequisites for Implementing EIGRP on Cisco IOS XR Software RC-136
Restrictions for Implementing EIGRP on Cisco IOS XR Software RC-136
Information About Implementing EIGRP on Cisco IOS XR Software RC-136
EIGRP Functional Overview RC-137 EIGRP Features RC-137 EIGRP Components RC-138 EIGRP Configuration Grouping RC-139 EIGRP Configuration Modes RC-139 EIGRP Interfaces RC-140 Redistribution for an EIGRP Process RC-140 Metric Weights for EIGRP Routing RC-141 Percentage of Link Bandwidth Used for EIGRP Packets RC-142 Floating Summary Routes for an EIGRP Process RC-142 Split Horizon for an EIGRP Process RC-144 Adjustment of Hello Interval and Hold Time for an EIGRP Process RC-145 Stub Routing for an EIGRP Process RC-145 Route Policy Options for an EIGRP Process RC-146 EIGRP Layer 3 VPN PE-CE Site-of-Origin RC-147 IPv6 and IPv6 VPN Provider Edge Support over MPLS and IP RC-148
Contents
How to Implement EIGRP on Cisco IOS XR Software RC-148
Enabling EIGRP Routing RC-149 Configuring Route Summarization for an EIGRP Process RC-151 Redistributing Routes for EIGRP RC-153 Creating a Route Policy and Attaching It to an EIGRP Process RC-155 Configuring Stub Routing for an EIGRP Process RC-158 Configuring EIGRP as a PE-CE Protocol RC-159 Redistributing BGP Routes into EIGRP RC-161 Monitoring EIGRP Routing RC-163
Cisco IOS XR Routing Configuration Guide
RC-v
Contents
Configuration Examples for Implementing EIGRP on Cisco IOS XR Software RC-166
Configuring a Basic EIGRP Configuration: Example RC-166 Configuring an EIGRP Stub Operation: Example RC-167 Configuring an EIGRP PE-CE Configuration with Prefix-Limits: Example RC-167
Additional References RC-168
Related Documents RC-168 Standards RC-168 MIBs RC-168 RFCs RC-168 Technical Assistance RC-169
Implementing OSPF on Cisco IOS XR Software RC-171
Contents RC-172
Prerequisites for Implementing OSPF on Cisco IOS XR Software RC-172
Information About Implementing OSPF on Cisco IOS XR Software RC-173
OSPF Functional Overview RC-173 Key Features Supported in the Cisco IOS XR OSPF Implementation RC-175 Comparison of Cisco IOS XR OSPFv3 and OSPFv2 RC-175 OSPF Hierarchical CLI and CLI Inheritance RC-176 OSPF Routing Components RC-176 OSPF Process and Router ID RC-179 Supported OSPF Network Types RC-179 Route Authentication Methods for OSPF RC-180 Neighbors and Adjacency for OSPF RC-181 Designated Router (DR) for OSPF RC-181 Default Route for OSPF RC-181 Link-State Advertisement Types for OSPF Version 2 RC-181 Link-State Advertisement Types for OSPFv3 RC-182 Virtual Link and Transit Area for OSPF RC-183 OSPFv2 Shamlink Support for MPLS VPN RC-184 Route Redistribution for OSPF RC-186 OSPF Shortest Path First Throttling RC-186 Nonstop Forwarding for OSPF Version 2 RC-187 Graceful Restart for OSPFv3 RC-188 Warm Standby and Nonstop Routing for OSPF Version 2 RC-190 Multicast-Intact Support for OSPF RC-190 Load Balancing in OSPF Version 2 and OSPFv3 RC-191 Multi-Area Adjacency for OSPF Version 2 RC-191 Label Distribution Protocol IGP Auto-configuration for OSPF RC-192 OSPF Authentication Message Digest Management RC-193
RC-vi
Cisco IOS XR Routing Configuration Guide
GTSM TTL Security Mechanism for OSPF RC-193 Path Computation Element for OSPFv2 RC-193
How to Implement OSPF on Cisco IOS XR Software RC-194
Enabling OSPF RC-194 Configuring Stub and Not-So-Stubby Area Types RC-197 Configuring Neighbors for Nonbroadcast Networks RC-199 Configuring Authentication at Different Hierarchical Levels for OSPF Version 2 RC-204 Controlling the Frequency That the Same LSA Is Originated or Accepted for OSPF RC-207 Creating a Virtual Link with MD5 Authentication to Area 0 for OSPF RC-209 Summarizing Subnetwork LSAs on an OSPF ABR RC-213 Redistributing Routes from One IGP into OSPF RC-215 Configuring OSPF Shortest Path First Throttling RC-219 Configuring Nonstop Forwarding Specific to Cisco for OSPF Version 2 RC-224 Configuring OSPF Version 2 for MPLS Traffic Engineering RC-226 Configuring OSPFv3 Graceful Restart RC-230 Configuring an OSPFv2 Sham Link RC-233 Enabling Nonstop Routing for OSPFv2 RC-236 Enabling Multicast-intact for OSPFv2 RC-237 Associating Interfaces to a VRF RC-238 Configuring OSPF as a Provider Edge to Customer Edge (PE-CE) Protocol RC-240 Creating Multiple OSPF Instances (OSPF Process and a VRF) RC-243 Configuring Multi-area Adjacency RC-244 Configuring Label Distribution Protocol IGP Auto-configuration for OSPF RC-246 Configuring Authentication Message Digest Management for OSPF RC-247 Configuring Generalized TTL Security Mechanism (GTSM) for OSPF RC-251 Verifying OSPF Configuration and Operation RC-254
Contents
Configuration Examples for Implementing OSPF on Cisco IOS XR Software RC-255
Cisco IOS XR for OSPF Version 2 Configuration: Example RC-255 CLI Inheritance and Precedence for OSPF Version 2: Example RC-257 MPLS TE for OSPF Version 2: Example RC-258 ABR with Summarization for OSPFv3: Example RC-258 ABR Stub Area for OSPFv3: Example RC-258 ABR Totally Stub Area for OSPFv3: Example RC-258 Route Redistribution for OSPFv3: Example RC-259 Virtual Link Configured Through Area 1 for OSPFv3: Example RC-259 Virtual Link Configured with MD5 Authentication for OSPF Version 2: Example RC-260 VPN Backbone and Sham Link Configured for OSPF Version 2: Example RC-260
Where to Go Next RC-262
Additional References RC-262
Cisco IOS XR Routing Configuration Guide
RC-vii
Contents
Related Documents RC-262 Standards RC-262 MIBs RC-263 RFCs RC-263 Technical Assistance RC-264
Implementing IS-IS on Cisco IOS XR Software RC-265
Contents RC-266
Prerequisites for Implementing IS-IS on Cisco IOS XR Software RC-266
Restrictions for Implementing IS-IS on Cisco IOS XR Software RC-266
Information About Implementing IS-IS on Cisco IOS XR Software RC-266
IS-IS Functional Overview RC-267 Key Features Supported in the Cisco IOS XR IS-IS Implementation RC-267 IS-IS Configuration Grouping RC-268 IS-IS Configuration Modes RC-268 IS-IS Interfaces RC-269 Multitopology Configuration RC-269 IPv6 Routing and Configuring IPv6 Addressing RC-269 Limit LSP Flooding RC-269 Maximum LSP Lifetime and Refresh Interval RC-270 Overload Bit Configuration During Multitopology Operation RC-270 Single-Topology IPv6 Support RC-271 Multitopology IPv6 Support RC-271 IS-IS Authentication RC-271 Nonstop Forwarding RC-272 Multi-Instance IS-IS RC-272 Multiprotocol Label Switching Traffic Engineering RC-273 Overload Bit on Router RC-273 Default Routes RC-273 Attached Bit on an IS-IS Instance RC-273 IS-IS Support for Route Tags RC-274 Multicast-Intact Feature RC-274 Multicast Topology Support Using IS-IS RC-275 MPLS Label Distribution Protocol IGP Synchronization RC-275 Label Distribution Protocol IGP Auto-configuration RC-276 MPLS TE Forwarding Adjacency RC-276 MPLS TE Interarea Tunnels RC-276 IP Fast Reroute RC-276
RC-viii
How to Implement IS-IS on Cisco IOS XR Software RC-277
Enabling IS-IS and Configuring Level 1 or Level 2 Routing RC-277
Cisco IOS XR Routing Configuration Guide
Configuring Single Topology for IS-IS RC-280 Configuring Multitopology for IS-IS RC-284 Controlling LSP Flooding for IS-IS RC-285 Configuring Nonstop Forwarding for IS-IS RC-289 Configuring Authentication for IS-IS RC-291 Configuring Keychains for IS-IS RC-293 Configuring MPLS Traffic Engineering for IS-IS RC-295 Tuning Adjacencies for IS-IS RC-298 Setting SPF Interval for a Single-Topology IPv4 and IPv6 Configuration RC-301 Customizing Routes for IS-IS RC-303 Configuring MPLS LDP IS-IS Synchronization RC-306 Enabling Multicast-Intact RC-308 Tagging IS-IS Interface Routes RC-309 Setting the Priority for Adding Prefixes to the RIB RC-311 Configuring IP Fast Reroute Loop-free Alternate RC-313
Contents
Configuration Examples for Implementing IS-IS on Cisco IOS XR Software RC-314
Configuring Single-Topology IS-IS for IPv6: Example RC-315 Configuring Multitopology IS-IS for IPv6: Example RC-315 Redistributing IS-IS Routes Between Multiple Instances: Example RC-315 Tagging Routes: Example RC-316
Where to Go Next RC-316
Additional References RC-317
Related Documents RC-317 Standards RC-317 MIBs RC-318 RFCs RC-318 Technical Assistance RC-318
Implementing and Monitoring RIB on Cisco IOS XR Software RC-319
Contents RC-320
Prerequisites for Implementing RIB on Cisco IOS XR Software RC-320
Information About RIB Configuration RC-320
Overview of RIB RC-320 RIB Data Structures in BGP and Other Protocols RC-321 RIB Administrative Distance RC-321 RIB Support for IPv4 and IPv6 RC-322 RIB Statistics RC-322 IPv6 and IPv6 VPN Provider Edge Transport over MPLS RC-322 IP Fast Reroute RC-323
Cisco IOS XR Routing Configuration Guide
RC-ix
Contents
RIB Quarantining RC-323
How to Deploy and Monitor RIB RC-324
Verifying RIB Configuration Using the Routing Table RC-324 Verifying Networking and Routing Problems RC-324 Disabling RIB Next-hop Dampening RC-326
Configuration Examples for RIB Monitoring RC-327
Output of show route Command: Example RC-328 Output of show route backup Command: Example RC-328 Output of show route best-local Command: Example RC-328 Output of show route connected Command: Example RC-329 Output of show route local Command: Example RC-329 Output of show route longer-prefixes Command: Example RC-329 Output of show route next-hop Command: Example RC-329
Where to Go Next RC-330
Additional References RC-330
Related Documents RC-331 Standards RC-331 MIBs RC-332 RFCs RC-332 Technical Assistance RC-332
Implementing RIP on Cisco IOS XR Software RC-333
Contents RC-333
Information About Implementing RIP on Cisco IOS XR Software RC-334
Prerequisites for Implementing RIP on Cisco IOS XR Software RC-334 RIP Functional Overview RC-334 Split Horizon for RIP RC-335 Route Timers for RIP RC-335 Route Redistribution for RIP RC-336 Default Administrative Distances for RIP RC-336 Routing Policy Options for RIP RC-337
How to Implement RIP on Cisco IOS XR Software RC-337
Enabling RIP RC-338 Customize RIP RC-339 Control Routing Information RC-342 Creating a Route Policy for RIP RC-344
Configuration Examples for Implementing RIP on Cisco IOS XR Software RC-347
Configuring a Basic RIP Configuration: Example RC-347 Configuring RIP on the Provider Edge: Example RC-348
RC-x
Cisco IOS XR Routing Configuration Guide
Adjusting RIP Timers for each VRF Instance: Example RC-348 Configuring Redistribution for RIP: Example RC-349 Configuring Route Policies for RIP: Example RC-349 Configuring Passive Interfaces and Explicit Neighbors for RIP: Example RC-350 Controlling RIP Routes: Example RC-350
Additional References RC-350
Related Documents RC-351 Standards RC-351 MIBs RC-351 RFCs RC-351 Technical Assistance RC-352
Implementing Routing Policy on Cisco IOS XR Software RC-353
Contents RC-354
Prerequisites for Implementing Routing Policy on Cisco IOS XR Software RC-354
Contents
Information About Implementing Routing Policy on Cisco IOS XR Software RC-354
Routing Policy Language RC-354 Routing Policy Language Overview RC-355 Routing Policy Configuration Basics RC-363 Policy Definitions RC-363 Parameterization RC-364 Semantics of Policy Application RC-365 Policy Statements RC-370 Attach Points RC-374 Attached Policy Modification RC-406 Nonattached Policy Modification RC-406
How to Implement Routing Policy on Cisco IOS XR Software RC-408
Defining a Route Policy RC-409 Attaching a Routing Policy to a BGP Neighbor RC-410 Modifying a Routing Policy Using a Text Editor RC-412
Configuration Examples for Implementing Routing Policy on Cisco IOS XR Software RC-413
Routing Policy Definition: Example RC-414 Simple Inbound Policy: Example RC-414 Modular Inbound Policy: Example RC-415 Translating Cisco IOS Route Maps to Cisco IOS XR Routing Policy Language: Example RC-416
Additional References RC-416
Related Documents RC-416 Standards RC-417 MIBs RC-417
Cisco IOS XR Routing Configuration Guide
RC-xi
Contents
RFCs RC-417 Technical Assistance RC-417
Implementing Static Routes on Cisco IOS XR Software RC-419
Contents RC-420
Prerequisites for Implementing Static Routes on Cisco IOS XR Software RC-420
Information About Implementing Static Routes on Cisco IOS XR Software RC-420
Static Route Functional Overview RC-420 Default Administrative Distance RC-421 Directly Connected Routes RC-421 Recursive Static Routes RC-422 Fully Specified Static Routes RC-422 Floating Static Routes RC-423 Default VRF RC-423 IPv4 and IPv6 Static VRF Routes RC-423 IPv6/IPv6 VPN Provider Edge Transport over MPLS RC-423
How to Implement Static Routes on Cisco IOS XR Software RC-424
Configuring a Static Route RC-424 Configuring a Floating Static Route RC-425 Configuring Static Routes Between PE-CE Routers RC-427 Changing the Maximum Number of Allowable Static Routes RC-429 Associating a VRF with a Static Route RC-430
Configuration Examples RC-432
Configuring Traffic Discard: Example RC-432 Configuring a Fixed Default Route: Example RC-432 Configuring a Floating Static Route: Example RC-432 Configuring a Static Route Between PE-CE Routers: Example RC-432
Where to Go Next RC-433
Additional References RC-433
Related Documents RC-433 Standards RC-433 MIBs RC-434 RFCs RC-434 Technical Assistance RC-434
RC-xii
Index
Cisco IOS XR Routing Configuration Guide

Preface

The Cisco IOS XR Routing Configuration Guide provides information and procedures related to routing on Cisco IOS XR software.
The preface contains the following sections:
Changes to This Document
Obtaining Documentation and Submitting a Service Request

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
OL-14356-01 December 2007 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.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-xiii
Preface
RC-xiv
Cisco IOS XR Routing Configuration Guide
OL-14356-01

Implementing BGP on Cisco IOS XR Software

Border Gateway Protocol (BGP) is an Exterior Gateway Protocol (EGP) that allows you to create loop-free interdomain routing between autonomous systems. An autonomous system is a set of routers under a single technical administration. Routers in an autonomous system can use multiple Interior Gateway Protocols (IGP) to exchange routing information inside the autonomous system and an EGP to route packets outside the autonomous system.
This module provides the conceptual and configuration information for BGP on Cisco IOS XR software.
Note For more information about BGP on the Cisco IOS XR software and complete descriptions of the BGP
commands listed in this module, you can see the “Related Documents” section of this module. To locate documentation for other commands that might appear while performing a configuration task, search online in the Cisco IOS XR software master command index.
Feature History for Implementing BGP on Cisco IOS XR Software
Release Modification
Release 2.0 This feature was introduced on the Cisco CRS-1.
Release 3.0 No modification.
Release 3.2 Support was added for the Cisco XR 12000 Series Router.
Release 3.3.0 VPN routing and forwarding (VRF) support was added, including
information on VRF command modes and command syntax.
OL-14356-01
BGP cost community information was added.
Release 3.4.0 The following features were supported:
Four-byte autonomous system (AS) number
Carrier supporting carrier (CSC) for BGP was added. See
Cisco IOS XR Multiprotocol Label Switching Protocol Configuration Guide for information
Key chains
Cisco IOS XR Routing Configuration Guide
RC-1

Contents

Contents
Implementing BGP on Cisco IOS XR Software
Release 3.5.0 The following features were supported:
IPv6 Provider Edge and IPv6 VPN Provider Edge over Multiprotocol
Label Switching
Neighbor-specific VRF IPv6 address family configurations
Address family group-specific VPNv6 configurations
VPN4/VPNv6 over IP Core using L2TPv3 Tunnels
Multicast Distribution Tree (MDT) Subaddress Family Identifier
Information (SAFI) support for Multicast VPN (MVPN)
Release 3.6.0 No modification.
Prerequisites for Implementing BGP on Cisco IOS XR Software, page RC-2
Information About Implementing BGP on Cisco IOS XR Software, page RC-2
How to Implement BGP on Cisco IOS XR Software, page RC-42
Configuration Examples for Implementing BGP on Cisco IOS XR Software, page RC-127
Where to Go Next, page RC-132
Additional References, page RC-133

Prerequisites for Implementing BGP on Cisco IOS XR Software

You must be in a user group associated with a task group that includes the proper task IDs for BGP commands. For detailed information about user groups and task IDs, see the Configuring AAA Services on Cisco IOS XR Software module of Cisco IOS XR System Security Configuration Guide.

Information About Implementing BGP on Cisco IOS XR Software

To implement BGP, you need to understand the following concepts:
BGP Functional Overview, page RC-3
BGP Router Identifier, page RC-3
BGP Default Limits, page RC-4
BGP Next Hop Tracking, page RC-5
Autonomous System Number Formats in BGP, page RC-7
BGP Configuration, page RC-7
No Default Address Family, page RC-19
RC-2
Routing Policy Enforcement, page RC-20
Table Policy, page RC-21
Update Groups, page RC-22
BGP Best Path Algorithm, page RC-27
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Administrative Distance, page RC-30
Administrative Distance, page RC-30
Multiprotocol BGP, page RC-32
Route Dampening, page RC-33
BGP Routing Domain Confederation, page RC-34
BGP Route Reflectors, page RC-34
Default Address Family for show Commands, page RC-37
Distributed BGP, page RC-37
MPLS VPN Carrier Supporting Carrier, page RC-38
BGP Keychains, page RC-39
IPv6/IPv6 VPN Provider Edge Transport over MPLS, page RC-39
VPNv4/VPNv6 over the IP Core Using L2TPv3 Tunnels, page RC-40

BGP Functional Overview

Information About Implementing BGP on Cisco IOS XR Software
BGP uses TCP as its transport protocol. Two BGP routers form a TCP connection between one another (peer routers) and exchange messages to open and confirm the connection parameters.
BGP routers exchange network reachability information. This information is mainly an indication of the full paths (BGP autonomous system numbers) that a route should take to reach the destination network. This information helps construct a graph that shows which autonomous systems are loop free and where routing policies can be applied to enforce restrictions on routing behavior.
Any two routers forming a TCP connection to exchange BGP routing information are called peers or neighbors. BGP peers initially exchange their full BGP routing tables. After this exchange, incremental updates are sent as the routing table changes. BGP keeps a version number of the BGP table, which is the same for all of its BGP peers. The version number changes whenever BGP updates the table due to routing information changes. Keepalive packets are sent to ensure that the connection is alive between the BGP peers and notification packets are sent in response to error or special conditions.
Note For information on configuring BGP to distribute Multiprotocol Label Switching (MPLS) Layer 3
virtual private network (VPN) information, see Cisco IOS XR Multiprotocol Label Switching Configuration Guide.
Note For information on BGP support for Bidirectional Forwarding Detection (BFD), see Cisco IOS XR
Interface and Hardware Configuration Guide and Cisco IOS XR Interface and Hardware Command Reference.

BGP Router Identifier

For BGP sessions between neighbors to be established, BGP must be assigned a router ID. The router ID is sent to BGP peers in the OPEN message when a BGP session is established.
BGP attempts to obtain a router ID in the following ways (in order of preference):
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-3
Information About Implementing BGP on Cisco IOS XR Software
By means of the address configured using the bgp router-id command in router configuration mode.
By using the highest IPv4 address on a loopback interface in the system if the router is booted with
saved loopback address configuration.
By using the primary IPv4 address of the first loopback address that gets configured if there are not
any in the saved configuration.
If none of these methods for obtaining a router ID succeeds, BGP does not have a router ID and cannot establish any peering sessions with BGP neighbors. In such an instance, an error message is entered in the system log, and the show bgp summary command displays a router ID of 0.0.0.0.
After BGP has obtained a router ID, it continues to use it even if a better router ID becomes available. This usage avoids unnecessary flapping for all BGP sessions. However, if the router ID currently in use becomes invalid (because the interface goes down or its configuration is changed), BGP selects a new router ID (using the rules described) and all established peering sessions are reset.
Note We strongly recommend that the bgp router-id command is configured to prevent unnecessary changes
to the router ID (and consequent flapping of BGP sessions).
Implementing BGP on Cisco IOS XR Software

BGP Default Limits

Cisco IOS XR BGP imposes maximum limits on the number of neighbors that can be configured on the router and on the maximum number of prefixes that are accepted from a peer for a given address family. This limitation safeguards the router from resource depletion caused by misconfiguration, either locally or on the remote neighbor. The following limits apply to BGP configurations:
The default maximum number of peers that can be configured is 4000. The default can be changed
using the bgp maximum neighbor command. The limit range is 1 to 15000. Any attempt to configure additional peers beyond the maximum limit or set the maximum limit to a number that is less than the number of peers currently configured will fail.
To prevent a peer from flooding BGP with advertisements, a limit is placed on the number of
prefixes that are accepted from a peer for each supported address family. The default limits can be overridden through configuration of the maximum-prefix limit command for the peer for the appropriate address family. The following default limits are used if the user does not configure the maximum number of prefixes for the address family:
512K (524,288) prefixes for IPv4 unicast.
128K (131,072) prefixes for IPv4 multicast.
128K (131,072) prefixes for IPv6 unicast.
128K (131,072) prefixes for IPv6 multicast
512K (524,288) prefixes for VPNv4 unicast
512K (524,288) prefixes for VPNv6 unicast
RC-4
A cease notification message is sent to the neighbor and the peering with the neighbor is terminated when the number of prefixes received from the peer for a given address family exceeds the maximum limit (either set by default or configured by the user) for that address family.
It is possible that the maximum number of prefixes for a neighbor for a given address family has been configured after the peering with the neighbor has been established and a certain number of prefixes have already been received from the neighbor for that address family. A cease notification message is sent to
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
the neighbor and peering with the neighbor is terminated immediately after the configuration if the configured maximum number of prefixes is fewer than the number of prefixes that have already been received from the neighbor for the address family.

BGP Next Hop Tracking

BGP receives notifications from the Routing Information Base (RIB) when next-hop information changes (event-driven notifications). BGP obtains next-hop information from the RIB to:
Determine whether a next hop is reachable.
Find the fully recursed IGP metric to the next hop (used in the best-path calculation).
Validate the received next hops.
Calculate the outgoing next hops.
Verify the reachability and connectedness of neighbors.
BGP is notified when any of the following events occurs:
Next hop becomes unreachable
Information About Implementing BGP on Cisco IOS XR Software
Next hop becomes reachable
Fully recursed IGP metric to the next hop changes
First hop IP address or first hop interface change
Next hop becomes connected
Next hop becomes unconnected
Next hop becomes a local address
Next hop becomes a nonlocal address
Note Reachability and recursed metric events trigger a best-path recalculation.
Event notifications from the RIB are classified as critical and noncritical. Notifications for critical and noncritical events are sent in separate batches. However, a noncritical event is sent along with the critical events if the noncritical event is pending and there is a request to read the critical events.
Critical events are related to the reachability (reachable and unreachable), connectivity (connected
and unconnected), and locality (local and nonlocal) of the next hops. Notifications for these events are not delayed.
Noncritical events include only the IGP metric changes. These events are sent at an interval of 3
seconds. A metric change event is batched and sent 3 seconds after the last one was sent.
The next-hop trigger delay for critical and noncritical events can be configured to specify a minimum batching interval for critical and noncritical events using the nexthop trigger-delay command. The trigger delay is address family dependent.
The BGP next-hop tracking feature allows you to specify that BGP routes are resolved using only next hops whose routes have the following characteristics:
To avoid the aggregate routes, the prefix length must be greater than a specified value.
OL-14356-01
The source protocol must be from a selected list, ensuring that BGP routes are not used to resolve
next hops that could lead to oscillation.
Cisco IOS XR Routing Configuration Guide
RC-5
Information About Implementing BGP on Cisco IOS XR Software
This route policy filtering is possible because RIB identifies the source protocol of route that resolved a next hop as well as the mask length associated with the route. The nexthop route-policy command is used to specify the route-policy.
For information on route policy filtering for next hops using the next-hop attach point, see the
Implementing Routing Policy Language on Cisco IOS XR Software module of Cisco IOS XR Routing Configuration Guide.
Scoped IPv4/VPNv4 Table Walk
To determine which address family to process, a next-hop notification is received by first dereferencing the gateway context associated with the next hop, then looking into the gateway context to determine which address families are using the gateway context. The IPv4 unicast and VPNv4 unicast address families share the same gateway context, because they are registered with the IPv4 unicast table in the RIB. As a result, both the global IPv4 unicast table and the VPNv4 table are processed when an IPv4 unicast next-hop notification is received from the RIB. A mask is maintained in the next hop, indicating whether the next hop belongs to IPv4 unicast or VPNv4 unicast, or both. This scoped table walk localizes the processing in the appropriate address family table.
Implementing BGP on Cisco IOS XR Software
Reordered Address Family Processing
The Cisco IOS XR software walks address family tables based on the numeric value of the address family. When a next-hop notification batch is received, the order of address family processing is reordered to the following order:
IPv4 tunnel
VPNv4 unicast
VPNv6 unicast
IPv4 labeled unicast
IPv4 unicast
IPv4 MDT
IPv4 multicast
IPv6 unicast
IPv6 multicast
IPv6 labeled unicast
New Thread for Next-Hop Processing
The critical-event thread in the spkr process handles only next-hop, Bidirectional Forwarding Detection (BFD), and fast-external-failover (FEF) notifications. This critical-event thread ensures that BGP convergence is not adversely impacted by other events that may take a significant amount of time.
show, clear, and debug Commands
The show bgp nexthops command provides statistical information about next-hop notifications, the amount of time spent in processing those notifications, and details about each next hop registered with the RIB. The clear bgp nexthop performance-statistics command ensures that the cumulative statistics associated with the processing part of the next-hop show command can be cleared to help in monitoring.
Cisco IOS XR Routing Configuration Guide
RC-6
OL-14356-01
Implementing BGP on Cisco IOS XR Software
The clear bgp nexthop registration command performs an asynchronous registration of the next hop with the RIB. See the BGP Commands on Cisco IOS XR Software module of Cisco IOS XR Routing Commands for information on the next-hop show and clear commands.
The debug bgp nexthop command displays information on next-hop processing. The provides debug information only about BGP registration of next hops with RIB. The in keyword displays debug information about next-hop notifications received from RIB. The out keyword displays debug information about next-hop notifications sent to the RIB. See BGP Debug Commands on Cisco IOS XR Software.

Autonomous System Number Formats in BGP

Autonomous system 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.
Currently, ASNs are encoded as 2-byte numbers in BGP. The 2-byte range is 1 to 65535. To prepare for the eventual exhaustion of 2-byte ASNs, BGP has the capability to support 4-byte ASNs. The 4-byte range is 1.0 to 65535.65535 and the format is high-order 16-bit value in decimal . low-order 16-bit value in decimal. The BGP 4-byte ASN capability is used to propagate 4-byte-based AS path information across BGP speakers that do not support 4-byte AS numbers. This capability allows for the gradual transition from 2-byte ASNs to 4-byte ASNs. See draft-ietf-idr-as4bytes-12.txt for information on increasing the size of an ASN from 2 bytes to 4 bytes.
Information About Implementing BGP on Cisco IOS XR Software
out keyword

BGP Configuration

Cisco IOS XR BGP follows a neighbor-based configuration model that requires that all configurations for a particular neighbor be grouped in one place under the neighbor configuration. Peer groups are not supported for either sharing configuration between neighbors or for sharing update messages. The concept of peer group has been replaced by a set of configuration groups to be used as templates in BGP configuration and automatically generated update groups to share update messages between neighbors. BGP configurations are grouped into four major categories:
Router Configuration Mode, page RC-8
Router Address Family Configuration Mode, page RC-8
Neighbor Configuration Mode, page RC-8
Neighbor Address Family Configuration Mode, page RC-8
VRF Configuration Mode, page RC-8
VRF Address Family Configuration Mode, page RC-8
VRF Neighbor Configuration Mode, page RC-8
VRF Neighbor Address Family Configuration Mode, page RC-9
Configuration Modes
The following sections show how to enter some of the configuration modes. From a mode, you can enter the ? command to display the commands available in that mode.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-7
Information About Implementing BGP on Cisco IOS XR Software
Router Configuration Mode
The following example shows how to enter router configuration mode:
RP/0/RP0/CPU0:router# configuration RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)#
Router Address Family Configuration Mode
The following example shows how to enter router address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 112 RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 multicast RP/0/RP0/CPU0:router(config-bgp-af)#
Neighbor Configuration Mode
The following example shows how to enter neighbor configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# neighbor 10.0.0.1 RP/0/RP0/CPU0:router(config-bgp-nbr)#
Implementing BGP on Cisco IOS XR Software
Neighbor Address Family Configuration Mode
The following example shows how to enter neighbor address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 112 RP/0/RP0/CPU0:router(config-bgp)# neighbor 10.0.0.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)#
VRF Configuration Mode
The following example shows how to enter VPN routing and forwarding (VRF) configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# vrf vrf_A RP/0/RP0/CPU0:router(config-bgp-vrf)#
VRF Address Family Configuration Mode
The following example shows how to enter VRF address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 112 RP/0/RP0/CPU0:router(config-bgp)# vrf vrf_A RP/0/RP0/CPU0:router(config-bgp-vrf)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-vrf-af)#
VRF Neighbor Configuration Mode
The following example shows how to enter VRF neighbor configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# vrf vrf_A RP/0/RP0/CPU0:router(config-bgp-vrf)# neighbor 11.0.1.2 RP/0/RP0/CPU0:router(config-bgp-vrf-nbr)#
RC-8
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
VRF Neighbor Address Family Configuration Mode
The following example shows how to enter VRF neighbor address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 112 RP/0/RP0/CPU0:router(config-bgp)# vrf vrf_A RP/0/RP0/CPU0:router(config-bgp-vrf)# neighbor 11.0.1.2 RP/0/RP0/CPU0:router(config-bgp-vrf-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-vrf-nbr-af)#
VPNv4 Address Family Configuration Mode
The following example shows how to enter VPNv4 address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 152 RP/0/RP0/CPU0:router(config-bgp)# address-family vpnv4 unicast RP/0/RP0/CPU0:router(config-bgp-af)#
VPNv6 Address Family Configuration Mode
The following example shows how to enter VPNv6 address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 150 RP/0/RP0/CPU0:router(config-bgp)# address-family vpnv6 unicast RP/0/RP0/CPU0:router(config-bgp-af)#
Information About Implementing BGP on Cisco IOS XR Software
Neighbor Submode
Cisco IOS XR BGP uses a neighbor submode to make it possible to enter configurations without having to prefix every configuration with the neighbor keyword and the neighbor address:
Cisco IOS XR software has a submode available for neighbors in which it is not necessary for every
command to have a “neighbor x.x.x.x” prefix:
In Cisco IOS XR software, the configuration is as follows:
RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.23.1.2 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2002 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 multicast
An address family configuration submode inside the neighbor configuration submode is available
for entering address family-specific neighbor configurations. In Cisco IOS XR, the configuration is as follows:
RP/0/RP0/CPU0:router(config-bgp)# neighbor 2002::2 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2023 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv6 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)# next-hop-self RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-policy one in
You must enter neighbor-specific IPv4, IPv6, VPNv4, or VPNv6 commands in neighbor
address-family configuration submode. In Cisco IOS XR software, the configuration is as follows:
RP/0/RP0/CPU0:router(config)# router bgp 109 RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.40.24 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 1 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)# maximum-prefix 1000
OL-14356-01
You must enter neighbor-specific IPv4 and IPv6 commands in VRF neighbor address-family
configuration submode. In Cisco IOS XR software, the configuration is as follows:
RP/0/RP0/CPU0:router(config)# router bgp 110
Cisco IOS XR Routing Configuration Guide
RC-9
Information About Implementing BGP on Cisco IOS XR Software
RP/0/RP0/CPU0:router(config-bgp)# vrf vrf_A RP/0/RP0/CPU0:router(config-bgp-vrf)# neighbor 11.0.1.2 RP/0/RP0/CPU0:router(config-bgp-vrf-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-vrf-nbr-af)# route-policy pass all in
Configuration Templates
The af-group, session-group, and neighbor-group configuration commands provide template support for the neighbor configuration in Cisco IOS XR software:
The af-group command is used to group address family-specific neighbor commands within an IPv4, IPv6, VPNv4, or VPNv6 address family. Neighbors that have the same address family configuration are able to use the address family group (af-group) name for their address family-specific configuration. A neighbor inherits the configuration from an address family group by way of the use command. If a neighbor is configured to use an address family group, the neighbor (by default) inherits the entire configuration from the address family group. However, a neighbor does not inherit all of the configuration from the address family group if items are explicitly configured for the neighbor. The address family group configuration is entered under the BGP router configuration mode. The following example shows how to enter address family group configuration mode.
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# af-group afmcast1 address-family ipv4 multicast RP/0/RP0/CPU0:router(config-bgp-afgrp)#
Implementing BGP on Cisco IOS XR Software
The session-group command allows you to create a session group from which neighbors can inherit address family-independent configuration. A neighbor inherits the configuration from a session group by way of the use command. If a neighbor is configured to use a session group, the neighbor (by default) inherits the entire configuration of the session group. A neighbor does not inherit all of the configuration from a session group if a configuration is done directly on that neighbor. The following example shows how to enter session group configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# session-group session1 RP/0/RP0/CPU0:router(config-bgp-sngrp)#
The neighbor-group command helps you apply the same configuration to one or more neighbors. Neighbor groups can include session groups and address family groups and can comprise the complete configuration for a neighbor. After a neighbor group is configured, a neighbor can inherit the configuration of the group using the use command. If a neighbor is configured to use a neighbor group, the neighbor inherits the entire BGP configuration of the neighbor group.
The following example shows how to enter neighbor group configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 123 RP/0/RP0/CPU0:router(config-bgp)# neighbor-group nbrgroup1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)#
The following example shows how to enter neighbor group address family configuration mode:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# neighbor-group nbrgroup1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)#
RC-10
However, a neighbor does not inherit all of the configuration from the neighbor group if items are
explicitly configured for the neighbor. In addition, some part of the configuration of the neighbor group could be hidden if a session group or address family group was also being used.
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Configuration grouping has the following effects in Cisco IOS XR software:
Commands entered at the session group level define address family-independent commands (the
same commands as in the neighbor submode).
Commands entered at the address family group level define address family-dependent commands
for a specified address family (the same commands as in the neighbor-address family configuration submode).
Commands entered at the neighbor group level define address family-independent commands and
address family-dependent commands for each address family (the same as all available neighbor commands), and define the use command for the address family group and session group commands.
Template Inheritance Rules
In Cisco IOS XR software, BGP neighbors or groups inherit configuration from other configuration groups.
For address family-independent configurations:
Neighbors can inherit from session groups and neighbor groups.
Neighbor groups can inherit from session groups and other neighbor groups.
Information About Implementing BGP on Cisco IOS XR Software
Session groups can inherit from other session groups.
If a neighbor uses a session group and a neighbor group, the configurations in the session group are
preferred over the global address family configurations in the neighbor group.
For address family-dependent configurations:
Address family groups can inherit from other address family groups.
Neighbor groups can inherit from address family groups and other neighbor groups.
Neighbors can inherit from address family groups and neighbor groups.
Configuration group inheritance rules are numbered in order of precedence as follows:
1. If the item is configured directly on the neighbor, that value is used. In the example that follows, the
advertisement interval is configured both on the neighbor group and neighbor configuration and the advertisement interval being used is from the neighbor configuration:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 10.1.1.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 1 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbr)# advertisement-interval 20
The following output from the show bgp neighbors command shows that the advertisement interval used is 20 seconds:
RP/0/RP0/CPU0:router# show bgp neighbors 10.1.1.1
OL-14356-01
BGP neighbor is 10.1.1.1, remote AS 1, local AS 140, external link Remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:00, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 20 seconds
Cisco IOS XR Routing Configuration Guide
RC-11
Information About Implementing BGP on Cisco IOS XR Software
For Address Family: IPv4 Unicast BGP neighbor version 0 Update group: 0.1 eBGP neighbor with no inbound or outbound policy; defaults to 'drop' Route refresh request: received 0, sent 0 0 accepted prefixes Prefix advertised 0, suppressed 0, withdrawn 0, maximum limit 524288 Threshold for warning message 75%
Connections established 0; dropped 0 Last reset 00:00:14, due to BGP neighbor initialized External BGP neighbor not directly connected.
2. Otherwise, if the neighbor uses a session group or address family group, the configuration value is
obtained from the session group or address family group. If the address family group or session group has a parent and an item is configured on the parent, the parent configuration is used. If the item is not configured on the parent but is configured on the parent of the parent, the configuration of the parent of the parent is used, and so on. In the example that follows, the advertisement interval is configured on a neighbor group and a session group and the advertisement interval value being used is from the session group:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# session-group AS_2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# advertisement-interval 20 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.0.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 1 RP/0/RP0/CPU0:router(config-bgp-nbr)# use session-group AS_2 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group AS_1
Implementing BGP on Cisco IOS XR Software
The following output from the show bgp neighbors command shows that the advertisement interval used is 15 seconds:
RP/0/RP0/CPU0:router# show bgp neighbors 192.168.0.1
BGP neighbor is 192.168.0.1, remote AS 1, local AS 140, external link Remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:00, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 15 seconds
For Address Family: IPv4 Unicast BGP neighbor version 0 Update group: 0.1 eBGP neighbor with no inbound or outbound policy; defaults to 'drop' Route refresh request: received 0, sent 0 0 accepted prefixes Prefix advertised 0, suppressed 0, withdrawn 0, maximum limit 524288 Threshold for warning message 75%
Connections established 0; dropped 0 Last reset 00:03:23, due to BGP neighbor initialized External BGP neighbor not directly connected.
RC-12
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
3. Otherwise, if the neighbor uses a neighbor group and does not use a session group or address family
group, the configuration value can be obtained from the neighbor group either directly or through inheritance. In the example that follows, the advertisement interval from the neighbor group is used because it is not configured directly on the neighbor and no session group is used:
RP/0/RP0/CPU0:router(config)# router bgp 150 RP/0/RP0/CPU0:router(config-bgp)# session-group AS_2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# advertisement-interval 20 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.1.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 1 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group AS_1
The following output from the show bgp neighbors command shows that the advertisement interval used is 15 seconds:
RP/0/RP0/CPU0:router# show bgp neighbors 192.168.1.1
BGP neighbor is 192.168.2.2, remote AS 1, local AS 140, external link Remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:00, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 15 seconds
Information About Implementing BGP on Cisco IOS XR Software
For Address Family: IPv4 Unicast BGP neighbor version 0 Update group: 0.1 eBGP neighbor with no outbound policy; defaults to 'drop' Route refresh request: received 0, sent 0 Inbound path policy configured Policy for incoming advertisements is POLICY_1 0 accepted prefixes Prefix advertised 0, suppressed 0, withdrawn 0, maximum limit 524288 Threshold for warning message 75%
Connections established 0; dropped 0 Last reset 00:01:14, due to BGP neighbor initialized External BGP neighbor not directly connected.
To illustrate the same rule, the following example shows how to set the advertisement interval to 15 (from the session group) and 25 (from the neighbor group). The advertisement interval set in the session group overrides the one set in the neighbor group. The inbound policy is set to POLICY_1 from the neighbor group.
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# session-group ADV RP/0/RP0/CPU0:router(config-bgp-sngrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group ADV_2 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# advertisement-interval 25 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# route-policy POLICY_1 in RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# exit RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.2.2 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 1
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-13
Information About Implementing BGP on Cisco IOS XR Software
RP/0/RP0/CPU0:router(config-bgp-nbr)# use session-group ADV RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group TIMER
The following output from the show bgp neighbors command shows that the advertisement interval used is 15 seconds:
RP/0/RP0/CPU0:router# show bgp neighbors 192.168.2.2
BGP neighbor is 192.168.2.2, remote AS 1, local AS 140, external link Remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:00, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 15 seconds
For Address Family: IPv4 Unicast BGP neighbor version 0 Update group: 0.1 eBGP neighbor with no inbound or outbound policy; defaults to 'drop' Route refresh request: received 0, sent 0 0 accepted prefixes Prefix advertised 0, suppressed 0, withdrawn 0, maximum limit 524288 Threshold for warning message 75%
Implementing BGP on Cisco IOS XR Software
Connections established 0; dropped 0 Last reset 00:02:03, due to BGP neighbor initialized External BGP neighbor not directly connected.
4. Otherwise, the default value is used. In the example that follows, neighbor 10.0.101.5 has the
minimum time between advertisement runs set to 30 seconds (default) because the neighbor is not configured to use the neighbor configuration or the neighbor group configuration:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# remote-as 1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group adv_15 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# remote-as 10 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 10.0.101.5 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group AS_1 RP/0/RP0/CPU0:router(config-bgp-nbr)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 10.0.101.10 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group adv_15
The following output from the show bgp neighbors command shows that the advertisement interval used is 30 seconds:
RP/0/RP0/CPU0:router# show bgp neighbors 10.0.101.5
BGP neighbor is 10.0.101.5, remote AS 1, local AS 140, external link Remote router ID 0.0.0.0 BGP state = Idle Last read 00:00:00, hold time is 180, keepalive interval is 60 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Minimum time between advertisement runs is 30 seconds
RC-14
For Address Family: IPv4 Unicast BGP neighbor version 0 Update group: 0.2 eBGP neighbor with no inbound or outbound policy; defaults to 'drop'
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Route refresh request: received 0, sent 0 0 accepted prefixes Prefix advertised 0, suppressed 0, withdrawn 0, maximum limit 524288 Threshold for warning message 75% Connections established 0; dropped 0 Last reset 00:00:25, due to BGP neighbor initialized External BGP neighbor not directly connected.
The inheritance rules used when groups are inheriting configuration from other groups are the same as the rules given for neighbors inheriting from groups.
Template Inheritance
You can use the following show commands described to monitor BGP inheritance information:
show bgp neighbors, page RC-15
show bgp af-group, page RC-16
show bgp session-group, page RC-17
show bgp neighbor-group, page RC-18
Information About Implementing BGP on Cisco IOS XR Software
show bgp neighbors
Use the show bgp neighbors command to display information about the BGP configuration for neighbors.
Use the configuration keyword to display the effective configuration for the neighbor, including any
settings that have been inherited from session groups, neighbor groups, or address family groups used by this neighbor.
Use the inheritance keyword to display the session groups, neighbor groups, and address family
groups from which this neighbor is capable of inheriting configuration.
The show bgp neighbors command examples that follow are based on the sample configuration:
RP/0/RP0/CPU0:router(config)# router bgp 142 RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_3 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# next-hop-self RP/0/RP0/CPU0:router(config-bgp-afgrp)# route-policy POLICY_1 in RP/0/RP0/CPU0:router(config-bgp-afgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# session-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# advertisement-interval 15 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group GROUP_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# use session-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# ebgp-multihop 3 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# weight 100 RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# send-community-ebgp RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# exit RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 multicast RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# default-originate RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# exit RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.0.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2 RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group GROUP_1 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)# use af-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-nbr-af)# weight 200
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-15
Information About Implementing BGP on Cisco IOS XR Software
The following example displays sample output from the show bgp neighbors command using the inheritance keyword. The example shows that the neighbor inherits session parameters from neighbor
group GROUP_1, which in turn inherits from session group GROUP_2. The neighbor inherits IPv4 unicast parameters from address family group GROUP_3 and IPv4 multicast parameters from neighbor group GROUP_1:
RP/0/RP0/CPU0:router# show bgp neighbors 192.168.0.1 inheritance
Session: n:GROUP_1 s:GROUP_2 IPv4 Unicast: a:GROUP_3 IPv4 Multicast: n:GROUP_1
The following example displays sample output from the show bgp neighbors command using the configuration keyword. The example shows from where each item of configuration was inherited, or if
it was configured directly on the neighbor (indicated by [ ]). For example, the ebgp-multihop 3 command was inherited from neighbor group GROUP_1 and the next-hop-self command was inherited from the address family group GROUP_3:
RP/0/RP0/CPU0:router# show bgp neighbors 192.168.0.1 configuration
neighbor 192.168.0.1 remote-as 2 [] advertisement-interval 15 [n:GROUP_1 s:GROUP_2] ebgp-multihop 3 [n:GROUP_1] address-family ipv4 unicast [] next-hop-self [a:GROUP_3] route-policy POLICY_1 in [a:GROUP_3] weight 200 [] address-family ipv4 multicast [n:GROUP_1] default-originate [n:GROUP_1]
Implementing BGP on Cisco IOS XR Software
show bgp af-group
Use the show bgp af-group command to display address family groups:
Use the configuration keyword to display the effective configuration for the address family group,
including any settings that have been inherited from address family groups used by this address family group.
Use the inheritance keyword to display the address family groups from which this address family
group is capable of inheriting configuration.
Use the users keyword to display the neighbors, neighbor groups, and address family groups that
inherit configuration from this address family group.
The show bgp af-group sample commands that follow are based on this sample configuration:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_3 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# remove-private-as RP/0/RP0/CPU0:router(config-bgp-afgrp)# route-policy POLICY_1 in RP/0/RP0/CPU0:router(config-bgp-afgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_1 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# use af-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-afgrp)# maximum-prefix 2500 75 warning-only RP/0/RP0/CPU0:router(config-bgp-afgrp)# default-originate RP/0/RP0/CPU0:router(config-bgp-afgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_2 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# use af-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-afgrp)# send-community-ebgp RP/0/RP0/CPU0:router(config-bgp-afgrp)# send-extended-community-ebgp RP/0/RP0/CPU0:router(config-bgp-afgrp)# capability orf prefix both
RC-16
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
The following example displays sample output from the show bgp af-group command using the configuration keyword. This example shows from where each configuration item was inherited. The default-originate command was configured directly on this address family group (indicated by [ ]). The remove-private-as command was inherited from address family group GROUP_2, which in turn
inherited from address family group GROUP_3:
RP/0/RP0/CPU0:router# show bgp af-group GROUP_1 configuration
af-group GROUP_1 address-family ipv4 unicast capability orf prefix-list both [a:GROUP_2] default-originate [] maximum-prefix 2500 75 warning-only [] route-policy POLICY_1 in [a:GROUP_2 a:GROUP_3] remove-private-AS [a:GROUP_2 a:GROUP_3] send-community-ebgp [a:GROUP_2] send-extended-community-ebgp [a:GROUP_2]
The following example displays sample output from the show bgp af-group command using the users keyword:
RP/0/RP0/CPU0:router# show bgp af-group GROUP_2 users
IPv4 Unicast: a:GROUP_1
Information About Implementing BGP on Cisco IOS XR Software
The following example displays sample output from the show bgp af-group command using the inheritance keyword. This shows that the specified address family group GROUP_1 directly uses the
GROUP_2 address family group, which in turn uses the GROUP_3 address family group:
RP/0/RP0/CPU0:router# show bgp af-group GROUP_1 inheritance
IPv4 Unicast: a:GROUP_2 a:GROUP_3
show bgp session-group
Use the show bgp session-group command to display session groups:
The output from the show bgp session-group command is based on the following session group configuration:
RP/0/RP0/CPU0:router(config)# router bgp 113 RP/0/RP0/CPU0:router(config-bgp)# session-group GROUP_1 RP/0/RP0/CPU0:router(config-bgp-sngrp)# use session-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# update-source Loopback 0 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# session-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# use session-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-sngrp)# ebgp-multihop 2 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# session-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-sngrp)# dmz-link-bandwidth
Use the configuration keyword to display the effective configuration for the session group,
including any settings that have been inherited from session groups used by this session group.
Use the inheritance keyword to display the session groups from which this session group is capable
of inheriting configuration.
Use the users keyword to display the session groups, neighbor groups, and neighbors that inherit
configuration from this session group.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-17
Information About Implementing BGP on Cisco IOS XR Software
The following is sample output from the show bgp session-group command with the configuration keyword in EXEC mode:
RP/0/RP0/CPU0:router# show bgp session-group GROUP_1 configuration
session-group GROUP_1 ebgp-multihop 2 [s:GROUP_2] update-source Loopback0 [] dmz-link-bandwidth [s:GROUP_2 s:GROUP_3]
The following is sample output from the show bgp session-group command with the inheritance keyword showing that the GROUP_1 session group inherits session parameters from the GROUP_3 and GROUP_2 session groups:
RP/0/RP0/CPU0:router# show bgp session-group GROUP_1 inheritance
Session: s:GROUP_2 s:GROUP_3
The following is sample output from the show bgp session-group command with the users keyword showing that both the GROUP_1 and GROUP_2 session groups inherit session parameters from the GROUP_3 session group:
RP/0/RP0/CPU0:router# show bgp session-group GROUP_3 users
Implementing BGP on Cisco IOS XR Software
Session: s:GROUP_1 s:GROUP_2
show bgp neighbor-group
Use the show bgp neighbor-group command to display neighbor groups:
Use the configuration keyword to display the effective configuration for the neighbor group,
Use the inheritance keyword to display the address family groups, session groups, and neighbor
Use the users keyword to display the neighbors and neighbor groups that inherit configuration from
The examples are based on the following group configuration:
RP/0/RP0/CPU0:router(config)# router bgp 140 RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_3 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# remove-private-as RP/0/RP0/CPU0:router(config-bgp-afgrp)# soft-reconfiguration inbound RP/0/RP0/CPU0:router(config-bgp-afgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# af-group GROUP_2 address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-afgrp)# use af-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-afgrp)# send-community-ebgp RP/0/RP0/CPU0:router(config-bgp-afgrp)# send-extended-community-ebgp RP/0/RP0/CPU0:router(config-bgp-afgrp)# capability orf prefix both RP/0/RP0/CPU0:router(config-bgp-afgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# session-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-sngrp)# timers 30 90 RP/0/RP0/CPU0:router(config-bgp-sngrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group GROUP_1 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# remote-as 1982 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# use neighbor-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# exit RP/0/RP0/CPU0:router(config-nbrgrp)# exit RP/0/RP0/CPU0:router(config-bgp)# neighbor-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# use session-group GROUP_3 RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast
including any settings that have been inherited from neighbor groups used by this neighbor group.
groups from which this neighbor group is capable of inheriting configuration.
this neighbor group.
RC-18
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# use af-group GROUP_2 RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# weight 100
The following is sample output from the show bgp neighbor-group command with the configuration keyword. The configuration setting source is shown to the right of each command. In the output shown previously, the remote autonomous system is configured directly on neighbor group GROUP_1, and the send community setting is inherited from neighbor group GROUP_2, which in turn inherits the setting from address family group GROUP_3:
RP/0/RP0/CPU0:router# show bgp neighbor-group GROUP_1 configuration
neighbor-group GROUP_1 remote-as 1982 [] timers 30 90 [n:GROUP_2 s:GROUP_3] address-family ipv4 unicast [] capability orf prefix-list both [n:GROUP_2 a:GROUP_2] remove-private-AS [n:GROUP_2 a:GROUP_2 a:GROUP_3] send-community-ebgp [n:GROUP_2 a:GROUP_2] send-extended-community-ebgp [n:GROUP_2 a:GROUP_2] soft-reconfiguration inbound [n:GROUP_2 a:GROUP_2 a:GROUP_3] weight 100 [n:GROUP_2]
The following is sample output from the show bgp neighbor-group command with the inheritance keyword. This output shows that the specified neighbor group GROUP_1 inherits session (address family-independent) configuration parameters from neighbor group GROUP_2. Neighbor group GROUP_2 inherits its session parameters from session group GROUP_3. It also shows that the GROUP_1 neighbor group inherits IPv4 unicast configuration parameters from the GROUP_2 neighbor group, which in turn inherits them from the GROUP_2 address family group, which itself inherits them from the GROUP_3 address family group:
RP/0/RP0/CPU0:router# show bgp neighbor-group GROUP_1 inheritance
Information About Implementing BGP on Cisco IOS XR Software
Session: n:GROUP-2 s:GROUP_3 IPv4 Unicast: n:GROUP_2 a:GROUP_2 a:GROUP_3
The following is sample output from the show bgp neighbor-group command with the users keyword. This output shows that the GROUP_1 neighbor group inherits session (address family-independent) configuration parameters from the GROUP_2 neighbor group. The GROUP_1 neighbor group also inherits IPv4 unicast configuration parameters from the GROUP_2 neighbor group:
RP/0/RP0/CPU0:router# show bgp neighbor-group GROUP_2 users
Session: n:GROUP_1 IPv4 Unicast: n:GROUP_1

No Default Address Family

BGP does not support the concept of a default address family. An address family must be explicitly configured under the BGP router configuration for the address family to be activated in BGP. Similarly, an address family must be explicitly configured under a neighbor for the BGP session to be activated under that address family. It is not required to have any address family configured under the BGP router configuration level for a neighbor to be configured. However, it is a requirement to have an address family configured at the BGP router configuration level for the address family to be configured under a neighbor.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-19
Information About Implementing BGP on Cisco IOS XR Software

Routing Policy Enforcement

External BGP (eBGP) neighbors must have an inbound and outbound policy configured. If no policy is configured, no routes are accepted from the neighbor, nor are any routes advertised to it. This added security measure ensures that routes cannot accidentally be accepted or advertised in the case of a configuration omission error.
Note This enforcement affects only eBGP neighbors (neighbors in a different autonomous system than this
router). For internal BGP (iBGP) neighbors (neighbors in the same autonomous system), all routes are accepted or advertised if there is no policy.
In the following example, for an eBGP neighbor, if all routes should be accepted and advertised with no modifications, a simple pass-all policy is configured:
RP/0/RP0/CPU0:router(config)# route-policy pass-all RP/0/RP0/CPU0:router(config-rpl)# pass RP/0/RP0/CPU0:router(config-rpl)# end-policy RP/0/RP0/CPU0:router(config)# commit
Use the route-policy (BGP) command in the neighbor address-family configuration mode to apply the pass-all policy to a neighbor. The following example shows how to allow all IPv4 unicast routes to be received from neighbor 192.168.40.42 and advertise all IPv4 unicast routes back to it:
RP/0/RP0/CPU0:router(config)# router bgp 1 RP/0/RP0/CPU0:router(config-bgp)# neighbor 192.168.40.24 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 21 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-policy pass-all in RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-policy pass-all out RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
Implementing BGP on Cisco IOS XR Software
Use the show bgp summary command to display eBGP neighbors that do not have both an inbound and outbound policy for every active address family. In the following example, such eBGP neighbors are indicated in the output with an exclamation (!) mark:
RP/0/RP0/CPU0:router# show bgp all all summary
Address Family: IPv4 Unicast ============================
BGP router identifier 10.0.0.1, local AS number 1 BGP generic scan interval 60 secs BGP main routing table version 41 BGP scan interval 60 secs BGP is operating in STANDALONE mode.
Process RecvTblVer bRIB/RIB SendTblVer Speaker 41 41 41
Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd
10.0.101.1 0 1 919 925 41 0 0 15:15:08 10
10.0.101.2 0 2 0 0 0 0 0 00:00:00 Idle
Address Family: IPv4 Multicast ==============================
BGP router identifier 10.0.0.1, local AS number 1 BGP generic scan interval 60 secs BGP main routing table version 1
RC-20
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
BGP scan interval 60 secs BGP is operating in STANDALONE mode.
Process RecvTblVer bRIB/RIB SendTblVer Speaker 1 1 1
Some configured eBGP neighbors do not have both inbound and outbound policies configured for IPv4 Multicast address family. These neighbors will default to sending and/or receiving no routes and are marked with ’!’ in the output below. Use the ’show bgp neighbor <nbr_address>’ command for details.
Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd
10.0.101.2 0 2 0 0 0 0 0 00:00:00 Idle!
Address Family: IPv6 Unicast ============================
BGP router identifier 10.0.0.1, local AS number 1 BGP generic scan interval 60 secs BGP main routing table version 2 BGP scan interval 60 secs BGP is operating in STANDALONE mode.
Information About Implementing BGP on Cisco IOS XR Software
Process RecvTblVer bRIB/RIB SendTblVer Speaker 2 2 2
Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 2222::2 0 2 920 918 2 0 0 15:15:11 1 2222::4 0 3 0 0 0 0 0 00:00:00 Idle
Address Family: IPv6 Multicast ==============================
BGP router identifier 10.0.0.1, local AS number 1 BGP generic scan interval 60 secs BGP main routing table version 1 BGP scan interval 60 secs BGP is operating in STANDALONE mode.
Process RecvTblVer bRIB/RIB SendTblVer Speaker 1 1 1
Some configured eBGP neighbors do not have both inbound and outbound policies configured for IPv6 Multicast address family. These neighbors will default to sending and/or receiving no routes and are marked with ’!’ in the output below. Use the ’show bgp neighbor <nbr_address>’ command for details.
Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 2222::2 0 2 920 918 0 0 0 15:15:11 0 2222::4 0 3 0 0 0 0 0 00:00:00 Idle!

Table Policy

OL-14356-01
The table policy feature in BGP allows you to configure traffic index values on routes as they are installed in the global routing table. This feature is enabled using the table-policy command and supports the BGP policy accounting feature.
Cisco IOS XR Routing Configuration Guide
RC-21
Information About Implementing BGP on Cisco IOS XR Software
BGP policy accounting uses traffic indices that are set on BGP routes to track various counters. See
Implementing Routing Policy on Cisco IOS XR Software for details on table policy use. See the Cisco Express Forwarding Commands on Cisco IOS XR Software module in Cisco IOS XR IP Addresses and Services Command Reference for details on BGP policy accounting.
Table policy also provides the ability to drop routes from the RIB based on match criteria. This feature can be useful in certain applications and should be used with caution as it can easily create a routing ‘black hole’ where BGP advertises routes to neighbors that BGP does not install in its global routing table and forwarding table.

Update Groups

The BGP Update Groups feature contains an algorithm that dynamically calculates and optimizes update groups of neighbors that share outbound policies and can share the update messages. The BGP Update Groups feature separates update group replication from peer group configuration, improving convergence time and flexibility of neighbor configuration.
To use this feature, you must understand the following concepts:
BGP Update Generation and Update Groups, page RC-22
BGP Update Group, page RC-22
Implementing BGP on Cisco IOS XR Software
BGP Update Generation and Update Groups
The BGP Update Groups feature separates BGP update generation from neighbor configuration. The BGP Update Groups feature introduces an algorithm that dynamically calculates BGP update group membership based on outbound routing policies. This feature does not require any configuration by the network operator. Update group-based message generation occurs automatically and independently.
BGP Update Group
When a change to the configuration occurs, the router automatically recalculates update group memberships and applies the changes.
For the best optimization of BGP update group generation, we recommend that the network operator keeps outbound routing policy the same for neighbors that have similar outbound policies. This feature contains commands for monitoring BGP update groups. For more information about the commands, see the “Monitoring BGP Update Groups” section on page RC-126.

BGP Cost Community

The BGP cost community is a nontransitive extended community attribute that is passed to internal BGP (iBGP) and confederation peers but not to external BGP (eBGP) peers. The cost community feature allows you to customize the local route preference and influence the best-path selection process by assigning cost values to specific routes. The extended community format defines generic points of insertion (POI) that influence the best-path decision at different points in the best-path algorithm.
The cost community attribute is applied to internal routes by configuring the set extcommunity cost command in a route policy. See the Routing Policy Language Commands on Cisco IOS XR Software module of Cisco IOS XR Routing Command Reference for information on the set extcommunity cost command. The cost community set clause is configured with a cost community ID number (0–255) and cost community number (0–4294967295). The cost community number determines the preference for
RC-22
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Information About Implementing BGP on Cisco IOS XR Software
the path. The path with the lowest cost community number is preferred. Paths that are not specifically configured with the cost community number are assigned a default cost community number of 2147483647 (the midpoint between 0 and 4294967295) and evaluated by the best-path selection process accordingly. When two paths have been configured with the same cost community number, the path selection process prefers the path with the lowest cost community ID. The cost-extended community attribute is propagated to iBGP peers when extended community exchange is enabled.
The following commands can be used to apply the route policy that is configured with the cost community set clause:
route-policy at:
aggregate-address
redistribute
network
How BGP Cost Community Influences the Best Path Selection Process
The cost community attribute influences the BGP best-path selection process at the point of insertion (POI). By default, the POI follows the Interior Gateway Protocol (IGP) metric comparison. When BGP receives multiple paths to the same destination, it uses the best-path selection process to determine which path is the best path. BGP automatically makes the decision and installs the best path in the routing table. The POI allows you to assign a preference to a specific path when multiple equal cost paths are available. If the POI is not valid for local best-path selection, the cost community attribute is silently ignored.
Cost communities are sorted first by POI then by community ID. Multiple paths can be configured with the cost community attribute for the same POI. The path with the lowest cost community ID is considered first. In other words, all cost community paths for a specific POI are considered, starting with the one with the lowest cost community. Paths that do not contain the cost community cost (for the POI and community ID being evaluated) are assigned the default community cost value (2147483647). If the cost community values are equal, then cost community comparison proceeds to the next lowest community ID for this POI.
OL-14356-01
To select the path with the lower cost community, simultaneously walk through the cost communities of both paths. This is done by maintaining two pointers to the cost community chain, one for each path, and advancing both pointers to the next applicable cost community at each step of the walk for the given POI, in order of community ID, and stop when a best path is chosen or the comparison is a tie. At each step of the walk, the following checks are done:
If neither pointer refers to a cost community,
Declare a tie;
Elseif a cost community is found for one path but not for the other,
Choose the path with cost community as best path;
Elseif the Community ID from one path is less than the other,
Choose the path with the lesser Community ID as best path;
Elseif the Cost from one path is less than the other,
Choose the path with the lesser Cost as best path;
Else Continue.
Note Paths that are not configured with the cost community attribute are considered by the best-path selection
process to have the default cost value (half of the maximum value [4294967295] or 2147483647).
Applying the cost community attribute at the POI allows you to assign a value to a path originated or learned by a peer in any part of the local autonomous system or confederation. The cost community can be used as a “tie breaker” during the best-path selection process. Multiple instances of the cost community can be configured for separate equal cost paths within the same autonomous system or
Cisco IOS XR Routing Configuration Guide
RC-23
Information About Implementing BGP on Cisco IOS XR Software
confederation. For example, a lower cost community value can be applied to a specific exit path in a network with multiple equal cost exit points, and the specific exit path is preferred by the BGP best-path selection process. See the scenario described in the “Influencing Route Preference in a Multiexit IGP
Network” section on page RC-25.
Note The cost community comparison in BGP is enabled by default. Use the bgp bestpath cost-community
ignore command to disable the comparison.
See the “BGP Best Path Algorithm” section on page RC-27 for information on the BGP best-path selection process.
Cost Community Support for Aggregate Routes and Multipaths
The BGP cost community feature supports aggregate routes and multipaths. The cost community attribute can be applied to either type of route. The cost community attribute is passed to the aggregate or multipath route from component routes that carry the cost community attribute. Only unique IDs are passed, and only the highest cost of any individual component route is applied to the aggregate for each ID. If multiple component routes contain the same ID, the highest configured cost is applied to the route. For example, the following two component routes are configured with the cost community attribute using an inbound route policy:
10.0.0.1
Implementing BGP on Cisco IOS XR Software
POI=IGP
cost community ID=1
cost number=100
192.168.0.1
POI=IGP
cost community ID=1
cost number=200
If these component routes are aggregated or configured as a multipath, the cost value 200 is advertised, because it has the highest cost.
If one or more component routes do not carry the cost community attribute or the component routes are configured with different IDs, then the default value (2147483647) is advertised for the aggregate or multipath route. For example, the following three component routes are configured with the cost community attribute using an inbound route policy. However, the component routes are configured with two different IDs.
10.0.0.1
POI=IGP
cost community ID=1
cost number=100
172.16.0.1
RC-24
POI=IGP
cost community ID=2
cost number=100
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
192.168.0.1
POI=IGP
cost community ID=1
cost number=200
The single advertised path includes the aggregate cost communities as follows:
{POI=IGP, ID=1, Cost=2147483647} {POI-IGP, ID=2, Cost=2147483647}
Influencing Route Preference in a Multiexit IGP Network
Figure 1 shows an IGP network with two autonomous system boundary routers (ASBRs) on the edge.
Each ASBR has an equal cost path to network 10.8/16.
Figure 1 Multiexit Point IGP Network
Information About Implementing BGP on Cisco IOS XR Software
ISP2 PE1
10.8/16
ISP2 PE2
ASBR1ASBR2
ISP1 PE2
172.19.20/24
ISP1 PE1
172.19.20/24
10.8/16
89045
Both paths are considered to be equal by BGP. If multipath loadsharing is configured, both paths to the routing table are installed and are used to balance the load of traffic. If multipath load balancing is not configured, the BGP selects the path that was learned first as the best path and installs this path to the routing table. This behavior may not be desirable under some conditions. For example, the path is learned from ISP1 PE2 first, but the link between ISP1 PE2 and ASBR1 is a low-speed link.
The configuration of the cost community attribute can be used to influence the BGP best-path selection process by applying a lower-cost community value to the path learned by ASBR2. For example, the following configuration is applied to ASBR2:
RP/0/RP0/CPU0:router(config)# route-policy ISP2_PE1 RP/0/RP0/CPU0:router(config-rpl)# set extcommunity cost (1:1)
The preceding route policy applies a cost community number of 1 to the 10.8.0.0 route. By default, the path learned from ASBR1 is assigned a cost community number of 2147483647. Because the path learned from ASBR2 has a lower-cost community number, the path is preferred.
BGP Cost Community Support for EIGRP MPLS VPN PE-CE with Back-door Links
Back-door links in an EIGRP MPLS VPN topology is preferred by BGP if the back-door link is learned first. (A back-door link, or route, is a connection that is configured outside of the VPN between a remote and main site; for example, a WAN leased line that connects a remote site to the corporate network.)
Cisco IOS XR Routing Configuration Guide
OL-14356-01
RC-25
Information About Implementing BGP on Cisco IOS XR Software
CE1 CE2
The “prebest path” point of insertion (POI) in the BGP cost community feature supports mixed EIGRP VPN network topologies that contain VPN and back-door links. This POI is applied automatically to EIGRP routes that are redistributed into BGP. The “prebest path” POI carries the EIGRP route type and metric. This POI influences the best-path calculation process by influencing BGP to consider the POI before any other comparison step. No configuration is required. This feature is enabled automatically for EIGRP VPN sites when Cisco IOS XR software is installed on a PE, CE, or back-door router.
For information about configuring EIGRP MPLS VPNs, see Cisco IOS XR Multiprotocol Label Switching Configuration Guide.
Figure 2 shows how cost community can be used to support backdoor links in a network.
Figure 2 Network Showing How Cost Community Can be Used to Support Backdoor Links
Implementing BGP on Cisco IOS XR Software
CE3 CE4
PE1 PE2
MBGP
CE1 CE2
Back door
10.1.1.0/24
The following sequence of events happens in PE1:
1. PE1 learns IPv4 prefix 10.1.1.0/24 from CE1 through EIGRP running a virtual routing and
forwarding (VRF) instance. EIGRP selects and installs the best path in the RIB. It also encodes the cost-extended community and adds the information to the RIB.
2. The route is redistributed into BGP (assuming that IGP-to-BGP redistribution is configured).
BGP also receives the cost-extended community from the route through the redistribution process.
3. After BGP has determined the best path for the newly redistributed prefix, the path is advertised
to PE peers (PE2).
4. PE2 receives the BGP VPNv4 prefix route_distinguisher:10.1.1.0/24 along with the cost
community. It is likely that CE2 advertises the same prefix (because of the back-door link between CE1 and CE2) to PE2 through EIGRP. PE2 BGP would have already learned the CE route through the redistribution process along with the cost community value.
210085
5. PE2 has two paths within BGP: one with cost community cost1 through multipath BGP (PE1)
and another with cost community cost2 through the EIGRP neighbor (CE2).
6. PE2 runs the enhanced BGP best-path calculation.
7. PE2 installs the best path in the RIB passing the appropriate cost community value.
8. PE2 RIB has two paths for 10.1.1.0/24: one with cost community cost2 added by EIGRP and
another with the cost community cost1 added by BGP. Because both the route paths have cost community, RIB compares the costs first. The BGP path has the lower cost community, so it is selected and downloaded to the RIB.
9. PE2 RIB redistributes the BGP path into EIGRP with VRF. EIGRP runs a diffusing update
algorithm (DUAL) because there are two paths, and selects the BGP-redistributed path.
10. PE2 EIGRP advertises the path to CE2 making the path the next hop for the prefix to send the
traffic over the MPLS network.
Cisco IOS XR Routing Configuration Guide
RC-26
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Adding Routes to the Routing Information Base
If a nonsourced path becomes the best path after the best-path calculation, BGP adds the route to the Routing Information Base (RIB) and passes the cost communities along with the other IGP extended communities.
When a route with paths is added to the RIB by a protocol, RIB checks the current best paths for the route and the added paths for cost extended communities. If cost-extended communities are found, the RIB compares the set of cost communities. If the comparison does not result in a tie, the appropriate best path is chosen. If the comparison results in a tie, the RIB proceeds with the remaining steps of the best-path algorithm. If a cost community is not present in either the current best paths or added paths, then the RIB continues with the remaining steps of the best-path algorithm. See the “BGP Best Path
Algorithm” section on page RC-27 for information on the BGP best-path algorithm.

BGP Best Path Algorithm

BGP routers typically receive multiple paths to the same destination. The BGP best-path algorithm determines the best path to install in the IP routing table and to use for forwarding traffic. This section describes the Cisco IOS XR implementation of BGP best-path algorithm, as specified in Section 9.1 of the Internet Engineering Task Force (IETF) Network Working Group draft-ietf-idr-bgp4-24.txt document.
The BGP best-path algorithm implementation is in three parts:
Part 1—Compares two paths to determine which is better.
Information About Implementing BGP on Cisco IOS XR Software
Part 2—Iterates over all paths and determines which order to compare the paths to select the overall
best path.
Part 3—Determines whether the old and new best paths differ enough so that the new best path
should be used.
Note The order of comparison determined by Part 2 is important because the comparison operation is not
transitive; that is, if three paths, A, B, and C exist, such that when A and B are compared, A is better, and when B and C are compared, B is better, it is not necessarily the case that when A and C are compared, A is better. This nontransitivity arises because the multi exit discriminator (MED) is compared only among paths from the same neighboring autonomous system (AS) and not among all paths.
Comparing Pairs of Paths
The following steps are completed to compare two paths and determine the better path:
1. If either path is invalid (for example, a path has the maximum possible MED value or it has an
unreachable next hop), then the other path is chosen (provided that the path is valid).
2. If the paths have unequal pre-bestpath cost communities, the path with the lower pre-bestpath cost
community is selected as the best path.
Note See the “BGP Cost Community” section on page RC-22 for details on how cost communities are
compared.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-27
Information About Implementing BGP on Cisco IOS XR Software
3. If the paths have unequal weights, the path with the highest weight is chosen. Note: the weight is
entirely local to the router, and can be set with the weight command or using a routing policy.
4. If the paths have unequal local preferences, the path with the higher local preference is chosen. Note:
If a local preference attribute was received with the path or was set by a routing policy, then that value is used in this comparison. Otherwise, the default local preference value of 100 is used. The default value can be changed using the bgp default local-preference command.
5. If one of the paths is a redistributed path, which results from a redistribute or network command,
then it is chosen. Otherwise, if one of the paths is a locally generated aggregate, which results from an aggregate-address command, it is chosen.
Note Step 1 through Step 4 implement the “Degree of Preference” calculation from Section 9.1.1 of
draft-ietf-idr-bgp4-24.txt.
6. If the paths have unequal AS path lengths, the path with the shorter AS path is chosen. This step is
skipped if bgp bestpath as-path ignore command is configured. Note: when calculating the length of the AS path, confederation segments are ignored, and AS sets count as 1. (See Section 9.1.2.2a of draft-ietf-idr-bgp4-24.txt.)
Implementing BGP on Cisco IOS XR Software
7. If the paths have different origins, the path with the lower origin is selected. Interior Gateway
Protocol (IGP) is considered lower than EGP, which is considered lower than INCOMPLETE. (See Section 9.1.2.2b of draft-ietf-idr-bgp4-24.txt.)
8. If appropriate, the MED of the paths is compared. If they are unequal, the path with the lower MED
is chosen.
A number of configuration options exist that affect whether or not this step is performed. In general, the MED is compared if both paths were received from neighbors in the same AS; otherwise the MED comparison is skipped. However, this behavior is modified by certain configuration options, and there are also some corner cases to consider. (See Section 9.1.2.2c of draft-ietf-idr-bgp4-24.txt.)
If the bgp bestpath med always command is configured, then the MED comparison is always performed, regardless of neighbor AS in the paths. Otherwise, MED comparison depends on the AS paths of the two paths being compared, as follows:
a. If a path has no AS path or the AS path starts with an AS_SET, then the path is considered to
be internal, and the MED is compared with other internal paths
b. If the AS path starts with an AS_SEQUENCE, then the neighbor AS is the first AS number in
the sequence, and the MED is compared with other paths that have the same neighbor AS
c. If the AS path contains only confederation segments or starts with confederation segments
followed by an AS_SET, then the MED is not compared with any other path unless the bgp bestpath med confed command is configured. In that case, the path is considered internal and
the MED is compared with other internal paths.
d. If the AS path starts with confederation segments followed by an AS_SEQUENCE, then the
neighbor AS is the first AS number in the AS_SEQUENCE, and the MED is compared with other paths that have the same neighbor AS.
RC-28
Note If no MED attribute was received with the path, then the MED is considered to be 0 unless the
bgp bestpath med missing-as-worst command is configured. In that case, if no MED attribute was received, the MED is considered to be the highest possible value.
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
9. If one path is received from an external peer and the other is received from an internal (or
confederation) peer, the path from the external peer is chosen. (See Section 9.1.2.2d of draft-ietf-idr-bgp4-24.txt.)
10. If the paths have different IGP metrics to their next hops, the path with the lower IGP metric is
chosen. (See Section 9.1.2.2e of draft-ietf-idr-bgp4-24.txt.)
11. If the paths have unequal IP cost communities, the path with the lower IP cost community is selected
as the best path.
Note See the “BGP Cost Community” section on page RC-22 for details on how cost communities are
compared.
12. If all path parameters in Step 1 through Step 10 are the same, then the router IDs are compared. If
the path was received with an originator attribute, then that is used as the router ID to compare; otherwise, the router ID of the neighbor from which the path was received is used. If the paths have different router IDs, the path with the lower router ID is chosen. Note: where the originator is used as the router ID, it is possible to have two paths with the same router ID. It is also possible to have two BGP sessions with the same peer router, and therefore receive two paths with the same router ID. (See Section 9.1.2.2f of draft-ietf-idr-bgp4-24.txt.)
Information About Implementing BGP on Cisco IOS XR Software
13. If the paths have different cluster lengths, the path with the shorter cluster length is selected. If a
14. Finally, the path received from the neighbor with the lower IP address is chosen. Locally generated
Order of Comparisons
The second part of the BGP best-path algorithm implementation determines the order in which the paths should be compared. The order of comparison is determined as follows:
1. The paths are partitioned into groups such that within each group the MED can be compared among
2. The best path in each group is determined. Determining the best path is achieved by iterating through
3. A set of paths is formed containing the best path selected from each group in Step 2. The overall
path was not received with a cluster list attribute, it is considered to have a cluster length of 0.
paths (for example, redistributed paths) are considered to have a neighbor IP address of 0. (See Section 9.1.2.2g of draft-ietf-idr-bgp4-24.txt.)
all paths. The same rules as in the “Comparing Pairs of Paths” section on page RC-27 are used to determine whether MED can be compared between any two paths. Normally, this comparison results in one group for each neighbor AS. If the bgp bestpath med always command is configured, then there is just one group containing all the paths.
all paths in the group and keeping track of the best one seen so far. Each path is compared with the best-so-far, and if it is better, it becomes the new best-so-far and is compared with the next path in the group.
best path is selected from this set of paths, by iterating through them as in Step 2.
Best Path Change Suppression
The third part of the implementation is to determine whether the best-path change can be suppressed or not—whether the new best path should be used, or continue using the existing best path. The existing best path can continue to be used if the new one is identical to the point at which the best-path selection algorithm becomes arbitrary (if the router-id is the same). Continuing to use the existing best path can avoid churn in the network.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-29
Information About Implementing BGP on Cisco IOS XR Software
Note This suppression behavior does not comply with the IETF Networking Working Group
draft-ietf-idr-bgp4-24.txt document, but is specified in the IETF Networking Working Group draft-ietf-idr-avoid-transition-00.txt document.
The suppression behavior can be turned off by configuring the bgp bestpath compare-routerid command. If this command is configured, the new best path is always preferred to the existing one.
Otherwise, the following steps are used to determine whether the best-path change can be suppressed:
1. If the existing best path is no longer valid, the change cannot be suppressed.
2. If either the existing or new best paths were received from internal (or confederation) peers or were
locally generated (for example, by redistribution), then the change cannot be suppressed. That is, suppression is possible only if both paths were received from external peers.
3. If the paths were received from the same peer (the paths would have the same router-id), the change
cannot be suppressed. The router ID is calculated using rules in the “Comparing Pairs of Paths”
section on page RC-27.
4. If the paths have different weights, local preferences, origins, or IGP metrics to their next hops, then
the change cannot be suppressed. Note that all of these values are calculated using the rules in the
“Comparing Pairs of Paths” section on page RC-27.
5. If the paths have different-length AS paths and the bgp bestpath as-path ignore command is not
configured, then the change cannot be suppressed. Again, the AS path length is calculated using the rules in the “Comparing Pairs of Paths” section on page RC-27.
Implementing BGP on Cisco IOS XR Software
6. If the MED of the paths can be compared and the MEDs are different, then the change cannot be
suppressed. The decision as to whether the MEDs can be compared is exactly the same as the rules in the “Comparing Pairs of Paths” section on page RC-27, as is the calculation of the MED value.
7. If all path parameters in Step 1 through Step 6 do not apply, the change can be suppressed.

Administrative Distance

An administrative distance is a rating of the trustworthiness of a routing information source. In general, the higher the value, the lower the trust rating. For information on specifying the administrative distance for BGP, see the BGP Commands on Cisco IOS XR Software module of Cisco IOS XR Routing Command Reference.
Normally, a route can be learned through more than one protocol. Administrative distance is used to discriminate between routes learned from more than one protocol. The route with the lowest administrative distance is installed in the IP routing table. By default, BGP uses the administrative distances shown in Table 1.
Table 1 BGP Default Administrative Distances
Distance Default Value Function
External 20 Applied to routes learned from eBGP.
Internal 200 Applied to routes learned from iBGP.
Local 200 Applied to routes originated by the router.
RC-30
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Note Distance does not influence the BGP path selection algorithm, but it does influence whether
BGP-learned routes are installed in the IP routing table.
In most cases, when a route is learned through eBGP, it is installed in the IP routing table because of its distance (20). Sometimes, however, two ASs have an IGP-learned back-door route and an eBGP-learned route. Their policy might be to use the IGP-learned path as the preferred path and to use the eBGP-learned path when the IGP path is down. See Figure 3.
Figure 3 Back Door Example
Information About Implementing BGP on Cisco IOS XR Software
AS 100
150.10.0.0
Router A Router B
2.2.2.2 3.3.3.3
eBGP eBGP
IGP
AS 300
170.10.0.0
3.3.3.12.2.2.1
Router C
AS 200
160.10.0.0
149547
In Figure 3, Routers A and C and Routers B and C are running eBGP. Routers A and B are running an IGP (such as Routing Information Protocol [RIP], Interior Gateway Routing Protocol [IGRP], Enhanced IGRP, or Open Shortest Path First [OSPF]). The default distances for RIP, IGRP, Enhanced IGRP, and OSPF are 120, 100, 90, and 110, respectively. All these distances are higher than the default distance of eBGP, which is 20. Usually, the route with the lowest distance is preferred.
Router A receives updates about 160.10.0.0 from two routing protocols: eBGP and IGP. Because the default distance for eBGP is lower than the default distance of the IGP, Router A chooses the eBGP-learned route from Router C. If you want Router A to learn about 160.10.0.0 from Router B (IGP), establish a BGP back door. See “Indicating BGP Back-door Routes” section on page RC-58.
In the following example, a network back-door is configured:
RP/0/RP0/CPU0:router(config)# router bgp 100 RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-af)# network 160.10.0.0/16 backdoor
OL-14356-01
Router A treats the eBGP-learned route as local and installs it in the IP routing table with a distance of
200. The network is also learned through Enhanced IGRP (with a distance of 90), so the Enhanced IGRP route is successfully installed in the IP routing table and is used to forward traffic. If the Enhanced IGRP-learned route goes down, the eBGP-learned route is installed in the IP routing table and is used to forward traffic.
Although BGP treats network 160.10.0.0 as a local entry, it does not advertise network 160.10.0.0 as it normally would advertise a local entry.
Cisco IOS XR Routing Configuration Guide
RC-31
Information About Implementing BGP on Cisco IOS XR Software

Multiprotocol BGP

Multiprotocol BGP is an enhanced BGP that carries routing information for multiple network layer protocols and IP multicast routes. BGP carries two sets of routes, one set for unicast routing and one set for multicast routing. The routes associated with multicast routing are used by the Protocol Independent Multicast (PIM) feature to build data distribution trees.
Multiprotocol BGP is useful when you want a link dedicated to multicast traffic, perhaps to limit which resources are used for which traffic. Multiprotocol BGP allows you to have a unicast routing topology different from a multicast routing topology providing more control over your network and resources.
In BGP, the only way to perform interdomain multicast routing was to use the BGP infrastructure that was in place for unicast routing. Perhaps you want all multicast traffic exchanged at one network access point (NAP). If those routers were not multicast capable, or there were differing policies for which you wanted multicast traffic to flow, multicast routing could not be supported without multiprotocol BGP.
Note It is possible to configure BGP peers that exchange both unicast and multicast network layer reachability
information (NLRI), but you cannot connect multiprotocol BGP clouds with a BGP cloud. That is, you cannot redistribute multiprotocol BGP routes into BGP.
Implementing BGP on Cisco IOS XR Software
Figure 4 illustrates simple unicast and multicast topologies that are incongruent, and therefore are not
possible without multiprotocol BGP.
Autonomous systems 100, 200, and 300 are each connected to two NAPs that are FDDI rings. One is used for unicast peering (and therefore the exchange of unicast traffic). The Multicast Friendly Interconnect (MFI) ring is used for multicast peering (and therefore the exchange of multicast traffic). Each router is unicast and multicast capable.
Figure 4 Noncongruent Unicast and Multicast Routes
FDDI FDDI
Unicast
AS 100 AS 200
ISP A ISP C
ISP B
MFI
AS 300
12238
RC-32
Figure 5 is a topology of unicast-only routers and multicast-only routers. The two routers on the left are
unicast-only routers (that is, they do not support or are not configured to perform multicast routing). The two routers on the right are multicast-only routers. Routers A and B support both unicast and multicast routing. The unicast-only and multicast-only routers are connected to a single NAP.
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
In Figure 5, only unicast traffic can travel from Router A to the unicast routers to Router B and back. Multicast traffic could not flow on that path, so another routing table is required. Multicast traffic uses the path from Router A to the multicast routers to Router B and back.
Figure 5 illustrates a multiprotocol BGP environment with a separate unicast route and multicast route
from Router A to Router B. Multiprotocol BGP allows these routes to be incongruent. Both of the autonomous systems must be configured for internal multiprotocol BGP (IMBGP) in the figure.
A multicast routing protocol, such as PIM, uses the multicast BGP database to perform Reverse Path Forwarding (RPF) lookups for multicast-capable sources. Thus, packets can be sent and accepted on the multicast topology but not on the unicast topology.
Figure 5 Multicast BGP Environment
Information About Implementing BGP on Cisco IOS XR Software
Router B
Unicast
router
Unicast
router
Unicast route

Route Dampening

Route dampening is a BGP feature that minimizes the propagation of flapping routes across an internetwork. A route is considered to be flapping when it is repeatedly available, then unavailable, then available, then unavailable, and so on.
For example, consider a network with three BGP autonomous systems: autonomous system 1, autonomous system 2, and autonomous system 3. Suppose the route to network A in autonomous system 1 flaps (it becomes unavailable). Under circumstances without route dampening, the eBGP neighbor of autonomous system 1 to autonomous system 2 sends a withdraw message to autonomous system 2. The border router in autonomous system 2, in turn, propagates the withdrawal message to autonomous system 3. When the route to network A reappears, autonomous system 1 sends an advertisement message
AS 200
IMBGP
NAP
IMBGP
AS 100
Router A
Multicast router
Multicast router
Multicast route
11754
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-33
Information About Implementing BGP on Cisco IOS XR Software
to autonomous system 2, which sends it to autonomous system 3. If the route to network A repeatedly becomes unavailable, then available, many withdrawal and advertisement messages are sent. Route flapping is a problem in an internetwork connected to the Internet, because a route flap in the Internet backbone usually involves many routes.
Minimizing Flapping
The route dampening feature minimizes the flapping problem as follows. Suppose again that the route to network A flaps. The router in autonomous system 2 (in which route dampening is enabled) assigns network A a penalty of 1000 and moves it to history state. The router in autonomous system 2 continues to advertise the status of the route to neighbors. The penalties are cumulative. When the route flaps so often that the penalty exceeds a configurable suppression limit, the router stops advertising the route to network A, regardless of how many times it flaps. Thus, the route is dampened.
The penalty placed on network A is decayed until the reuse limit is reached, upon which the route is once again advertised. At half of the reuse limit, the dampening information for the route to network A is removed.
Note No penalty is applied to a BGP peer reset when route dampening is enabled, even though the reset
withdraws the route.
Implementing BGP on Cisco IOS XR Software

BGP Routing Domain Confederation

One way to reduce the iBGP mesh is to divide an autonomous system into multiple subautonomous systems and group them into a single confederation. To the outside world, the confederation looks like a single autonomous system. Each autonomous system is fully meshed within itself and has a few connections to other autonomous systems in the same confederation. Although the peers in different autonomous systems have eBGP sessions, they exchange routing information as if they were iBGP peers. Specifically, the next hop, MED, and local preference information is preserved. This feature allows you to retain a single IGP for all of the autonomous systems.

BGP Route Reflectors

BGP requires that all iBGP speakers be fully meshed. However, this requirement does not scale well when there are many iBGP speakers. Instead of configuring a confederation, you can reduce the iBGP mesh by using a route reflector configuration.
Figure 6 illustrates a simple iBGP configuration with three iBGP speakers (routers A, B, and C). Without
route reflectors, when Router A receives a route from an external neighbor, it must advertise it to both routers B and C. Routers B and C do not readvertise the iBGP learned route to other iBGP speakers because the routers do not pass on routes learned from internal neighbors to other internal neighbors, thus preventing a routing information loop.
RC-34
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Figure 6 Three Fully Meshed iBGP Speakers
Information About Implementing BGP on Cisco IOS XR Software
Fully meshed
autonomous
system
Router C
Routes
Router A Router A
External
BGP
speaker
Routes
advertised
Routes
Router B
Routes not
advertised
S4217
With route reflectors, all iBGP speakers need not be fully meshed because there is a method to pass learned routes to neighbors. In this model, an iBGP peer is configured to be a route reflector responsible for passing iBGP learned routes to a set of iBGP neighbors. In Figure 7, Router B is configured as a route reflector. When the route reflector receives routes advertised from Router A, it advertises them to Router C, and vice versa. This scheme eliminates the need for the iBGP session between routers A and C.
Figure 7 Simple BGP Model with a Route Reflector
Partially meshed autonomous system
OL-14356-01
Router A
External
BGP
speaker
Routes
Router A Router C
Routes
Router B
Route
reflector
Cisco IOS XR Routing Configuration Guide
Reflected
routes
S4219
RC-35
Information About Implementing BGP on Cisco IOS XR Software
The internal peers of the route reflector are divided into two groups: client peers and all other routers in the autonomous system (nonclient peers). A route reflector reflects routes between these two groups. The route reflector and its client peers form a cluster. The nonclient peers must be fully meshed with each other, but the client peers need not be fully meshed. The clients in the cluster do not communicate with iBGP speakers outside their cluster.
Figure 8 More Complex BGP Route Reflector Model
Route reflector
Implementing BGP on Cisco IOS XR Software
Partially meshed
autonomous system
Nonclient
Router G
Nonclient
Nonclient
S4218
Router A
External
BGP
speaker
Routes
advertised
Router A
Cluster
Router B
Client Client Client
Router C Router D
Router F
Router E
Figure 8 illustrates a more complex route reflector scheme. Router A is the route reflector in a cluster
with routers B, C, and D. Routers E, F, and G are fully meshed, nonclient routers.
When the route reflector receives an advertised route, depending on the neighbor, it takes the following actions:
A route from an external BGP speaker is advertised to all clients and nonclient peers.
A route from a nonclient peer is advertised to all clients.
RC-36
A route from a client is advertised to all clients and nonclient peers. Hence, the clients need not be
fully meshed.
Along with route reflector-aware BGP speakers, it is possible to have BGP speakers that do not understand the concept of route reflectors. They can be members of either client or nonclient groups, allowing an easy and gradual migration from the old BGP model to the route reflector model. Initially, you could create a single cluster with a route reflector and a few clients. All other iBGP speakers could be nonclient peers to the route reflector and then more clusters could be created gradually.
An autonomous system can have multiple route reflectors. A route reflector treats other route reflectors just like other iBGP speakers. A route reflector can be configured to have other route reflectors in a client group or nonclient group. In a simple configuration, the backbone could be divided into many clusters.
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Each route reflector would be configured with other route reflectors as nonclient peers (thus, all route reflectors are fully meshed). The clients are configured to maintain iBGP sessions with only the route reflector in their cluster.
Usually, a cluster of clients has a single route reflector. In that case, the cluster is identified by the router ID of the route reflector. To increase redundancy and avoid a single point of failure, a cluster might have more than one route reflector. In this case, all route reflectors in the cluster must be configured with the cluster ID so that a route reflector can recognize updates from route reflectors in the same cluster. All route reflectors serving a cluster should be fully meshed and all of them should have identical sets of client and nonclient peers.
By default, the clients of a route reflector are not required to be fully meshed and the routes from a client are reflected to other clients. However, if the clients are fully meshed, the route reflector need not reflect routes to clients.
As the iBGP learned routes are reflected, routing information may loop. The route reflector model has the following mechanisms to avoid routing loops:
Originator ID is an optional, nontransitive BGP attribute. It is a 4-byte attributed created by a route
reflector. The attribute carries the router ID of the originator of the route in the local autonomous system. Therefore, if a misconfiguration causes routing information to come back to the originator, the information is ignored.
Information About Implementing BGP on Cisco IOS XR Software
Cluster-list is an optional, nontransitive BGP attribute. It is a sequence of cluster IDs that the route
has passed. When a route reflector reflects a route from its clients to nonclient peers, and vice versa, it appends the local cluster ID to the cluster-list. If the cluster-list is empty, a new cluster-list is created. Using this attribute, a route reflector can identify if routing information is looped back to the same cluster due to misconfiguration. If the local cluster ID is found in the cluster-list, the advertisement is ignored.

Default Address Family for show Commands

Most of the show commands provide address family (AFI) and subaddress family (SAFI) arguments (see RFC 1700 and RFC 2858 for information on AFI and SAFI). The Cisco IOS XR software parser provides the ability to set the afi and safi so that it is not necessary to specify them while running a show command. The parser commands are:
set default-afi {ipv4 | ipv6 | all}
set default-safi {unicast | multicast | all}
The parser automatically sets the default afi value to ipv4 and default safi value to unicast. It is necessary to use only the parser commands to change the default afi value from ipv4 or default safi value from unicast. Any afi or safi keyword specified in a show command overrides the values set using the parser commands. Use the following command to check the currently set value of the afi and safi:
show default-afi-safi-vrf

Distributed BGP

Distributed BGP splits BGP functionality into three process types:
BGP process manager—Responsible for verifying configuration changes and for calculating and
OL-14356-01
publishing the distribution of neighbors among BGP speaker processes.
There is a single instance of this process.
Cisco IOS XR Routing Configuration Guide
RC-37
Information About Implementing BGP on Cisco IOS XR Software
bRIB process—Responsible for performing the best-path calculation of routes (receives partial best
paths from the speaker). The best route is installed into the bRIB and is advertised back to all speakers. See “BGP Best Path Algorithm” section on page RC-27 for information on best-path calculation. The bRIB process is also responsible for installing routes in the RIB, and for handling routes redistributed from the RIB. To accommodate route leaking from one RIB to another, bRIB may register for redistribution from multiple RIB routes into a single route in the bRIB process.
There is a single instance of this process for each address family.
BGP speaker process—Responsible for handling all BGP connections to peers. The speaker stores
received paths in the RIB and performs a partial best-path calculation, advertising the partial best paths to the bRIB (limited best-path calculation). Speakers perform a limited best-path calculation because to compare Multi Exit Discriminators (MEDs), paths need to be compared from the same AS but may not be received on the same speaker. Because BGP speakers do not have access to the entire BGP local RIB, BGP speakers can perform only a limited best-path calculation. (These are Step 1 through Step 7 in the “BGP Best Path Algorithm” section on page RC-27.) Only the best paths are advertised to the bRIB to reduce speaker/bRIB interprocess communications (IPC) and to reduce the number of paths to be processed in the bRIB. BGP speakers can only mark a path as active only after learning the result of the full best-path calculation from the bRIB. Neighbor import and export policies are imposed by the speaker.
If the bgp bestpath med always command is enabled, complete best-path calculation happens inside speaker process. When the bgp bestpath med always command is not enabled, speakers calculate partial best paths only (performs the best-path steps up to the MED comparison) and send them to bRIB. bRIB calculates the final best path (performs all the steps in the best-path calculation). When the bgp bestpath med always command is enabled, speakers can compare the MED across all ASs, allowing the speaker to calculate a single best path to send it to bRIB. bRIB is the ultimate process that calculates the final best path, but when the bgp bestpath med always command is enabled, the speakers send a single best path instead of potentially sending multiple partial best paths.
There are multiple instances of this process in which each instance is responsible for a subset of BGP peer connections.
Implementing BGP on Cisco IOS XR Software
Up to a total 15 speakers for all address families and one bRIB for each address family (IPv4, IPv6, and VPNv4) are supported.
Distributed BGP is used to reduce the impact that a fault in one address family has on another address family. For example, you can have one speaker with only IPv6 neighbors (peering to IPv6 addresses) and a separate speaker with only IP v4 neighbors (peering to IPv4 addresses), and yet another speaker with only VPNv4 provider edge (PE) or customer edge (CE) neighbors (peering to IPv4 addresses distinct from the non-VPN neighbors). In this scenario, there is no overlap in processes (bgp, brib, and rib) between IPv4, IPv6, and VPNv4. Therefore, a bgp, brib, or rib process crash affects only one address family. Distributed BGP also allows more CPU capacity for receiving, computing, and sending BGP routing updates. When in distributed BGP mode, you can control the number of distributed speakers that are enabled, as well as which neighbors are assigned to each speaker. If no distributed speakers are enabled, BGP operates in standalone mode. If at least one distributed speaker is enabled, BGP operates in distributed mode.

MPLS VPN Carrier Supporting Carrier

Carrier supporting carrier (CSC) is a term used to describe a situation in which one service provider allows another service provider to use a segment of its backbone network. The service provider that provides the segment of the backbone network to the other provider is called the backbone carrier. The service provider that uses the segment of the backbone network is called the customer carrier.
Cisco IOS XR Routing Configuration Guide
RC-38
OL-14356-01
Implementing BGP on Cisco IOS XR Software
A backbone carrier offers Border Gateway Protocol and Multiprotocol Label Switching (BGP/MPLS) VPN services. The customer carrier can be either:
An Internet service provider (ISP) (By definition, an ISP does not provide VPN service.)
A BGP/MPLS VPN service provider
You can configure a CSC network to enable BGP to transport routes and MPLS labels between the backbone carrier provider edge (PE) routers and the customer carrier customer edge (CE) routers using multiple paths. The benefits of using BGP to distribute IPv4 routes and MPLS label routes are:
BGP takes the place of an Interior Gateway Protocol (IGP) and Label Distribution Protocol (LDP)
in a VPN routing and forwarding (VRF) table. You can use BGP to distribute routes and MPLS labels. Using a single protocol instead of two simplifies the configuration and troubleshooting.
BGP is the preferred routing protocol for connecting two ISPs, mainly because of its routing policies
and ability to scale. ISPs commonly use BGP between two providers. This feature enables those ISPs to use BGP.
For detailed information on configuring MPLS VPN CSC with BGP, see the Implementing MPLS
Layer 3 VPNs on Cisco IOS XR Software module of Cisco IOS XR Multiprotocol Label Switching Configuration Guide.
Information About Implementing BGP on Cisco IOS XR Software

BGP Keychains

BGP keychains enable keychain authentication between two BGP peers. The BGP endpoints must both comply with draft-bonica-tcp-auth-05.txt and a keychain on one endpoint and a password on the other endpoint does not work.
See Cisco IOS XR System Security Guide for information on keychain management.
BGP is able to use the keychain to implement hitless key rollover for authentication. The key rollover specification is time based, and in the event of clock skew between the peers, the rollover process is impacted. The configurable tolerance specification allows for the accept window to be extended (before and after) by that margin. This accept window facilitates a hitless key rollover for applications (for example, routing and management protocols).
The key rollover does not impact the BGP session, unless there is a keychain configuration mismatch at the endpoints resulting in no common keys for the session traffic (send or accept).

IPv6/IPv6 VPN Provider Edge Transport over MPLS

IPv6 Provider Edge (6PE) and IPv6 VPN Provider Edge (6VPE) leverages the existing Multiprotocol Label Switching (MPLS) IPv4 core infrastructure for IPv6 transport. 6PE and 6VPE enables IPv6 sites to communicate with each other over an MPLS IPv4 core network using MPLS label switched paths (LSPs). This feature relies on multiprotocol Border Gateway Protocol (BGP) extensions in the IPv4 network configuration on the provider edge (PE) router, to exchange IPv6 reachability information in addition to an MPLS label for each IPv6 address prefix to be advertised. Edge routers are configured to be dual stack running both IPv4 and IPv6, and use the IPv4-mapped IPv6 address for IPv6 prefix reachability exchange.
OL-14356-01
Note This feature is supported on Cisco XR 12000 Series Routers.
For detailed information on configuring 6PE and 6VPE over MPLS, see Cisco IOS XR Multiprotocol Label Switching Configuration Guide.
Cisco IOS XR Routing Configuration Guide
RC-39
Information About Implementing BGP on Cisco IOS XR Software
IPv6 Provider Edge Multipath
Internal and external BGP multipath for IPv6 allows the IPv6 router to load balance betw een several paths (for example, same neighboring autonomous system [AS] or sub-AS, or the same metric) to reach its destination. The 6PE multipath feature uses multiprotoco l internal BGP (MP-iBGP) to distribute IPv6 routes over the MPLS IPv4 core network and to attach an MPLS label to each route.
When MP-iBGP multipath is enabled on the 6PE router, all labeled paths are installed in the forwarding table with MPLS information (label stack) when MPLS information is available. This functionality enables 6PE to perform load balancing.

VPNv4/VPNv6 over the IP Core Using L2TPv3 Tunnels

The Layer 2 Tunnel Protocol version 3 (L2TPv3) feature defines the L2TP protocol for tunneling Layer 2 traffic over an IP core network using Layer 2 VPNs. Benefits of this feature include:
Simplifies deployment of VPNs
Does not require Multiprotocol Label Switching (MPLS)
Supports Layer 2 tunneling over IP for any traffic
Supports data encapsulation directly over IP (IP protocol number 115), not using User Datagram
Protocol (UDP)
Supports point-to-point sessions, not point-to-multipoint or multipoint-to-point sessions
Implementing BGP on Cisco IOS XR Software
Supports sessions between the same Layer 2 protocols, for example Frame Relay to Frame Relay or
ATM to AT M
Note This feature is supported on Cisco XR 12000 Series Routers.
When an RFC 4364-based IP VPN service is deployed (see RFC 4364), VPN traffic is typically transported across the core network between service provider edge (PE) routers using MPLS label switched paths (LSPs). Native IP L3VPNs eliminate the need for MPLS between the participating core routers by relying on scalable tunnel encapsulation over IP. These tunnels can be used instead of, or with, MPLS to transport VPN traffic between participating edge routers.
A native IP L3VPN allows service providers to use an IP backbone to provide VPN services. BGP is used to distribute VPN routing information across the provider backbone.
Figure 9 shows edge routers participating in switching IPv4 and IPv6 traffic over a tunnel using IP as
the transport.
RC-40
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Figure 9 IP L3VPN with L2TPv3
Information About Implementing BGP on Cisco IOS XR Software
BGP Multicast VPN
The BGP Multicast VPN feature introduces the IPv4 multicast distribution tree (MDT) subaddress family identifier (SAFI) in Border Gateway Protocol (BGP).
Multicast VPN (MVPN) extends the VPN architecture to provide multicast services over a shared service provider backbone using native multicast technology. This is achieved using virtual connections between provider edge (PE) routers in each VPN and using native multicast forwarding inside the provider network. An MDT may span across multiple customer sites and the provider network, allowing traffic to flow freely from one source to multiple receivers.
IP L3VPN w/L2TPv3
VPN green
CE-g1
VPN pink
CE-p1
PE1
BGP (RFC 4364)BGP (RFC 4364)
IP Network
PE2
PE3
IPv4 Core
L2TPv3
VPN Label
VPN IP (from CE)
VPN green
CE-g2
VPN pink
CE-p2
VPN green
CE-g3
211300
OL-14356-01
MVPN is supported on VPN networks based on MPLS and on networks based on IP Layer 2 Tunnel Protocol version 3 (L2TPv3).
PE routers are the only routers that must be MVPN-aware and that must be able to signal to remote PEs information regarding the MVPN. Therefore, all PE routers must have a BGP relationship with each other—either directly or using a route reflector (RR).
Generally the source address of the default MDT is the same address used to source the internal BGP (IBGP) sessions with the remote PE routers that belong to the same VPN and multicast VPN routing and forwarding (MVRF) instance. When Protocol Independent Multicast–Source Specific Multicast (PIM–SSM) is used for transport inside the provider core, it is through the BGP relationship that the PEs indicate that they are MVPN-capable and provide for source discovery. This capability is indicated using the updated BGP message.
When a PE receives a BGP update, which includes the rendezvous point (RP) and the group information, it joins the root of that tree, thereby joining the MDT.
Figure 10 shows Multiprotocol IBGP updates for MVPN. On PE1, PE2 is configured as its IBGP peer.
This BGP peer configuration within a VRF triggers the MP-IBGP updates that send PE1 local VPN routes to PE2. BGP process on PE2 receives the VPN updates and installs VPN routes in the Routing Information Base (RIB) VRF table. When PIM looks up a VRF source or rendezvous point address that is reachable through the provider core, it receives an MP-IBGP route from the RIB.
Cisco IOS XR Routing Configuration Guide
RC-41

How to Implement BGP on Cisco IOS XR Software

When an MVPN-specific default MDT group is configured on PE1, PIM creates a virtual MDT tunnel interface with the tunnel source address the same as the BGP local peering address. This MDT interface is used by PIM to send VPN packets to the provider network and to receive VPN packets from the provider network. PIM also exchanges control messages over this MDT interface.
Each time a default MDT group is configured for a specific VRF, BGP builds an MDT SAFI update, with network layer reachability information (NLRI) containing the local PE BGP peering address and the newly configured MDT group address (The NLRI format is 8-byte-RD:IPv4-address followed by the MDT group address). This update is sent to all the BGP peers including PE2. The BGP process on PE2 receives this MDT update and notifies PIM. If the group is a PIM–SSM group, PIM on PE2 begins sending SSM joins to the BGP peering address on PE1 to establish an SSM tree in the core. This SSM tree is used to carry PIM control traffic and multicast data traffic in the corresponding VRF.
In summary, PIM requires the following from BGP:
A new BGP MDT SAFI, which carries the VRF RD and BGP local peering address and default MDT
group in its NLRI.
A notification mechanism from BGP to PIM about the availability of the MDT SAFI update.
A notification mechanism from PIM to BGP about the default MDT group address and source address.
See Internet Engineering Task Force (IETF) draft-nalawade-idr-mdt-safi-03 for detailed information on MDT SAFI.
Implementing BGP on Cisco IOS XR Software
Figure 10 Multiprotocol IBGP Updates for MVPN
Service Provider
MP-iBGPMP-iBGP
VPN routesVPN
PE1 PE2
P-joins
SSM
Send Receive
CE
P-joins
CE
How to Implement BGP on Cisco IOS XR Software
This section contains instructions for the following tasks:
Enabling BGP Routing, page RC-44 (required)
Configuring a Routing Domain Confederation for BGP, page RC-47 (optional)
211301
RC-42
Resetting an eBGP Session Immediately Upon Link Failure, page RC-49 (optional)
Logging Neighbor Changes, page RC-49 (optional)
Adjusting BGP Timers, page RC-50 (optional)
Changing the BGP Default Local Preference Value, page RC-51 (optional)
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Configuring the MED Metric for BGP, page RC-53 (optional)
Configuring BGP Weights, page RC-54 (optional)
Tuning the BGP Best-Path Calculation, page RC-56 (optional)
Indicating BGP Back-door Routes, page RC-58 (optional)
Configuring Aggregate Addresses, page RC-60 (optional)
Redistributing iBGP Routes into IGP, page RC-61 (optional)
Redistributing Prefixes into Multiprotocol BGP, page RC-63 (optional)
Configuring BGP Route Dampening, page RC-66 (optional)
Applying Policy When Updating the Routing Table, page RC-71 (optional)
Setting BGP Administrative Distance, page RC-73 (optional)
Configuring a BGP Neighbor Group and Neighbors, page RC-74 (required)
Configuring a Route Reflector for BGP, page RC-77 (optional)
Configuring BGP Route Filtering by Route Policy, page RC-79 (optional)
Configuring BGP Next-hop Trigger Delay, page RC-81 (optional)
How to Implement BGP on Cisco IOS XR Software
Disabling Next-hop Processing on BGP Updates, page RC-83 (optional)
Configuring BGP Community and Extended-Community Advertisements, page RC-84 (optional)
Configuring the BGP Cost Community, page RC-86 (optional)
Configuring Software to Store Updates from a Neighbor, page RC-91 (optional)
Configuring Distributed BGP, page RC-93 (optional)
Configuring a VPN Routing and Forwarding Instance in BGP, page RC-96 (optional)
Configuring Keychains for BGP, page RC-114 (optional)
Configuring an MDT Address Family Session in BGP, page RC-115 (optional)
Disabling a BGP Neighbor, page RC-118 (optional)
Resetting Neighbors Using BGP Inbound Soft Reset, page RC-120 (optional)
Resetting Neighbors Using BGP Outbound Soft Reset, page RC-120 (optional)
Resetting Neighbors Using BGP Hard Reset, page RC-121 (optional)
Clearing Caches, Tables, and Databases, page RC-122 (optional)
Displaying System and Network Statistics, page RC-123 (optional)
Displaying BGP Process Information, page RC-125 (optional)
Monitoring BGP Update Groups, page RC-126 (optional)
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-43
How to Implement BGP on Cisco IOS XR Software

Enabling BGP Routing

Perform this task to enable BGP routing and establish a BGP routing process. Configuring BGP neighbors is included as part of enabling BGP routing.
Note At least one neighbor and at least one address family must be configured to enable BGP routing. At least
one neighbor with both a remote AS and an address family must be configured globally using the address family and remote as commands.
Prerequisites
BGP must be able to obtain a router identifier (for example, a configured loopback address). At least, one address family must be configured in the BGP router configuration and the same address family must also be configured under the neighbor.
Restrictions
Implementing BGP on Cisco IOS XR Software
SUMMARY STEPS
If the neighbor is configured as an external BGP (eBGP) peer, you must configure an inbound and outbound route policy on the neighbor using the route-policy command.
1. configure
2. route-policy route-policy-name
3. end-policy
4. end
or
commit
5. configure
6. router bgp as-number
7. bgp router-id ip-address
8. address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6
multicast | vpnv4 unicast | vpnv6 unicast}
9. exit
10. neighbor ip-address
11. remote-as as-number
12. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
13. route-policy route-policy-name {in | out}
14. end
or
commit
RC-44
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
route-policy route-policy-name
Example:
RP/0/RP0/CPU0:router(config)# route-policy drop-as-1234 RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '1234' then RP/0/RP0/CPU0:router(config-rpl)# apply check-communities RP/0/RP0/CPU0:router(config-rpl)# else RP/0/RP0/CPU0:router(config-rpl)# pass RP/0/RP0/CPU0:router(config-rpl)# endif
Step 3
end-policy
How to Implement BGP on Cisco IOS XR Software
Enters global configuration mod.
(Optional) Defines a route policy and enters route policy configuration mode.
(Optional) Ends the definition of a route policy and exits route policy configuration mode.
Step 4
Example:
RP/0/RP0/CPU0:router(config-rpl)# end-policy
end
or
commit
Example:
RP/0/RP0/CPU0:router(config)# end
or
RP/0/RP0/CPU0:router(config)# commit
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-45
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 5
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 6
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 7
bgp router-id ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp router-id
192.168.70.24
Step 8
address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | vpnv4 unicast | vpnv6 unicast}
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Configures the local router with a specified router ID.
Enters global address family configuration mode for the specified address family.
Step 9
Step 10
Step 11
Step 12
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
exit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# exit
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
remote-as as-number
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2002
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Exits the current configuration mode.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Creates a neighbor and assigns a remote autonomous system number to it.
Enters address family configuration mode for the specified address family.
RC-46
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 13
route-policy route-policy-name {in | out}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-policy drop-as-1234 in
Step 14
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
How to Implement BGP on Cisco IOS XR Software
(Optional) Applies the specified policy to inbound IPv4 unicast routes.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring a Routing Domain Confederation for BGP

Perform this task to configure the routing domain confederation for BGP. This includes specifying a confederation identifier and autonomous systems that belong to the confederation.
Configuring a routing domain confederation reduces the internal BGP (iBGP) mesh by dividing an autonomous system into multiple autonomous systems and grouping them into a single confederation. Each autonomous system is fully meshed within itself and has a few connections to another autonomous system in the same confederation. The confederation maintains the next hop and local preference information, and that allows you to retain a single Interior Gateway Protocol (IGP) for all autonomous systems. To the outside world, the confederation looks like a single autonomous system.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. bgp confederation identifier as-number
OL-14356-01
4. bgp confederation peers as-number
5. end
or
commit
Cisco IOS XR Routing Configuration Guide
RC-47
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
bgp confederation identifier as-number
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp confederation identifier 5
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Specifies a BGP confederation identifier.
RC-48
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 4
bgp confederation peers as-number
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1091 RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1092 RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1093 RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1094 RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1095 RP/0/RP0/CPU0:router(config-bgp)# bgp confederation peers 1096
Step 5
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp)# end
or
RP/0/RP0/CPU0:router(config-bgp)# commit
How to Implement BGP on Cisco IOS XR Software
Specifies that the BGP autonomous systems belong to a specified BGP confederation identifier.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Resetting an eBGP Session Immediately Upon Link Failure

Immediately resetting BGP sessions of any directly adjacent external peers if the link used to reach them goes down is enabled by default. Use the bgp fast-external-fallover disable command to disable automatic resetting. The no bgp fast-external-fallover disable command can also be used to turn the automatic reset back on.

Logging Neighbor Changes

Logging neighbor changes is enabled by default. Use the log neighbor changes disable command to turn off logging. The no log neighbor changes disable command can also be used to turn logging back on if it has been disabled.
Cisco IOS XR Routing Configuration Guide
OL-14356-01
RC-49
How to Implement BGP on Cisco IOS XR Software

Adjusting BGP Timers

Perform this task to set the timers for BGP neighbors.
BGP uses certain timers to control periodic activities, such as the sending of keepalive messages and the interval after which a neighbor is assumed to be down if no messages are received from the neighbor during the interval. The values set using the timers bgp command in router configuration mode can be overridden on particular neighbors using the timers command in the neighbor configuration mode.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. timers bgp keepalive hold-time
4. neighbor ip-address
5. timers keepalive hold-time
6. end
or
commit
Implementing BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 123
Step 3
timers bgp keepalive hold-time
Example:
RP/0/RP0/CPU0:router(config-bgp)# timers bgp 30 90
Step 4
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Sets a default keepalive time and a default hold time for all neighbors.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
RC-50
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 5
timers keepalive hold-time
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# timers 60 220
Step 6
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr)# commit
How to Implement BGP on Cisco IOS XR Software
(Optional) Sets the keepalive timer and the hold-time timer for the BGP neighbor.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Changing the BGP Default Local Preference Value

Perform this task to set the default local preference value for BGP paths.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. bgp default local-preference value
4. end
or
commit
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-51
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
bgp default local-preference value
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp default local-preference 200
Step 4
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp)# end
or
RP/0/RP0/CPU0:router(config-bgp)# commit
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Sets the default local preference value from the default of 100, making it either a more preferable path (over 100) or less preferable path (under 100).
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
RC-52
Cisco IOS XR Routing Configuration Guide
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.
OL-14356-01
Implementing BGP on Cisco IOS XR Software

Configuring the MED Metric for BGP

Perform this task to set the multi exit discriminator (MED) to advertise to peers for routes that do not already have a metric set (routes that were received with no MED attribute).
SUMMARY STEPS
1. configure
2. router bgp as-number
3. default-metric value
4. end
or
commit
DETAILED STEPS
Command or Action Purpose
Step 1
configure
How to Implement BGP on Cisco IOS XR Software
Enters global configuration mode.
Step 2
Example:
RP/0/RP0/CPU0:router# configure
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Enters BGP configuration mode, allowing you to configure the BGP routing process.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-53
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 3
default-metric value
Example:
RP/0/RP0/CPU0:router(config-bgp)# default metric 10
Step 4
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp)# end
or
RP/0/RP0/CPU0:router(config-bgp)# commit
Implementing BGP on Cisco IOS XR Software
Sets the default metric, which is used to set the MED to advertise to peers for routes that do not already have a metric set (routes that were received with no MED attribute).
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring BGP Weights

Perform this task to assign a weight to routes received from a neighbor. A weight is a number that you can assign to a path so that you can control the best-path selection process. If you have particular neighbors that you want to prefer for most of your traffic, you can use the weight command to assign a higher weight to all routes learned from that neighbor.
Restrictions
The clear bgp command must be used for the newly configured weight to take effect.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. neighbor ip-address
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.
RC-54
4. remote-as as-number
5. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
6. weight weight-value
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
7. end
or
commit
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
Step 4
remote-as as-number
How to Implement BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Creates a neighbor and assigns a remote autonomous system number to it.
Step 5
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2002
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Enters neighbor address family configuration mode for the specified address family.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-55
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 6
weight weight-value
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# weight 41150
Step 7
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
Implementing BGP on Cisco IOS XR Software
Assigns a weight to all routes learned through the neighbor.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Tuning the BGP Best-Path Calculation

Perform this task to change the default BGP best-path calculation behavior.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. bgp bestpath med missing-as-worst
4. bgp bestpath med always
5. bgp bestpath med confed
6. bgp bestpath as-path ignore
7. bgp bestpath compare-routerid
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.
RC-56
8. end
or
commit
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 126
Step 3
bgp bestpath med missing-as-worst
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp bestpath med missing-as-worst
Step 4
bgp bestpath med always
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp bestpath med always
Step 5
bgp bestpath med confed
How to Implement BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Directs the BGP software to consider a missing MED attribute in a path as having a value of infinity, making this path the least desirable path.
Configures the BGP speaker in the specified autonomous system to compare MEDs among all the paths for the prefix, regardless of the autonomous system from which the paths are received.
Enables BGP software to compare MED values for paths learned from confederation peers.
Step 6
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp bestpath med confed
bgp bestpath as-path ignore
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp bestpath as-path ignore
Configures the BGP software to ignore the autonomous system length when performing best-path selection.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-57
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 7
bgp bestpath compare-routerid
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp bestpath compare-routerid
Step 8
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp)# end
or
RP/0/RP0/CPU0:router(config-bgp)# commit
Implementing BGP on Cisco IOS XR Software
Configure the BGP speaker in the autonomous system to compare the router IDs of similar paths.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Indicating BGP Back-door Routes

Perform this task to set the administrative distance on an external Border Gateway Protocol (eBGP) route to that of a locally sourced BGP route, causing it to be less preferred than an Interior Gateway Protocol (IGP) route.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. network {ip-address /prefix-length | ip-address mask} backdoor
5. end
or
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.
RC-58
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
Step 4
network {ip-address / prefix-length | ip-address mask} backdoor
How to Implement BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Enters address family configuration mode for the specified address family.
Configures the local router to originate and advertise the specified network.
Step 5
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# network
172.20.0.0/16
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-59
How to Implement BGP on Cisco IOS XR Software

Configuring Aggregate Addresses

Perform this task to create aggregate entries in a BGP routing table.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. aggregate-address address/mask-length [as-set] [as-confed-set] [summary-only] [route-policy
route-policy-name]
5. end
or
commit
DETAILED STEPS
Implementing BGP on Cisco IOS XR Software
Step 1
Step 2
Step 3
Command or Action Purpose
configure
Enters global configuration mode.
Example:
RP/0/RP0/CPU0:router# configure
router bgp as-number
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
address-family {ipv4 unicast | ipv4 multicast | | ipv6 unicast | ipv6 multicast}
Enters address family configuration mode for the specified address family.
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
RC-60
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 4
aggregate-address address/mask-length [as-set] [as-confed-set] [summary-only] [route-policy route-policy-name]
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# aggregate-address 10.0.0.0/8 as-set
Step 5
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
How to Implement BGP on Cisco IOS XR Software
Creates an aggregate address. The path advertised for this route is an autonomous system set consisting of all elements contained in all paths that are being summarized.
The as-set keyword generates autonomous system set
path information and community information from contributing paths.
The as-confed-set keyword generates autonomous
system confederation set path information from contributing paths.
The summary-only keyword filters all more specific
routes from updates.
The route-policy route-policy-name keyword and
argument specify the route policy used to set the attributes of the aggregate route.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
Entering yes saves configuration changes to the running configuration file, exits the configuration session, and returns the router to EXEC mode.

Redistributing iBGP Routes into IGP

Perform this task to redistribute iBGP routes into an Interior Gateway Protocol (IGP), such as Intermediate System-to-Intermediate System (IS-IS) or Open Shortest Path First (OSPF).
Note Use of the bgp redistribute-internal command requires the clear route * command to be issued to
reinstall all BGP routes into the IP routing table.
Caution Redistributing iBGP routes into IGPs may cause routing loops to form within an autonomous system.
Use this command with caution.
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.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-61
How to Implement BGP on Cisco IOS XR Software
SUMMARY STEPS
1. configure
2. router bgp as-number
3. bgp redistribute-internal
4. end
or
commit
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Step 3
Step 4
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
bgp redistribute-internal
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp redistribute-internal
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp)# end
or
RP/0/RP0/CPU0:router(config-bgp)# commit
Allows the redistribution of iBGP routes into an IGP, such as IS-IS or OSPF.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
RC-62
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software

Redistributing Prefixes into Multiprotocol BGP

Perform this task to redistribute prefixes from another protocol into multiprotocol BGP.
Redistribution is the process of injecting prefixes from one routing protocol into another routing protocol. This task shows how to inject prefixes from another routing protocol into multiprotocol BGP. Specifically, prefixes that are redistributed into multiprotocol BGP using the redistribute command are injected into the unicast database, the multicast database, or both.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. redistribute connected [metric metric-value] [route-policy route-policy-name]
or
redistribute eigrp process-id [match {external | internal}] [metric metric-value] [route-policy route-policy-name]
or
redistribute isis process-id [level {1 | 1-inter-area | 2}] [metric metric-value] [route-policy route-policy-name]
or
redistribute ospf process-id [match {external [1 | 2] | internal | nssa-external [1 | 2]]} [metric metric-value] [route-policy route-policy-name]
or
redistribute ospfv3 process-id [match {external [1 | 2] | internal | nssa-external [1 | 2]]} [metric metric-value
or redistribute rip [metric metric-value] [route-policy route-policy-name] or redistribute static [metric metric-value] [route-policy route-policy-name]
] [route-policy route-policy-name]
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
Step 2
OL-14356-01
configure
Example:
RP/0/RP0/CPU0:router# configure
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
5. end
or
commit
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Cisco IOS XR Routing Configuration Guide
RC-63
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 3
address-family {ipv4 unicast | ipv4 multicast | | ipv6 unicast | ipv6 multicast}
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
Implementing BGP on Cisco IOS XR Software
Enters address family configuration mode for the specified address family.
RC-64
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 4
redistribute connected [metric metric-value] [route-policy route-policy-name]
or
redistribute eigrp process-id [match {external | internal}] [metric metric-value] [route-policy route-policy-name]
or
redistribute isis process-id [level {1 | 1-inter-area | 2}] [metric metric-value] [route-policy route-policy-name]
or
redistribute ospf process-id [match {external [1 | 2] | internal | nssa-external [1 | 2]]} [metric metric-value] [route-policy route-policy-name]
or
redistribute ospfv3 process-id [ match { external [1 | 2] | internal | nssa-external [1 | 2]]} [metric metric-value] [route-policy route-policy-name]
or
redistribute rip [metric metric-value] [route-policy route-policy-name]
or
redistribute static [metric metric-value] [route-policy route-policy-name]
How to Implement BGP on Cisco IOS XR Software
Causes routes from the specified instance to be redistributed into BGP.
Step 5
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# redistribute ospf 110
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-65
How to Implement BGP on Cisco IOS XR Software

Configuring BGP Route Dampening

Perform this task to configure and monitor BGP route dampening.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. bgp dampening [half-life [reuse suppress max-suppress-time] | route-policy route-policy-name]
5. end
or
commit
6. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address]
| vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpvn6 unicast [rd rd-address]] flap-statistics
7. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address]
| vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics regexp regular-expression
8. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address]
| vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics route-policy route-policy-name
Implementing BGP on Cisco IOS XR Software
9. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics {ip-address {mask | /prefix-length}}
10. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address]
| vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics {ip-address [{mask | /prefix-length} [longer-prefixes]]}
11. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics
12. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics regexp
regular-expression
13. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics route-policy route-policy-name
RC-66
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
14. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics network/mask-length
15. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics
ip-address/mask-length
16. show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address]
| vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] dampened-paths
17. clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all |
labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name
| all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} dampening [ip-address/mask-length]
DETAILED STEPS
How to Implement BGP on Cisco IOS XR Software
Step 1
Step 2
Step 3
Step 4
Command or Action Purpose
configure
Enters global configuration mode.
Example:
RP/0/RP0/CPU0:router# configure
router bgp as-number
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
address-family {ipv4 unicast | ipv4 multicast | | ipv6 unicast | ipv6 multicast}
Enters address family configuration mode for the specified address family.
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
bgp dampening [half-life [reuse suppress max-suppress-time] | route-policy route-policy-name]
Configures BGP dampening for the specified address family.
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# bgp dampening 30 1500 10000 120
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-67
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 5
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Step 6
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | tunnel} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics
Implementing BGP on Cisco IOS XR Software
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
Displays BGP flap statistics.
Step 7
Example:
RP/0/RP0/CPU0:router# show bgp flap statistics
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics regexp regular-expression
Example:
RP/0/RP0/CPU0:router# show bgp flap-statistics regexp _1$
Displays BGP flap statistics for all paths that match the regular expression.
RC-68
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 8
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics route-policy route-policy-name
Example:
RP/0/RP0/CPU0:router(config)# show bgp flap-statistics route-policy policy_A
Step 9
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics {ip-address {mask |
/prefix-length}}
How to Implement BGP on Cisco IOS XR Software
Displays BGP flap statistics for the specified route policy.
Displays BGP flap for the specified prefix.
Step 10
Step 11
Example:
RP/0/RP0/CPU0:router# show bgp flap-statistics
172.20.1.1
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast] | ipv6 unicast] | vpnv6 unicast [rd rd-address]] flap-statistics {ip-address [{mask | /prefix-length} [longer-prefixes]]}
Example:
RP/0/RP0/CPU0:router# show bgp flap-statistics
172.20.1.1 longer-prefixes
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics
Example:
RP/0/RP0/CPU0:router# clear bgp all all flap-statistics
Displays BGP flap statistics for more specific entries for the specified IP address.
Clears BGP flap statistics for all routes.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-69
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 12
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics regexp
regular-expression
Example:
RP/0/RP0/CPU0:router# clear bgp ipv4 unicast flap-statistics regexp _1$
Step 13
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics route-policy
route-policy-name
Implementing BGP on Cisco IOS XR Software
Clears BGP flap statistics for all paths that match the specified regular expression.
Clears BGP flap statistics for the specified route policy.
Step 14
Step 15
Example:
RP/0/RP0/CPU0:router# clear bgp ipv4 unicast flap-statistics route-policy policy_A
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics
network/mask-length
Example:
RP/0/RP0/CPU0:router# clear bgp ipv4 unicast flap-statistics 192.168.40.0/24
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} flap-statistics
ip-address/mask-length
Example:
RP/0/RP0/CPU0:router# clear bgp ipv4 unicast flap-statistics 172.20.1.1
Clears BGP flap statistics for the specified network.
Clears BGP flap statistics for routes received from the specified neighbor.
RC-70
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 16
show bgp [ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast [rd rd-address] | vrf {vrf-name | all} [ipv4 {unicast | labeled-unicast} | ipv6 unicast] | vpnv6 unicast [rd rd-address]] dampened-paths
Example:
RP/0/RP0/CPU0:router# show bgp dampened paths
Step 17
clear bgp {ipv4 {unicast | multicast | labeled-unicast | all} | ipv6 {unicast | multicast | all | labeled-unicast} | all {unicast | multicast | all | labeled-unicast} | vpnv4 unicast | vrf {vrf-name | all} {ipv4 {unicast | labeled-unicast} | ipv6 unicast} | vpnv6 unicast} dampening
[ip-address/mask-length]
How to Implement BGP on Cisco IOS XR Software
Displays the dampened routes, including the time remaining before they are unsuppressed.
Clears route dampening information and unsuppresses the suppressed routes.
Example:
RP/0/RP0/CPU0:router# clear bgp dampening

Applying Policy When Updating the Routing Table

Perform this task to apply a routing policy to routes being installed into the routing table.
Prerequisites
See the Implementing Routing Policy on Cisco IOS XR Software module of Cisco IOS XR Routing Configuration Guide for a list of the supported attributes and operations that are valid for table policy
filtering.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. table-policy policy-name
5. end
or
commit
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-71
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120.6
Step 3
address-family {ipv4 unicast | ipv4 multicast | | ipv6 unicast | ipv6 multicast}
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
Step 4
table-policy policy-name
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Enters address family configuration mode for the specified address family.
Applies the specified policy to routes being installed into the routing table.
Step 5
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# table-policy tbl-plcy-A
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
RC-72
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software

Setting BGP Administrative Distance

Perform this task to specify the use of administrative distances that can be used to prefer one class of route over another.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv6 unicast | ipv6 multicast}
4. distance bgp external-distance internal-distance local-distance
5. end
or
commit
DETAILED STEPS
How to Implement BGP on Cisco IOS XR Software
Step 1
Step 2
Step 3
Command or Action Purpose
configure
Enters global configuration mode.
Example:
RP/0/RP0/CPU0:router# configure
router bgp as-number
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
address-family {ipv4 unicast | ipv4 multicast | | ipv6 unicast}
Enters address family configuration mode for the specified address family.
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-73
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 4
distance bgp external-distance internal-distance local-distance
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# distance bgp 20 20 200
Step 5
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Implementing BGP on Cisco IOS XR Software
Sets the external, internal, and local administrative distances to prefer one class of routes over another. The higher the value, the lower the trust rating.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring a BGP Neighbor Group and Neighbors

Perform this task to configure BGP neighbor groups and apply the neighbor group configuration to a neighbor. A neighbor group is a template that holds address family-independent and address family-dependent configurations associated with the neighbor.
After a neighbor group is configured, each neighbor can inherit the configuration through the use command. If a neighbor is configured to use a neighbor group, the neighbor (by default) inherits the entire configuration of the neighbor group, which includes the address family-independent and address family-dependent configurations. The inherited configuration can be overridden if you directly configure commands for the neighbor or configure session groups or address family groups through the use command.
You can configure an address family-independent configuration under the neighbor group. An address family-dependent configuration requires you to configure the address family under the neighbor group to enter address family submode.
From neighbor group configuration mode, you can configure address family-independent parameters for the neighbor group. Use the address-family command when in the neighbor group configuration mode.
After specifying the neighbor group name using the neighbor group command, you can assign options to the neighbor group.
RC-74
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Note All commands that can be configured under a specified neighbor group can be configured under a
neighbor.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6
multicast |vpnv4 unicast | vpnv6 unicast}
4. exit
5. neighbor-group name
6. remote-as as-number
7. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
8. route-policy route-policy-name {in | out}
9. exit
10. exit
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp aa-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | vpnv4 unicast | vpnv6 unicast}
11. neighbor ip-address
12. use neighbor-group group-name
13. remote-as as-number
14. end
or
commit
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Enters neighbor group address family configuration mode for the specified address family.
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-75
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 4
exit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# exit
Step 5
neighbor-group name
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor-group nbr-grp-A
Step 6
remote-as as-number
Example:
RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# remote-as 2002
Step 7
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Implementing BGP on Cisco IOS XR Software
Exits the current configuration mode.
Places the router in neighbor group configuration mode.
Creates a neighbor and assigns a remote autonomous system number to it.
Enters neighbor group address family configuration mode for the specified address family.
Step 8
Step 9
Step 10
Step 11
Step 12
Example:
RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# address-family ipv4 unicast
route-policy route-policy-name {in | out}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# route-policy drop-as-1234 in
exit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbrgrp-af)# exit
exit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbrgrp)# exit
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
use neighbor-group group-name
(Optional) Applies the specified policy to inbound IPv4 unicast routes.
Exits the current configuration mode.
Exits the current configuration mode.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
(Optional) Specifies that the BGP neighbor inherit configuration from the specified neighbor group.
RC-76
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# use neighbor-group nbr-grp-A
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 13
remote-as as-number
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2002
Step 14
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr)# commit
How to Implement BGP on Cisco IOS XR Software
Creates a neighbor and assigns a remote autonomous system number to it.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring a Route Reflector for BGP

Perform this task to configure a route reflector for BGP.
All the neighbors configured with the route-reflector-client command are members of the client group, and the remaining iBGP peers are members of the nonclient group for the local route reflector.
Together, a route reflector and its clients form a cluster. A cluster of clients usually has a single route reflector. In such instances, the cluster is identified by the software as the router ID of the route reflector. To increase redundancy and avoid a single point of failure in the network, a cluster can have more than one route reflector. If it does, all route reflectors in the cluster must be configured with the same 4-byte cluster ID so that a route reflector can recognize updates from route reflectors in the same cluster. The bgp cluster-id command is used to configure the cluster ID when the cluster has more than one route reflector.
SUMMARY STEPS
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.
OL-14356-01
1. configure
2. router bgp as-number
3. bgp cluster-id cluster-id
4. neighbor ip-address
5. remote-as as-number
Cisco IOS XR Routing Configuration Guide
RC-77
How to Implement BGP on Cisco IOS XR Software
6. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
7. route-reflector-client
8. end
or
commit
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Step 3
Step 4
Step 5
Step 6
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
bgp cluster-id cluster-id
Example:
RP/0/RP0/CPU0:router(config-bgp)# bgp cluster-id 192.168.70.1
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
remote-as as-number
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2003
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Configures the local router as one of the route reflectors serving the cluster. It is configured with a specified cluster ID to identify the cluster.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Creates a neighbor and assigns a remote autonomous system number to it.
Enters neighbor address family configuration mode for the specified address family.
RC-78
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 7
route-reflector-client
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-reflector-client
Step 8
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
How to Implement BGP on Cisco IOS XR Software
Configures the router as a BGP route reflector and configures the neighbor as its client.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring BGP Route Filtering by Route Policy

Perform this task to configure BGP routing filtering by route policy.
Prerequisites
See the Implementing Routing Policy on Cisco IOS XR Software module of Cisco IOS XR Routing Configuration Guide for a list of the supported attributes and operations that are valid for inbound and
outbound neighbor policy filtering.
SUMMARY STEPS
1. configure
2. route-policy name
3. end-policy
OL-14356-01
4. router bgp as-number
5. neighbor ip-address
6. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
7. route-policy route-policy-name {in | out}
Cisco IOS XR Routing Configuration Guide
RC-79
How to Implement BGP on Cisco IOS XR Software
8. end
or
commit
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
route-policy name
Example:
RP/0/RP0/CPU0:router(config)# route-policy drop-as-1234 RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '1234' then RP/0/RP0/CPU0:router(config-rpl)# apply check-communities RP/0/RP0/CPU0:router(config-rpl)# else RP/0/RP0/CPU0:router(config-rpl)# pass RP/0/RP0/CPU0:router(config-rpl)# endif
Step 3
end-policy
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
(Optional) Defines a route policy and enters route policy configuration mode.
(Optional) Ends the definition of a route policy and exits route policy configuration mode.
Step 4
Step 5
Step 6
Example:
RP/0/RP0/CPU0:router(config-rpl)# end-policy
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Enters neighbor address family configuration mode for the specified address family.
RC-80
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Command or Action Purpose
Step 7
route-policy route-policy-name {in | out}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# route-policy drop-as-1234 in
Step 8
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
How to Implement BGP on Cisco IOS XR Software
Applies the specified policy to inbound routes.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring BGP Next-hop Trigger Delay

Perform this task to configure BGP next-hop trigger delay. The Routing Information Base (RIB) classifies the dampening notifications based on the severity of the changes. Event notifications are classified as critical and noncritical. This task allows you to specify the minimum batching interval for the critical and noncritical events.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6
multicast |vpnv4 unicast | vpnv6 unicast}
4. nexthop trigger-delay {critical delay | non-critical delay}
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.
OL-14356-01
5. end
or
commit
Cisco IOS XR Routing Configuration Guide
RC-81
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
address-family {ipv4 unicast | ipv4 multicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | vpnv4 unicast | vpnv6 unicast}
Example:
RP/0/RP0/CPU0:router(config-bgp)# address-family ipv4 unicast
Step 4
nexthop trigger-delay {critical delay | non-critical delay}
Implementing BGP on Cisco IOS XR Software
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Enters address family configuration mode for the specified address family.
Sets the critical next-hop trigger delay.
Step 5
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# nexthop trigger-delay critical 15000
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-af)# commit
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.
RC-82
Cisco IOS XR Routing Configuration Guide
OL-14356-01
Implementing BGP on Cisco IOS XR Software

Disabling Next-hop Processing on BGP Updates

Perform this task to disable next-hop calculation for a neighbor and insert your own address in the next-hop field of BGP updates. Disabling the calculation of the best next hop to use when advertising a route causes all routes to be advertised with the network device as the next hop.
Note Next-hop processing can be disabled for address family group, neighbor group, or neighbor address
family.
SUMMARY STEPS
1. configure
2. router bgp as-number
3. neighbor ip-address
4. remote-as as-number
5. address-family{ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
Step 4
remote-as as-number
6. next-hop-self
7. end
or
commit
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Creates a neighbor and assigns a remote autonomous system number to it.
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 206
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-83
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 5
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Step 6
next-hop-self
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# next-hop-self
Step 7
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
Implementing BGP on Cisco IOS XR Software
Enters neighbor address family configuration mode for the specified address family.
Sets the next-hop attribute for all routes advertised to the specified neighbor to the address of the local router. Disabling the calculation of the best next hop to use when advertising a route causes all routes to be advertised with the local network device as the next hop.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring BGP Community and Extended-Community Advertisements

Perform this task to specify that community attributes should be sent to an eBGP neighbor.
Perform this task to specify that community/extended-community attributes should be sent to an eBGP neighbor. These attributes are not sent to an eBGP neighbor by default. By contrast, they are always sent to iBGP neighbors. This section provides examples on how to enable sending community attributes. The send-community-ebgp keyword can be replaced by the send-extended-community-ebgp keyword to enable sending extended-communities.
Note If the send-community-ebgp command is configured for a neighbor group or address family group, all
neighbors using the group inherit the configuration. Configuring the command specifically for a neighbor overrides inherited values.
Cisco IOS XR Routing Configuration Guide
RC-84
OL-14356-01
Implementing BGP on Cisco IOS XR Software
Note BGP community and extended-community filtering cannot be configured for iBGP neighbors.
Communities and extended-communities are always sent to iBGP neighbors
SUMMARY STEPS
1. configure
2. router bgp as-number
3. neighbor ip-address
4. remote-as as-number
5. address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt |
ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
6. send-community-ebgp
7. end
or
commit
How to Implement BGP on Cisco IOS XR Software
DETAILED STEPS
Command or Action Purpose
Step 1
configure
Example:
RP/0/RP0/CPU0:router# configure
Step 2
router bgp as-number
Example:
RP/0/RP0/CPU0:router(config)# router bgp 120
Step 3
neighbor ip-address
Example:
RP/0/RP0/CPU0:router(config-bgp)# neighbor
172.168.40.24
Step 4
remote-as as-number
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 2002
Enters global configuration mode.
Enters BGP configuration mode, allowing you to configure the BGP routing process.
Places the router in neighbor configuration mode for BGP routing and configures the neighbor IP address as a BGP peer.
Creates a neighbor and assigns a remote autonomous system number to it.
OL-14356-01
Cisco IOS XR Routing Configuration Guide
RC-85
How to Implement BGP on Cisco IOS XR Software
Command or Action Purpose
Step 5
address-family {ipv4 unicast | ipv4 multicast | ipv4 labeled-unicast | ipv4 tunnel | ipv4 mdt | ipv6 unicast | ipv6 multicast | ipv6 labeled-unicast | vpnv4 unicast | vpnv6 unicast}
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
Step 6
send-community-ebgp
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# send-community-ebgp
Step 7
end
or
commit
Example:
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# end
or
RP/0/RP0/CPU0:router(config-bgp-nbr-af)# commit
Implementing BGP on Cisco IOS XR Software
Enters neighbor address family configuration mode for the specified address family.
Specifies that the router send community attributes (which are disabled by default for eBGP neighbors) to a specified eBGP neighbor.
Saves configuration changes.
When you issue the end command, the system prompts
you to commit changes:
Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:
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.

Configuring the BGP Cost Community

Perform this task to configure the BGP cost community.
BGP receives multiple paths to the same destination and it uses the best-path algorithm to decide which is the best path to install in RIB. To enable users to determine an exit point after partial comparison, the cost community is defined to tie-break equal paths during the best-path selection process.
SUMMARY STEPS
1. configure
2. route-policy name
3. set extcommunity cost {cost-extcommunity-set-name | cost-inline-extcommunity-set} [additive]
4. end-policy
Cisco IOS XR Routing Configuration Guide
RC-86
Use the commit command to save the configuration
changes to the running configuration file and remain within the configuration session.
OL-14356-01
Loading...