This module describes how to configure multiprotocol Border Gateway Protocol (BGP) for IPv6. BGP is an Exterior Gateway Protocol (EGP) used mainly to connect separate routing domains that contain independent routing policies (autonomous systems). Connecting to a service provider for access to the Internet is a common use for BGP. BGP can also be used within an autonomous system and this variation is referred to as internal BGP (iBGP). Multiprotocol BGP is an enhanced BGP that carries routing information for multiple network layer protocol address families, for example, IPv6 address family and for IP multicast routes. All BGP commands and routing policy capabilities can be used with multiprotocol BGP.
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see
Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Information About Implementing Multiprotocol BGP for IPv6
Multiprotocol BGP is the supported exterior gateway protocol (EGP) for IPv6. Multiprotocol BGP extensions for IPv6 supports many of the same features and functionality as IPv4 BGP. IPv6 enhancements to multiprotocol BGP include support for an IPv6 address family and network layer reachability information (NLRI) and next hop (the next router in the path to the destination) attributes that use IPv6 addresses.
IPv6 Multiprotocol BGP Peering Using a Link-Local Address
The IPv6 multiprotocol BGP can be configured between two IPv6 devices (peers) using link-local addresses. For this function to work, the interface for the neighbor must be identified by using the
neighborupdate-source command, and a route map must be configured to set an IPv6 global next hop.
Multiprotocol BGP for the IPv6 Multicast Address Family
The multiprotocol BGP for the IPv6 multicast address family feature provides multicast BGP extensions for IPv6 and supports the same features and functionality as IPv4 BGP. IPv6 enhancements to multicast BGP include support for an IPv6 multicast address family and network layer reachability information (NLRI) and next hop (the next router in the path to the destination) attributes that use IPv6 addresses.
Multicast BGP is an enhanced BGP that allows the deployment of interdomain IPv6 multicast. Multiprotocol BGP carries routing information for multiple network layer protocol address families; for example, IPv6 address family and for IPv6 multicast routes. The IPv6 multicast address family contains routes used for RPF lookup by the IPv6 PIM protocol, and multicast BGP IPv6 provides for interdomain transport of the same. Users must use multiprotocol BGP for IPv6 multicast when using IPv6 multicast with BGP because the unicast BGP learned routes will not be used for IPv6 multicast.
Multicast BGP functionality is provided through a separate address family context. A subsequent address family identifier (SAFI) provides information about the type of the network layer reachability information that is carried in the attribute. Multiprotocol BGP unicast uses SAFI 1 messages, and multiprotocol BGP multicast uses SAFI 2 messages. SAFI 1 messages indicate that the routes are usable only for IP unicast, not IP multicast. Because of this functionality, BGP routes in the IPv6 unicast RIB must be ignored in the IPv6 multicast RPF lookup.
A separate BGP routing table is maintained to configure incongruent policies and topologies (for example, IPv6 unicast and multicast) by using IPv6 multicast RPF lookup. Multicast RPF lookup is very similar to the IP unicast route lookup.
No MRIB is associated with the IPv6 multicast BGP table. However, IPv6 multicast BGP operates on the unicast IPv6 RIB when needed. Multicast BGP does not insert or update routes into the IPv6 unicast RIB.
Nonstop Forwarding and Graceful Restart for MP-BGP IPv6 Address Family
The graceful restart capability is supported for IPv6 BGP unicast, multicast, and VPNv6 address families, enabling Cisco nonstop forwarding (NSF) functionality for BGP IPv6. The BGP graceful restart capability allows the BGP routing table to be recovered from peers without keeping the TCP state.
NSF continues forwarding packets while routing protocols converge, therefore avoiding a route flap on switchover. Forwarding is maintained by synchronizing the FIB between the active and standby RP. On switchover, forwarding is maintained using the FIB. The RIB is not kept synchronized; therefore, the RIB is empty on switchover. The RIB is repopulated by the routing protocols and subsequently informs FIB about RIB convergence by using the NSF_RIB_CONVERGED registry call. The FIB tables are updated from the RIB, removing any stale entries. The RIB starts a failsafe timer during RP switchover, in case the routing protocols fail to notify the RIB of convergence.
The Cisco BGP address family identifier (AFI) model is designed to be modular and scalable, and to support multiple AFI and subsequent address family identifier (SAFI) configurations.
How to Implement Multiprotocol BGP for IPv6
When configuring multiprotocol BGP extensions for IPv6, you must create the BGP routing process, configure peering relationships, and customize BGP for your particular network.
Note
The following sections describe the configuration tasks for creating an IPv6 multiprotocol BGP routing process and associating peers, peer groups, and networks to the routing process. The following sections do not provide in-depth information on customizing multiprotocol BGP because the protocol functions the same in IPv6 as it does in IPv4. See the How to Implement Multiprotocol BGP for IPv6 section for further information on BGP and multiprotocol BGP configuration and command reference information.
Configuring an IPv6 BGP Routing Process and BGP Router ID
Perform this task to configure an IPv6 BGP routing process and an optional BGP router ID for a BGP-speaking device.
BGP uses a router ID to identify BGP-speaking peers. The BGP router ID is 32-bit value that is often represented by an IPv4 address. By default, the router ID is set to the IPv4 address of a loopback interface on the device. If no loopback interface is configured on the device, then the software chooses the highest IPv4 address configured to a physical interface on the device to represent the BGP router ID.
When configuring BGP on a device that is enabled only for IPv6 (the device does not have an IPv4 address), you must manually configure the BGP router ID for the device. The BGP router ID, which is represented as a 32-bit value using an IPv4 address syntax, must be unique to the BGP peers of the device.
SUMMARY STEPS
1.enable
2.configureterminal
3.routerbgpas-number
4.nobgpdefaultipv4-unicast
5.bgprouter-idip-address
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Device> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Device# configure terminal
Enters global configuration mode.
Step 3
routerbgpas-number
Example:
Device(config)# router bgp 65000
Configures a BGP routing process, and enters router configuration mode for the specified routing process.
Step 4
nobgpdefaultipv4-unicast
Example:
Device(config-router)# no bgp default ipv4-unicast
Disables the IPv4 unicast address family for the BGP routing process specified in the previous step.
Note
Routing information for the IPv4 unicast address family is advertised by default for each BGP routing session configured with the
neighborremote-as command unless you configure the
nobgpdefaultipv4-unicast command before configuring the
neighborremote-as command.
(Optional) Configures a fixed 32-bit router ID as the identifier of the local device running BGP.
Note
Configuring a router ID using the
bgprouter-id command resets all active BGP peering sessions.
Configuring IPv6 Multiprotocol BGP Between Two Peers
By default, neighbors that are defined using the
neighborremote-as command in router configuration mode exchange only IPv4 unicast address prefixes. To exchange other address prefix types, such as IPv6 prefixes, neighbors must also be activated using the
neighboractivate command in address family configuration mode for the other prefix types, as shown for IPv6 prefixes.
Adds the IPv6 address of the neighbor in the specified autonomous system to the IPv6 multiprotocol BGP neighbor table of the local device.
Step 5
address-familyipv6[unicast |
multicast]
Example:
Device(config-router)# address-family ipv6
Specifies the IPv6 address family and enters address family configuration mode.
The
unicast keyword specifies the IPv6 unicast address family. By default, the device is placed in configuration mode for the IPv6 unicast address family if a keyword is not specified with the
address-familyipv6 command.
The
multicast keyword specifies IPv6 multicast address prefixes.
Enables the neighbor to exchange prefixes for the IPv6 address family with the local device.
Configuring IPv6 Multiprotocol BGP Between Two Peers Using Link-Local Addresses
By default, neighbors that are defined using the
neighborremote-as command in router configuration mode exchange only IPv4 unicast address prefixes. To exchange other address prefix types, such as IPv6 prefixes, neighbors must also be activated using the
neighboractivate command in address family configuration mode for the other prefix types, as shown for IPv6 prefixes.
By default, route maps that are applied in router configuration mode using the
neighborroute-map command are applied to only IPv4 unicast address prefixes. Route maps for other address families must be applied in address family configuration mode using the
neighborroute-map command, as shown for the IPv6 address family. The route maps are applied either as the inbound or outbound routing policy for neighbors under the specified address family. Configuring separate route maps under each address family type simplifies managing complicated or different policies for each address family.
Adds the link-local IPv6 address of the neighbor in the specified remote autonomous system to the IPv6 multiprotocol BGP neighbor table of the local router.
The
ipv6-addressargument in the
neighborremote-ascommand must be a link-local IPv6 address in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons.
Specifies the link-local address over which the peering is to occur.
If there are multiple connections to the neighbor and you do not specify the neighbor interface by using the
interface-type and
interface-numberarguments in the
neighborupdate-source command, a TCP connection cannot be established with the neighbor using link-local addresses.
Specifies the IPv6 address family, and enters address family configuration mode.
The
unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the
unicast keyword is not specified with the
address-familyipv6 command.
The
multicast keyword specifies IPv6 multicast address prefixes.
Router(config-route-map)# set ipv6 next-hop 2001:DB8::1
Overrides the next hop advertised to the peer for IPv6 packets that pass a match clause of a route map for policy routing.
The
ipv6-address argument specifies the IPv6 global address of the next hop. It need not be an adjacent router.
The
link-local-addressargument specifies the IPv6 link-local address of the next hop. It must be an adjacent router.
Note
The route map sets the IPv6 next-hop addresses (global and link-local) in BGP updates. If the route map is not configured, the next-hop address in the BGP updates defaults to the unspecified IPv6 address (::), which is rejected by the peer. If you specify only the global IPv6 next-hop address (the
ipv6-address argument) with the
setipv6next-hopcommand after specifying the neighbor interface (the
interface-type argument) with the
neighborupdate-source command in
Step 5
, the link-local address of the interface specified with the
interface-type argument is included as the next-hop in the BGP updates. Therefore, only one route map that sets the global IPv6 next-hop address in BGP updates is required for multiple BGP peers that use link-local addresses.
If peering is not established by this task, it may be because of a missing route map setipv6next-hop command. Use the debugbgpipv6update command to display debugging information on the updates to help determine the state of the peering.
Configuring an IPv6 Multiprotocol BGP Peer Group
By default, neighbors that are defined using the
neighborremote-as command in router configuration mode exchange only IPv4 unicast address prefixes. To exchange other address prefix types, such as IPv6 prefixes, neighbors must also be activated using the
neighboractivate command in address family configuration mode for the other prefix types, as shown for IPv6 prefixes.
By default, peer groups that are defined in router configuration mode using the
neighborpeer-groupcommand exchange only IPv4 unicast address prefixes. To exchange other address prefix types, such as IPv6 prefixes, you must activate peer groups using the
neighboractivate command in address family configuration mode for the other prefix types, as shown for IPv6 prefixes.
Members of a peer group automatically inherit the address prefix configuration of the peer group.
IPv4 active neighbors cannot exist in the same peer group as active IPv6 neighbors. Create separate peer groups for IPv4 peers and IPv6 peers.
Specifies the IPv6 address family, and enters address family configuration mode.
The
unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the
unicast keyword is not specified with the
address-familyipv6 command.
The
multicast keyword specifies IPv6 multicast address prefixes.
Enables the neighbor to exchange prefixes for the specified family type with the neighbor and the local router.
To avoid extra configuration steps for each neighbor, use the
neighboractivate command with the
peer-group-name argument as an alternative in this step.
Assigns the IPv6 address of a BGP neighbor to a peer group.
Step 10
exit
Example:
Router(config-router-af)# exit
Exits address family configuration mode, and returns the router to router configuration mode.
Repeat this step to exit router configuration mode and return the router to global configuration mode.
Advertising IPv4 Routes Between IPv6 BGP Peers
If an IPv6 network is connecting two separate IPv4 networks, it is possible to use IPv6 to advertise the IPv4 routes. Configure the peering using the IPv6 addresses within the IPv4 address family. Set the next hop with a static route or with an inbound route map because the advertised next hop will usually be unreachable. Advertising IPv6 routes between two IPv4 peers is also possible using the same model.
Device(config-router-af)# neighbor 6peers route-map rmap out
Applies a route map to incoming or outgoing routes.
Changes to the route map will not take effect for existing peers until the peering is reset or a soft reset is performed. Using the
clearbgpipv6 command with the
soft and
in keywords will perform a soft reset.
Step 9
exit
Example:
Device(config-router-af)# exit
Exits address family configuration mode, and returns the device to router configuration mode.
Step 10
exit
Example:
Device(config-router)# exit
Exits router configuration mode, and returns the device to global configuration mode.
Step 11
route-mapmap-tag[permit |
deny] [sequence-number]
Example:
Device(config)# route-map rmap permit 10
Defines a route map and enters route-map configuration mode.
Device(config-route-map)# set ip next-hop 10.21.8.10
Overrides the next hop advertised to the peer for IPv4 packets.
Assigning BGP Administrative Distance for Multicast BGP Routes
Perform this task to specify an administrative distance for multicast BGP routes to be used in RPF lookups for comparison with unicast routes.
Caution
Changing the administrative distance of BGP internal routes is not recommended. One problem that can occur is the accumulation of routing table inconsistencies, which can break routing.
Specifies the IPv6 address family, and enters address family configuration mode.
The
unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the
unicast keyword is not specified with the
address-familyipv6 command.
The
multicast keyword specifies IPv6 multicast address prefixes.
Configures the administrative distance for BGP routes.
Generating IPv6 Multicast BGP Updates
Perform this task to generate IPv6 multicast BGP updates that correspond to unicast IPv6 updates received from a peer.
The MBGP translate-update feature generally is used in an MBGP-capable router that peers with a customer site that has only a BGP-capable router; the customer site has not or cannot upgrade its router to an MBGP-capable image. Because the customer site cannot originate MBGP advertisements, the router with which it peers will translate the BGP prefixes into MBGP prefixes, which are used for multicast-source Reverse Path Forwarding (RPF) lookup.
Specifies the IPv6 address family, and enters address family configuration mode.
The unicast keyword specifies the IPv6 unicast address family. By default, the router is placed in configuration mode for the IPv6 unicast address family if the unicast keyword is not specified with the address-familyipv6 command.
The multicast keyword specifies IPv6 multicast address prefixes.
Example: Configuring a BGP Process, BGP Router ID, and IPv6 Multiprotocol BGP Peer
The following example enables IPv6 globally, configures a BGP process, and establishes a BGP router ID. Also, the IPv6 multiprotocol BGP peer 2001:DB8:0:CC00:: is configured and activated.
Example Configuring an IPv6 Multiprotocol BGP Peer Using a Link-Local Address
The following example configures the IPv6 multiprotocol BGP peer FE80::XXXX:BFF:FE0E:A471 over Gigabit Ethernet interface 0/0/0 and sets the route map named nh6 to include the IPv6 next-hop global address of Gigabit Ethernet interface 0/0/0 in BGP updates. The IPv6 next-hop link-local address can be set by the nh6 route map (not shown in the following example) or from the interface specified by the neighborupdate-source command (as shown in the following example).
If you specify only the global IPv6 next-hop address (the ipv6-address
argument) with the setipv6next-hop command after specifying the neighbor interface (the interface-type argument) with the neighborupdate-source command, the link-local address of the interface specified with the interface-type
argument is included as the next hop in the BGP updates. Therefore, only one route map that sets the global IPv6 next-hop address in BGP updates is required for multiple BGP peers that use link-local addresses.
Example: Configuring an IPv6 Multiprotocol BGP Peer Group
The following example configures the IPv6 multiprotocol BGP peer group named group1:
Example: Advertising IPv4 Routes Between IPv6 Peers
The following example advertises IPv4 routes between IPv6 peers when the IPv6 network is connecting two separate IPv4 networks. Peering is configured using IPv6 addresses in the IPv4 address family configuration mode. The inbound route map named rmap sets the next hop because the advertised next hop is likely to be unreachable.
Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
RFC 2858
Multiprotocol Extensions for BGP-4
RFC 4007
IPv6 Scoped Address Architecture
RFC 4364
BGP MPLS/IP Virtual Private Networks (VPNs)
RFC 4382
MPLS/BGP Layer 3 Virtual Private Network (VPN) Management Information Base
RFC 4659
BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN
RFC 4724
Graceful Restart Mechanism for BGP
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
http://www.cisco.com/cisco/web/support/index.html
Feature Information for Implementing Multiprotocol BGPfor IPv6
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1
Feature Information for Implementing Multiprotocol BGP for IPv6
Feature Name
Releases
Feature Information
IPv6--NSF and Graceful Restart for MP-BGP IPv6 Address Family
Cisco IOS XE Release 3.1S
IPv6 BGP supports Cisco Nonstop Forwarding and graceful restart.
IPv6 Multicast Address Family Support for Multiprotocol BGP
Cisco IOS XE Release 2.1
The multiprotocol BGP for the IPv6 multicast address family feature provides multicast BGP extensions for IPv6 and supports the same features and functionality as IPv4 BGP.
IPv6 Routing--Multiprotocol BGP Extensions for IPv6
Cisco IOS XE Release 2.1
Multiprotocol BGP extensions for IPv6 supports the same features and functionality as IPv4 BGP.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.