Guest

Cisco IOS Software Releases 12.0 ST

Configuring Multiprotocol BGP in Cisco IOS Release 12.0ST

Table Of Contents

Configuring Multiprotocol BGP in Cisco IOS Release 12.0 ST

Feature Overview

Benefits

Restrictions

Related Features and Technologies

Related Documents

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Understanding Multiprotocol BGP Command Differences

Preparing to Use the New BGP Commands

With an Existing BGP Configuration

Without an Existing BGP Configuration

Comparing NLRI Keywords with Address Family Commands

Upgrading Multiprotocol BGP Configuration to Use an Address Family

Configuring a Multiprotocol BGP Peer

Configuring a Multiprotocol BGP Peer Group

Advertising Routes into Multiprotocol BGP

Configuring Route Maps for Multiprotocol BGP Prefixes

Redistributing Prefixes into Multiprotocol BGP

Configuring DVMRP Interoperability with Multiprotocol BGP

Redistributing Multiprotocol BGP Routes into DVMRP

Redistributing DVMRP Routes into Multiprotocol BGP

Configuring a Multiprotocol BGP Route Reflector

Configuring Aggregate Multiprotocol BGP Addresses

Verifying Multiprotocol BGP Configuration and Operation

Configuration Examples

Multiprotocol BGP Peer Examples

Multiprotocol BGP Peer Group Examples

Multiprotocol BGP Network Advertisement Examples

Multiprotocol BGP Route Map Examples

Multiprotocol BGP Route Redistribution Examples

Multiprotocol BGP Route Reflector Examples

Aggregate Multiprotocol BGP Address Examples

Command Reference

address-family ipv4

address-family vpnv4

aggregate-address

bgp upgrade-cli

distance bgp

distance mbgp

ip dvmrp metric

ip multicast cache-headers

match nlri

neighbor peer-group (creating)

neighbor remote-as

neighbor route-map

network (BGP and multiprotocol BGP)

redistribute dvmrp

set nlri

show ip bgp ipv4 multicast

show ip bgp ipv4 multicast summary

show ip mbgp

show ip mbgp summary

show ip mpacket quality

Debug Commands

debug ip mbgp dampening

debug ip mbgp updates

Glossary


Configuring Multiprotocol BGP in Cisco IOS Release 12.0 ST


This feature module describes the migration to Cisco IOS Release 12.0 ST as the Service Provider Release. The Cisco IOS Release 12.0 ST will provide new features and make them available to all internet service providers (ISPs). At the same time, the Cisco IOS Release 12.0 S will transition to a maintenance only release.

Cisco IOS Release 12.0 ST is a derivative of the Cisco IOS Release 12.0 S and contains a superset of the Cisco IOS Release 12.0 S features and bug fixes. Synchronization of the 12.0 ST and 12.0 S releases occurs regularly.

Key differences between these two releases exist only in the implementation of the multiprotocol Border Gateway Protocol (BGP) feature. This document provides an overview of multiprotocol BGP, compares the configuration of multiprotocol BGP with the older commands and the replacement commands, and describes how to update your Cisco IOS software to accept the new commands.

This document includes the following major sections:

Feature Overview

Supported Platforms

Supported Standards, MIBs, and RFCs

Prerequisites

Configuration Tasks

Configuration Examples

Command Reference

Debug Commands

Glossary

Feature Overview

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) protocol 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. Perhaps you want all multicast traffic to be exchanged at one network access point (NAP). Multiprotocol BGP allows you to have a unicast routing topology different from a multicast routing topology. Thus, you have 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. If those routers were not multicast capable, or if policies differed as to where you wanted multicast traffic to flow, multicast routing could not be supported without multiprotocol BGP.


Note You can 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. You cannot redistribute multiprotocol BGP routes into BGP.


Figure 1 illustrates a simple example of 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 exchanging of unicast traffic). The multicast friendly interconnect (MFI) ring is used for multicast peering (and therefore the exchanging of multicast traffic). Each router is unicast- and multicast-capable.

Figure 1 Incongruent Unicast and Multicast Routes

Figure 2 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.

In Figure 2, 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 2 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 noncongruent. Both of the autonomous systems (AS 100 and AS 200) must be configured for internal multiprotocol BGP.

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 2 Multicast BGP Environment

Benefits

Multiprotocol BGP offers the following benefits:

A network can support incongruent unicast and multicast topologies.

A network can support congruent unicast and multicast topologies that have different policies (BGP filtering configurations).

A network can carry routing information for multiple network layer protocol address families (for example, IPv4 or VPNv4) as specified in RFC 1700, Assigned Numbers.

Routers that support the multiprotocol extensions can interoperate with routers that do not support the extensions. The network is backward compatible.

All of the routing policy capabilities of BGP can be applied to multiprotocol BGP.

All of the BGP commands can be used with multiprotocol BGP.

Restrictions

You cannot connect multiprotocol BGP clouds with a BGP cloud. That is, you cannot redistribute multiprotocol BGP routes into BGP.

Related Features and Technologies

This feature is related to the existing BGP feature, which is documented in the Cisco IOS IP and IP Routing Configuration Guide and the Cisco IOS IP and IP Routing Command Reference.

Related Documents

Cisco IOS IP and IP Routing Configuration Guide, Release 12.1

Cisco IOS IP and IP Routing Command Reference, Release 12.1

RFC 2283, Multiprotocol Extensions for BGP-4

Supported Platforms

This feature can run on all Cisco platforms, but it is officially supported on only the following platforms:

Cisco 7200

Cisco 7500

Cisco 12000 (GSR)

Supported Standards, MIBs, and RFCs

Standards

No new or modified standards are supported by this feature.

MIBs

No new or modified MIBs are supported by this feature.

To obtain lists of MIBs supported by platform and Cisco IOS release and to download MIB modules, go to the Cisco MIB web site at http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml.

RFCs

RFC 2283, Multiprotocol Extensions for BGP-4

Prerequisites

In this document, you are assumed to be familiar with BGP and IP multicast routing. For more information, refer to the "Configuring BGP" and "Configuring IP Multicast Routing" chapters of the Cisco IOS IP and IP Routing Configuration Guide.

You should also be familiar with Multiprotocol BGP. For more information, refer to the "Configuring Multiprotocol BGP Extensions for IP Multicast" chapter of the Cisco IOS IP and IP Routing Configuration Guide.

Configuration Tasks

See the following sections for configuration tasks for this feature. Each task in the list is identified as either required or optional:

Understanding Multiprotocol BGP Command Differences (required)

Upgrading Multiprotocol BGP Configuration to Use an Address Family (optional)

Configuring a Multiprotocol BGP Peer (required)

Configuring a Multiprotocol BGP Peer Group (optional)

Advertising Routes into Multiprotocol BGP (required)

Configuring Route Maps for Multiprotocol BGP Prefixes (optional)

Redistributing Prefixes into Multiprotocol BGP (required)

Configuring DVMRP Interoperability with Multiprotocol BGP (optional)

Configuring a Multiprotocol BGP Route Reflector (optional)

Configuring Aggregate Multiprotocol BGP Addresses (optional)

Verifying Multiprotocol BGP Configuration and Operation (optional)

Understanding Multiprotocol BGP Command Differences

Multiprotocol BGP was introduced in Cisco IOS Release 11.1(20)CC and Cisco IOS Release 12.0(2)S. It was then integrated into Cisco IOS Release 12.0(7)T. In Cisco IOS Release 11.1(20)CC and later releases and Cisco IOS Release 12.0(2)S and later releases, the Cisco IOS software uses NLRI (network layer reachability information) keywords to enable multiprotocol BGP over a BGP session and to populate unicast BGP prefixes in the unicast database and multicast BGP prefixes in the multicast database. In Cisco IOS Release 12.0(5)T, the Cisco IOS software uses separate address families to enable multiprotocol BGP over a BGP session and to populate unicast BGP prefixes in the unicast database and multicast BGP prefixes in the multicast database. In Cisco IOS Release 12.0(14)ST, the software supports both NLRI keywords and address family configurations.

The following sections explain how to configure multiprotocol BGP using both an address family and NLRI keywords.

Preparing to Use the New BGP Commands

Cisco IOS Release 12.0(14)ST supports the NLRI keywords. The NLRI keyword configuration of a Cisco router will continue to work (that is, you will see the NLRI keyword configuration and can continue to enter NLRI keyword commands) until you decide to convert to an address family configuration using the upgrade-cli CLI command.

With an Existing BGP Configuration

If you are upgrading from a Cisco IOS Release 12.0 S image to a Cisco IOS Release 12.0 ST image, you have an existing BGP configuration in nonvolatile RAM. This configuration supports the NLRI keywords. When you upgrade, the CLI accepts only NLRI keywords. It refuses address family commands. If you decide to use the address family configuration, you must use the upgrade-cli CLI command.

Without an Existing BGP Configuration

If you are not upgrading from a Cisco IOS Release 12.0 S image, the router boots from scratch with no BGP configuration in nonvolatile RAM. The first BGP command that you enter sets the BGP configuration mode. A global variable tracks the running mode of your software with respect to the BGP configuration. This variable has three possible states: unknown, NLRI keywords, and an address family. When the system comes up, the state variable is unknown because the system does not know its configuration. Therefore, the first BGP configuration command that you enter after installing Cisco IOS Release 12.0 ST determines the state of your system with respect to the BGP configuration (NLRI keywords or address family mode). Only commands in that mode are accepted and commands in the other mode are rejected.

If you enter the first BGP command using NLRI keywords, you can continue to use NLRI keyword commands. When you are ready to use the address family configuration, you can enter the upgrade-cli CLI command.

If you enter the first BGP command using an address family configuration command, you must continue to use address family configuration commands. You cannot change back to the NLRI keywords commands.

Comparing NLRI Keywords with Address Family Commands

You use these commands with the NLRI keywords configuration:

aggregrate-address <addr/mask> nlri...

neighbor addt nlri...

network <addr/mask> nlri...

route map
matrch nlri
...
set nlri...

You use these commands with the address family configuration:

bgp scan-time

default addr-family...

neighbor addr
activate
adv map
allowas-in

route map
match ext-comm
set ext comm

The following example shows an NLRI keyword configuration for a Cisco router that is running Cisco IOS Release 12.0(8)S:

router bgp 5
  no synchronization
  network 172.16.214.0 mask 255.255.255.0 nlri unicast multicast
  neighbor 172.16.214.34 remote-as 5
  neighbor 172.16.214.38 remote-as 2 nlri unicast multicast
  neighbor 172.16.214.42 remote-as 5
  neighbor 172.16.214.59 remote-as 5
no auto-summary

The following example shows the resulting address family configuration after the same router is upgraded to Cisco IOS Release 12.0(14)ST and you have converted to the address family configuration:

router bgp 5
  no synchronization
  network 172.16.214.0 mask 255.255.255.0
  neighbor 172.16.214.34 remote-as 5
  neighbor 172.16.214.38 remote-as 2
  neighbor 172.16.214.42 remote-as 5
  neighbor 172.16.214.59 remote-as 5
no auto-summary

Upgrading Multiprotocol BGP Configuration to Use an Address Family

To upgrade your multiprotocol BGP configuration to use an address family instead of NLRI keywords, use the following command, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# bgp upgrade-cli

Sets the BGP configuration to use the new address family commands.


Note After using the upgrade-cli CLI command to upgrade your multiprotocol BGP configuration to use an address family instead of NLRI keywords, you can no longer use the NLRI keywords to configure multiprotocol BGP.


Configuring a Multiprotocol BGP Peer

The tasks in this section are for configuring multiprotocol BGP between two routers using both an address family and NLRI keywords.

Using an Address Family

To configure multiprotocol BGP between two routers using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor ip-address remote-as autonomous-system-number

Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router.

Step 3 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies the IPv4 address family type and places the router in address family configuration mode.

Step 4 

Router(config-router-af)# neighbor {ip-address | peer-group-name} activate

Enables the neighbor to exchange prefixes for the specified family type with the local router.


Note By default, neighbors that are defined with the neighbor remote-as command in router configuration mode exchange only unicast address prefixes. If you want neighbors to exchange other address prefix types, such as multicast and VPNv4, you must activate the neighbors using the neighbor activate command in address family configuration mode, as shown in Step 4.


Using NLRI Keywords

To configure multiprotocol BGP between two routers using NLRI keywords, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor {ip-address | peer-group-name} remote-as autonomous-system nlri {unicast | multicast | unicast multicast}



Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router. Enables the neighbor to exchange the specified address prefix types with the local router.


Note If the NLRI keywords are not specified with the neighbor remote-as command, by default only unicast address prefixes are exchanged between the neighbor and the local router. If you specify the nlri multicast keywords, only multicast address prefixes are exchanged. If you specify the nlri unicast keywords, only unicast address prefixes are exchanged. If you specifying the nlri unicast multicast keywords, both unicast and multicast address prefixes are exchanged.


See the "Multiprotocol BGP Peer Examples" section for multiprotocol BGP peer configuration examples.

Configuring a Multiprotocol BGP Peer Group

The tasks in this section are for configuring a peer group using both an address family and NLRI keywords to perform multiprotocol BGP routing.

Using an Address Family

To configure a peer group to perform multiprotocol BGP routing using an address family, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor peer-group-name peer-group

Creates a multiprotocol BGP peer group.

Step 3 

Router(config-router)# neighbor ip-address remote-as autonomous-system-number

Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router.

Step 4 

Router(config-router)# neighbor ip-address peer-group peer-group-name

Assigns the IP address of a BGP neighbor to a peer group.

Step 5 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies IPv4 address family type and places the router in address family configuration mode.

Step 6 

Router(config-router-af)# neighbor peer-group-name activate

Enables the peer group to exchange prefixes for the specified family type with the neighbor and the local router.

Step 7 

Router(config-router-af)# neighbor ip-address peer-group peer-group-name

Assigns the IP address of a BGP neighbor to a peer group.


Note By default, neighbors that are defined with the neighbor remote-as command in router configuration mode exchange only unicast address prefixes. If you want neighbors to exchange other address prefix types, such as multicast and VPNv4, you must activate the neighbors using the neighbor activate command in address family configuration mode, as shown in Step 6.



Note Peer groups that are defined in router configuration mode by means of the neighbor peer-group command exchange only unicast address prefixes by default. If you want them to exchange other address prefix types, such as multicast, you must define the peer groups in address family configuration mode using the neighbor activate command, as shown in Step 6.

Members of a peer group automatically inherit the address prefix configuration of the peer group.


Using NLRI Keywords

To configure a peer group to perform multiprotocol BGP routing using NLRI keywords, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor peer-group-name peer-group nlri {unicast | multicast | unicast multicast}

Creates the peer group and enables the peer group to exchange the specified address prefix types with a neighbor and the local router.

Step 3 

Router(config-router)# neighbor ip-address remote-as autonomous-system

Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router.

Step 4 

Router(config-router)# neighbor ip-address peer-group peer-group-name

Adds the IP address of the neighbor to the peer group.


Note If the NLRI keywords are not specified with the neighbor peer-group command, by default, only unicast address prefixes are exchanged between the peer group and the neighbor and the local router. If you specify the nlri multicast keywords, only multicast address prefixes are exchanged. If you specify the nlri unicast keywords, only unicast address prefixes are exchanged. If you specify the nlri unicast multicast keywords, both unicast and multicast address prefixes are exchanged.

Members of a peer group automatically inherit the address prefix configuration of the peer group.


Refer to the "Configuring BGP" chapter in the Cisco IOS IP and IP Routing Configuration Guide for information and instructions on assigning options to the peer group and making a BGP or multiprotocol BGP neighbor a member of the peer group. The chapter also has multiprotocol BGP peer group configuration examples.

Advertising Routes into Multiprotocol BGP

The tasks in this section are for advertising (injecting) a network number and mask into the multicast database, the unicast database, or both, through the use of an address family and NLRI keywords.

Using an Address Family

To advertise (inject) a network number and mask into multiprotocol BGP using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies IPv4 address family type and places the router in address family configuration mode.

Step 3 

Router(config-router-af)# network network-number [mask network-mask]

Advertises (injects) this network number and mask into the multicast BGP database. (The routes must first be found in the unicast forwarding table.) Specifically, the network number and mask are injected into the multicast database for the address family specified in the previous step.

Routes are tagged from the specified network as "local origin."


Note Networks that are defined in router configuration mode by means of the network command are injected into the unicast database by default. To inject a network into another database, such as the multicast database, you must define the network address family configuration mode using the network command, as shown in Step 3.


Using NLRI Keywords

To advertise (inject) a network number and mask into multiprotocol BGP using NLRI keywords, use the following commands beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# network network-number [mask network-mask] nlri {unicast | multicast | unicast multicast}

Advertises (injects) this network number and mask into the BGP database. (The routes must first be found in the unicast forwarding table.) Specifically, the network number and mask are injected into the multicast database.

Routes are tagged from the specified network as "local origin."


Note If the NLRI keywords are not specified with the network command, the network is injected into the unicast database by default. Specifying the nlri multicast keywords injects the network into the multicast database. Specifying the nlri unicast keywords injects the network into the unicast database. Specifying the nlri unicast multicast keywords injects the network into both the unicast database and the multicast database.


See the "Multiprotocol BGP Network Advertisement Examples" section for multiprotocol BGP network advertisement configuration examples.

Configuring Route Maps for Multiprotocol BGP Prefixes

The tasks in this section are for configuring route maps using both an address family and NLRI keywords for specifying policies for multiprotocol BGP prefixes.

Using an Address Family

To configure a route map for multiprotocol BGP prefixes using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor ip-address remote-as autonomous-system-number

Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router.

Step 3 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies IPv4 address family type and places the router in address family configuration mode.

Step 4 

Router(config-router-af)# neighbor ip-address activate

Enables the address family for the neighbor in the remote autonomous system.

Step 5 

Router(config-router-af)# neighbor ip-address route-map route-map-name {in | out}

Applies a route map to incoming or outgoing routes.

Step 6 

Router(config)# route-map map-tag [permit | deny] [sequence-number]

Defines a route map.

Step 7 

Router(config-route-map)# match ip-address access-list-number

Distributes any route that has a destination network number address that is permitted by a standard or extended access list, or performs policy routing on packets.


Note By default, neighbors that are defined by means of the neighbor remote-as command in router configuration mode exchange only unicast address prefixes. For neighbors to exchange other address prefix types, such as multicast and VPNv4, you must activate the neighbors using the neighbor activate command in address family configuration mode, as shown in Step 4.



Note Route maps that are applied in router configuration mode by the neighbor route-map command are applied to unicast address prefixes by default. Route maps for other address families, such as multicast, must be applied in address family configuration mode by use of the neighbor route-map command, as shown. The route maps are applied either as the inbound or outbound routing policy for neighbors under each address family. Configuring separate route maps under each address family simplifies managing complicated or different policies for each address family.


Using NLRI Keywords

To configure a route map for multiprotocol BGP prefixes using NLRI keywords, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor ip-address remote-as autonomous-system nlri {unicast | multicast | unicast multicast}


Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router. Enables the neighbor to exchange the specified address prefix types with the local router.

Step 3 

Router(config-router)# neighbor ip-address route-map route-map-name {in | out}

Applies a route map to incoming or outgoing routes.

Step 4 

Router(config)# route-map map-tag [permit | deny] [sequence-number]

Defines a route map and places the router in route map configuration mode.

Step 5 

Router(config-route-map)# match nlri {multicast | unicast | multicast unicast}

Matches routes with a database entry based on whether they are unicast, multicast, or either one.

Step 6 

Router(config-route-map)# match ip-address access-list-number

Distributes any route that has a destination network number address that is permitted by a standard or extended access list, or performs policy routing on packets.


Note A single route map is used to specify policies for all address prefixes. Specifically, routing policies for unicast and multicast address prefixes are carried in the same BGP session by by means of a single route map that includes NLRI keywords with the match command. The route map is applied either as the inbound or outbound routing policy for a peer or peer group. If an NLRI keyword is not specified in the match command, unicast address prefixes are carried in the routing policy by default. If you specify the nlri multicast keywords, multicast prefixes are carried in the routing policy. If you specify the nlri unicast keywords, unicast prefixes are carried in the routing policy. If you specifying the nlri unicast multicast keywords, both unicast and multicast prefixes are carried in the routing policy.



Note For various match and set commands, refer to the "Configuring BGP" chapter or the "Configuring IP Routing Protocol-Independent Features" chapter in the Cisco IOS IP and IP Routing Configuration Guide.


See the "Multiprotocol BGP Route Map Examples" section for multiprotocol BGP route map configuration examples.

Redistributing Prefixes into Multiprotocol BGP

Redistribution is the process of injecting prefixes from one routing protocol into another routing protocol. Use the tasks in this section to inject prefixes from a routing protocol into multiprotocol BGP using both an address family and NLRI keywords. Specifically, prefixes that are redistributed into multiprotocol BGP through use of the redistribute command are injected into the unicast database, the multicast database, or both.

Using an Address Family

To inject prefixes from a routing protocol into multiprotocol BGP using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies IPv4 address family type and places the router in address family configuration mode.

Step 3 

Router(config-router-af)# redistribute protocol [process-id] [route-map map-name]

Specifies the routing protocol from which prefixes should be redistributed into multiprotocol BGP.

Step 4 

Router(config)# route-map map-tag [permit | deny] [sequence-number]

Router(config-route-map)#

Defines a route map and places the router in route map configuration mode.

Follow this step with a match command.

Step 5 

Router(config-route-map)# match ip-address access-list-number

Distributes any prefix that has a destination network number address that is permitted by a standard or extended access list, or performs policy routing on packets.


Note Route maps that are applied in router configuration mode by the redistribute route-map command are applied to unicast address prefixes by default. Route maps for other address families, such as multicast, must be applied in address family configuration mode. To do so, you must use the redistribute route-map command, as shown in Step 3.


Using NLRI Keywords

To advertise (inject) prefixes from a routing protocol into multiprotocol BGP using NLRI keywords, use the following command, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# redistribute protocol [process-id] [route-map map-name]

Specifies the routing protocol from which prefixes should be redistributed into multiprotocol BGP.

Step 3 

Router(config)# route-map map-tag [permit | deny] [sequence-number]

Router(config-route-map)#

Defines a route map and places the router in route map configuration mode.

Follow this step with a match command.

Step 4 

Router(config-route-map)# match ip-address access-list-number

Distributes any prefix that has a destination network number address that is permitted by a standard or extended access list, or performs policy routing on packets.

Follow this step with a set command.

Step 5 

Router(config-route-map)# set nlri {unicast | multicast | unicast multicast}


Redistributes the matched prefixes into the specified database.


Note If NLRI keywords are not specified with the set command, the prefixes are injected into the unicast database by default. Specifying the nlri multicast keywords injects the prefixes into the multicast database. Specifying the nlri unicast keywords injects the prefixes into the unicast database. Specifying the nlri unicast multicast keywords injects the prefixes into both the unicast database and the multicast database.


Specifying a route map that contains any match commands and then the set nlri command means any routes that pass the match criteria are injected into the unicast or multicast database, as specified by the keyword unicast or multicast, or both unicast and multicast. If both keywords are specified, the route is injected into both databases and advertised as separate NLRIs in a BGP update message.

Use the set nlri command in a route map that is referenced by any of these router configuration commands: aggregate-address, neighbor default-originate route-map, or redistribute.

If you want to configure the sending of a default route to a neighbor, use the set nlri command in conjunction with the neighbor default-originate route-map command. If the set nlri is supplied in the route map referenced by the neighbor default-originate route-map command, the multicast default route can be generated independent of the unicast default route.

See the "Multiprotocol BGP Route Redistribution Examples" section for multiprotocol BGP route redistribution configuration examples.

Configuring DVMRP Interoperability with Multiprotocol BGP

Cisco multicast routers using PIM can interoperate with non-Cisco multicast routers that use the Distance Vector Multicast Routing Protocol (DVMRP).

PIM routers dynamically discover DVMRP multicast routers on attached networks. Once a DVMRP neighbor is discovered, the router caches DVMRP routes that the neighbor sends. Those routes describe sources in a DVMRP cloud that want their packets to be received outside of this routing domain. Multiprotocol BGP allows the source prefixes of those sources to be known outside of the routing domain.

The router periodically sends DVMRP report messages that advertise the unicast sources reachable in the PIM domain.

Redistributing Multiprotocol BGP Routes into DVMRP

By default, no multiprotocol BGP routes are redistributed into DVMRP. However, you can configure all multiprotocol BGP routes with a specified metric to be redistributed into DVMRP. Furthermore, to redistribute only certain multiprotocol BGP routes into DVMRP, you can configure the metric and subject it to route map conditions. If you supply a route map, you can specify various match criteria options for the multiprotocol BGP routes. If a route passes the route map, then the route is redistributed into DVMRP.

If multicast sources exist in other routing domains that are known through multiprotocol BGP and receivers exist in a DVMRP cloud, the receivers will want to receive packets from the other routing domains. Therefore, you need to redistribute the multiprotocol BGP prefix routes into DVMRP. This happens, for example, when you distribute multiprotocol BGP prefixes into the multicast backbone (MBONE).

To redistribute multiprotocol BGP routes into DVMRP, use the following command in interface configuration mode:

Command
Purpose

Router(config-if)# ip dvmrp metric metric [route-map map-name] mbgp

Redistributes multiprotocol BGP routes with a specified metric into DVMRP. An optional route map controls which routes are redistributed; otherwise, all multiprotocol BGP routes are redistributed.


Redistributing DVMRP Routes into Multiprotocol BGP

If there are multicast sources in a DVMRP routing domain that need to reach receivers in multiprotocol BGP routing domains, you need to redistribute DVMRP prefixes into multiprotocol BGP. If you supply a route map, you can also use the set command to specify various BGP attribute settings.

To redistribute DVMRP prefixes into multiprotocol BGP, use the following command in address family configuration mode:

Command
Purpose

Router(config-router-af)# redistribute dvmrp [route-map map-name]

Redistributes DVMRP routes into multiprotocol BGP.


To redistribute DVMRP prefixes into multiprotocol BGP, use the following command in router configuration mode:

Command
Purpose

Router(config-router)# redistribute dvmrp [route-map map-name]

Redistributes DVMRP routes into multiprotocol BGP.


See the "Multiprotocol BGP Route Redistribution Examples" section for multiprotocol BGP route redistribution configuration examples.

Configuring a Multiprotocol BGP Route Reflector

The tasks in this section are for configuring a local router as a route reflector of multiprotocol BGP prefixes through use of both an address family and NLRI keywords.

Using an Address Family

To configure a local router as a route reflector of multiprotocol BGP prefixes using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor ip-address remote-as autonomous-system-number


Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router.

Step 3 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies an IPv4 address family type and places the router in address family configuration mode.

Step 4 

Router(config-router-af)# neighbor ip-address activate

Enables the specified address family for the neighbor in the remote autonomous system.

Step 5 

Router(config-router-af)# neighbor ip-address route-reflector-client

Configures the router as a route reflector of prefixes for the specified address family type and configures the specified neighbor as its client.


Note By default, neighbors that are defined by the neighbor remote-as command in router configuration mode exchange only unicast address prefixes. For neighbors to exchange other address prefix types, such as multicast and VPNv4, you must activate the neighbors using the neighbor activate command in address family configuration mode, as shown in Step 4.



Note Route reflectors and clients (neighbors or internal BGP peer groups) that are defined in router configuration mode using the neighbor route-reflector-client command reflect by default unicast address prefixes to and from those clients. If you want them to reflect prefixes for other address families, such as multicast, you need to define the reflectors and clients in address family configuration mode using the neighbor route-reflector-client command, as shown in Step 5.


Using NLRI Keywords

To configure a local router as a route reflector of multiprotocol BGP prefixes using NLRI keywords, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# neighbor ip-address remote-as autonomous-system nlri {unicast | multicast | unicast multicast}


Adds the IP address of the neighbor in the remote autonomous system to the multiprotocol BGP neighbor table of the local router and enables the neighbor to exchange the specified prefix types with the local router.

Step 3 

Router(config-router-af)# neighbor ip-address route-reflector-client

Configures the router as a route reflector of prefixes for the specified prefix types and configures the specified neighbor as its client.


Note If NLRI keywords are not specified with the neighbor remote-as command, unicast prefixes are reflected to and from specified clients (neighbors or IBGP peer groups) by If you specify the nlri unicast keywords, unicast prefixes are reflected. If you specify the nlri unicast multicast keyword, both unicast and multicast prefixes are reflected.


See the "Multiprotocol BGP Route Reflector Examples" section for multiprotocol BGP route reflector configuration examples.

Configuring Aggregate Multiprotocol BGP Addresses

The tasks in this section are for configuring an aggregate address for multiprotocol BGP using both an address family and NLRI keywords. Specifically, the tasks are for injecting an aggregate address into the multicast database, the unicast database, or both.

Using an Address Family

To configure an aggregate address for multiprotocol BGP using an address family, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# address-family ipv4 multicast

Router(config-router-af)#

Specifies IPv4 address family type and places the router in address family configuration mode.

Step 3 

Router(config-router-af)# aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name]

Configures an aggregate address with various options.


Note Aggregate addresses that are defined in router configuration mode by means of the aggregate-address as-set command are injected into the unicast database by default. To enter an aggregate address in another database, such as the multicast database, you must define the aggregate address in address family configuration mode, using the aggregate-address as-set command, as shown in Step 3.


Using NLRI Keywords

To configure an aggregate address for multiprotocol BGP using NLRI keywords, use the following commands, beginning in global configuration mode:

 
Command
Purpose

Step 1 

Router(config)# router bgp autonomous-system

Router(config-router)#

Configures a BGP routing process and places the router in router configuration mode.

Step 2 

Router(config-router)# aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name] [nlri {unicast | multicast | unicast multicast}]



Configures an aggregate address with various options, including the NLRI type (which determines whether the aggregate address applies to the unicast database, the multicast database, or both).


Note If NLRI keywords are not specified with the aggregate-address as-set command, the aggregate address is injected into the unicast database by default. Specifying the nlri multicast keywords injects the prefixes into the multicast database. Specifying the nlri unicast keywords injects the prefixes into the unicast database. Specifying the nlri unicast multicast keywords injects the prefixes into both the unicast database and the multicast database.


See the "Aggregate Multiprotocol BGP Address Examples" section for aggregate multiprotocol BGP address configuration examples.

Verifying Multiprotocol BGP Configuration and Operation

The following example shows how to verify multiprotocol BGP configuration and operation:


Step 1 Enter the show ip bgp ipv4 multicast EXEC command to display information related to the multicast database:

Router# show ip bgp ipv4 multicast

MBGP table version is 6, local router ID is 192.168.200.66
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop          Metric LocPrf Weight Path
*> 10.0.20.16/28     0.0.0.0                0      0 32768 i
*> 10.0.35.16/28     0.0.0.0                0      0 32768 i
*> 10.0.36.0/28      0.0.0.0                0      0 32768 i
*> 10.0.48.16/28     0.0.0.0                0      0 32768 i
*> 10.2.0.0/16       0.0.0.0                0      0 32768 i
*> 10.2.1.0/24       0.0.0.0                0      0 32768 i
*> 10.2.2.0/24       0.0.0.0                0      0 32768 i
*> 10.2.3.0/24       0.0.0.0                0      0 32768 i
*> 10.2.7.0/24       0.0.0.0                0      0 32768 i
*> 10.2.8.0/24       0.0.0.0                0      0 32768 i
*> 10.2.10.0/24      0.0.0.0                0      0 32768 i
*> 10.2.11.0/24      0.0.0.0                0      0 32768 i
*> 10.2.12.0/24      0.0.0.0                0      0 32768 i
*> 10.2.13.0/24      0.0.0.0                0      0 32768 i


Note For a description of each output display field, refer to the show ip bgp ipv4 multicast command in the "Command Reference" section of this feature module.


Step 2 Enter the show ip bgp ipv4 multicast summary EXEC command to display a summary of multicast database information:

Router# show ip bgp ipv4 multicast summary

BGP router identifier 10.0.33.34, local AS number 34
BGP table version is 5, main routing table version 1
4 network entries and 6 paths using 604 bytes of memory
5 BGP path attribute entries using 260 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
2 BGP community entries using 48 bytes of memory
2 BGP route-map cache entries using 32 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP activity 8/28 prefixes, 12/0 paths, scan interval 15 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.33.35      4    35     624     624        5    0    0 10:13:46        3 

Step 3 Enter the debug ip mbgp dampening EXEC command to log the route flap dampening activity:

Router# debug ip mbgp dampening

BGP: charge penalty for 173.19.0.0/16 path 49 with halflife-time 15 reuse/suppress 
750/2000
BGP: flapped 1 times since 00:00:00. New penalty is 1000
BGP: charge penalty for 173.19.0.0/16 path 19 49 with halflife-time 15 reuse/suppress 
750/2000
BGP: flapped 1 times since 00:00:00. New penalty is 1000

Step 4