Implementing Multiprotocol BGP for IPv6
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.
Information About Implementing Multiprotocol BGP for IPv6
Multiprotocol BGP Extensions 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 device 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, you must identify the interface for the neighbor by using the neighbor update-source command, and you must configure a route map 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
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 (that is, 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
- enable
- configure terminal
- router bgp as-number
- no bgp default ipv4-unicast
- bgp router-id ip-address
- end
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
router bgp as-number Example:
|
Configures a BGP routing process, and enters router configuration mode for the specified routing process. |
||
Step 4 |
no bgp default ipv4-unicast Example:
|
Disables the IPv4 unicast address family for the BGP routing process specified in the previous step.
|
||
Step 5 |
bgp router-id ip-address Example:
|
(Optional) Configures a fixed 32-bit router ID as the identifier of the local device running BGP.
|
||
Step 6 |
end Example:
|
Exits router configuration mode and returns to privileged EXEC mode. |
Configuring IPv6 Multiprotocol BGP Between Two Peers
By default, neighbors that are defined using the neighbor remote-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 neighbor activate command in address family configuration mode for the other prefix types, as shown for IPv6 prefixes.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...]
- address-family ipv6 [unicast | multicast ]
- neighbor {ip-address | peer-group-name | ipv6-address % } activate
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...] Example:
|
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-family ipv6 [unicast | multicast ] Example:
|
Specifies the IPv6 address family and enters address family configuration mode.
|
Step 6 |
neighbor {ip-address | peer-group-name | ipv6-address % } activate Example:
|
Enables the neighbor to exchange prefixes for the IPv6 address family with the local device. |
Step 7 |
end Example:
|
Exits address family configuration mode and returns to privileged EXEC mode. |
Configuring IPv6 Multiprotocol BGP Between Two Peers Using Link-Local Addresses
By default, neighbors that are defined using the neighbor remote-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 neighbor activate 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 neighbor route-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 neighbor route-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.
SUMMARY STEPS
- enable
- configure terminal
- router bgp autonomous-system-number
- neighbor {ip-address | ipv6-address | peer-group-name } remote-as as-number
- neighbor {ip-address | ipv6-address | peer-group-name } update-source interface-type interface-number
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6
- neighbor {ip-address | peer-group-name | ipv6-address } activate
- neighbor {ip-address | peer-group-name | ipv6-address } route-map map-name {in | out
- exit
- exit
- route-map map-tag [permit | deny ] [sequence-number ]
- match ipv6 address {prefix-list prefix-list-name | access-list-name
- set ipv6 next-hop ipv6-address [link-local-address ] [peer-address
- end
DETAILED STEPS
Command or Action | Purpose | |||
---|---|---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
||
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
||
Step 3 |
router bgp autonomous-system-number Example:
|
Enters router configuration mode for the specified routing process. |
||
Step 4 |
neighbor {ip-address | ipv6-address | peer-group-name } remote-as as-number Example:
|
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.
|
||
Step 5 |
neighbor {ip-address | ipv6-address | peer-group-name } update-source interface-type interface-number Example:
|
Specifies the link-local address over which the peering is to occur.
|
||
Step 6 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
||
Step 7 |
neighbor {ip-address | peer-group-name | ipv6-address } activate Example:
|
Enables the neighbor to exchange prefixes for the IPv6 address family with the local router using the specified link-local addresses. |
||
Step 8 |
neighbor {ip-address | peer-group-name | ipv6-address } route-map map-name {in | out Example:
|
Applies a route map to incoming or outgoing routes. |
||
Step 9 |
exit Example:
|
Exits address family configuration mode, and returns to router configuration mode. |
||
Step 10 |
exit Example:
|
Exits router configuration mode, and returns to global configuration mode. |
||
Step 11 |
route-map map-tag [permit | deny ] [sequence-number ] Example:
|
Defines a route map and enters route-map configuration mode. |
||
Step 12 |
match ipv6 address {prefix-list prefix-list-name | access-list-name Example:
|
Distributes any routes that have a destination IPv6 network number address permitted by a prefix list, or performs policy routing on packets. |
||
Step 13 |
set ipv6 next-hop ipv6-address [link-local-address ] [peer-address Example:
|
Overrides the next hop advertised to the peer for IPv6 packets that pass a match clause of a route map for policy routing.
|
||
Step 14 |
end Example:
|
Exits route-map configuration mode and returns to privileged EXEC mode. |
Troubleshooting Tips
If peering is not established by this task, it may be because of a missing route map set ipv6 next-hop command. Use the debug bgp ipv6 update 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 neighbor remote-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 neighbor activate 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 neighbor peer-group command exchange only IPv4 unicast address prefixes. To exchange other address prefix types, such as IPv6 prefixes, you must activate peer groups using the neighbor activate 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.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- neighbor peer-group-name peer-group
- neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...]
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6
- neighbor {ip-address | peer-group-name | ipv6-address % } activate
- neighbor ip-address | ipv6-address } send-label
- neighbor {ip-address | ipv6-address } peer-group peer-group-name
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified BGP routing process. |
Step 4 |
neighbor peer-group-name peer-group Example:
|
Creates a multiprotocol BGP peer group. |
Step 5 |
neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...] Example:
|
Adds the IPv6 address of the neighbor in the specified autonomous system to the IPv6 multiprotocol BGP neighbor table of the local router. |
Step 6 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 7 |
neighbor {ip-address | peer-group-name | ipv6-address % } activate Example:
|
Enables the neighbor to exchange prefixes for the specified family type with the neighbor and the local router.
|
Step 8 |
neighbor ip-address | ipv6-address } send-label Example:
|
Advertises the capability of the device to send MPLS labels with BGP routes.
|
Step 9 |
neighbor {ip-address | ipv6-address } peer-group peer-group-name Example:
|
Assigns the IPv6 address of a BGP neighbor to a peer group. |
Step 10 |
end Example:
|
Exits address family configuration mode, and returns to privileged EXEC mode. |
Configuring a Route Map for IPv6 Multiprotocol BGP Prefixes
-
By default, neighbors that are defined using the neighbor remote-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 neighbor activate 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 neighbor route-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 neighbor route-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.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...]
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ]
- neighbor {ip-address | peer-group-name | ipv6-address % } activate
- neighbor {ip-address | peer-group-name | ipv6-address [% ]} route-map map-name {in | out }
- exit
- exit
- route-map map-tag [permit | deny ] [sequence-number ]
- match ipv6 address {prefix-list prefix-list-name | access-list-name }
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...] Example:
|
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 device. |
Step 5 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ] Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 6 |
neighbor {ip-address | peer-group-name | ipv6-address % } activate Example:
|
Enables the neighbor to exchange prefixes for the IPv6 address family with the local device using the specified link-local addresses. |
Step 7 |
neighbor {ip-address | peer-group-name | ipv6-address [% ]} route-map map-name {in | out } Example:
|
Applies a route map to incoming or outgoing routes.
|
Step 8 |
exit Example:
|
Exits address family configuration mode, and returns to router configuration mode. |
Step 9 |
exit Example:
|
Exits router configuration mode, and returns to global configuration mode. |
Step 10 |
route-map map-tag [permit | deny ] [sequence-number ] Example:
|
Defines a route map and enters route-map configuration mode.
|
Step 11 |
match ipv6 address {prefix-list prefix-list-name | access-list-name } Example:
|
Distributes any routes that have a destination IPv6 network number address permitted by a prefix list, or performs policy routing on packets. |
Step 12 |
end Example:
|
Exits route-map configuration mode and returns to privileged EXEC mode. |
Redistributing Prefixes into IPv6 Multiprotocol BGP
Redistribution is the process of redistributing, or injecting, prefixes from one routing protocol into another routing protocol. This task explains how to inject prefixes from a routing protocol into IPv6 multiprotocol BGP. Specifically, prefixes that are redistributed into IPv6 multiprotocol BGP using the redistribute router configuration command are injected into the IPv6 unicast database.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ]
- redistribute bgp [process-id ] [metric metric-value ] [route-map map-name ]
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified BGP routing process. |
Step 4 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ] Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 5 |
redistribute bgp [process-id ] [metric metric-value ] [route-map map-name ] Example:
|
Redistributes IPv6 routes from one routing domain into another routing domain. |
Step 6 |
end Example:
|
Exits address family configuration mode, and returns to privileged EXEC mode. |
Advertising Routes into IPv6 Multiprotocol BGP
By default, networks that are defined in router configuration mode using the network command are injected into the IPv4 unicast database. To inject a network into another database, such as the IPv6 BGP database, you must define the network using the network command in address family configuration mode for the other database, as shown for the IPv6 BGP database.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ]
- network {network-number [mask network-mask ] | nsap-prefix } [route-map map-tag ]
- exit
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified BGP routing process. |
Step 4 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ] Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 5 |
network {network-number [mask network-mask ] | nsap-prefix } [route-map map-tag ] Example:
|
Advertises (injects) the specified prefix into the IPv6 BGP database (the routes must first be found in the IPv6 unicast routing table).
|
Step 6 |
exit Example:
|
Exits address family configuration mode, and returns the device to router configuration mode.
|
Advertising IPv4 Routes Between IPv6 BGP Peers
If an IPv6 network is connecting two separate IPv4 networks, IPv6 can be used 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.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- neighbor peer-group-name peer-group
- neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...]
- address-family ipv4 [mdt | multicast | tunnel | unicast [vrf vrf-name ] | vrf vrf-name ]
- neighbor ipv6-address peer-group peer-group-name
- neighbor {ip-address | peer-group-name | ipv6-address [% ]} route-map map-name {in | out }
- exit
- exit
- route-map map-tag [permit | deny ] [sequence-number ]
- set ip next-hop ip-address [... ip-address ] [peer-address ]
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
neighbor peer-group-name peer-group Example:
|
Creates a multiprotocol BGP peer group. |
Step 5 |
neighbor {ip-address | ipv6-address [% ] | peer-group-name } remote-as autonomous-system-number [alternate-as autonomous-system-number ...] Example:
|
Adds the IPv6 address of the neighbor in the specified autonomous system to the IPv6 multiprotocol BGP neighbor table of the local device. |
Step 6 |
address-family ipv4 [mdt | multicast | tunnel | unicast [vrf vrf-name ] | vrf vrf-name ] Example:
|
Enters address family configuration mode to configure a routing session using standard IPv4 address prefixes. |
Step 7 |
neighbor ipv6-address peer-group peer-group-name Example:
|
Assigns the IPv6 address of a BGP neighbor to a peer group. |
Step 8 |
neighbor {ip-address | peer-group-name | ipv6-address [% ]} route-map map-name {in | out } Example:
|
Applies a route map to incoming or outgoing routes.
|
Step 9 |
exit Example:
|
Exits address family configuration mode, and returns the device to router configuration mode. |
Step 10 |
exit Example:
|
Exits router configuration mode, and returns the device to global configuration mode. |
Step 11 |
route-map map-tag [permit | deny ] [sequence-number ] Example:
|
Defines a route map and enters route-map configuration mode. |
Step 12 |
set ip next-hop ip-address [... ip-address ] [peer-address ] Example:
|
Overrides the next hop advertised to the peer for IPv4 packets. |
Step 13 |
end Example:
|
Exits address family configuration mode and returns to privileged EXEC mode. |
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. |
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ]
- distance bgp external-distance internal-distance local-distance
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 ] Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 5 |
distance bgp external-distance internal-distance local-distance Example:
|
Configures the administrative distance for BGP routes. |
Step 6 |
end Example:
|
Exits address family configuration mode and returns to privileged EXEC mode. |
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.
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6
- neighbor ipv6-address translate-update ipv6 multicast [unicast
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
address-family ipv6 [vrf vrf-name ] [unicast | multicast | vpnv6 Example:
|
Specifies the IPv6 address family, and enters address family configuration mode.
|
Step 5 |
neighbor ipv6-address translate-update ipv6 multicast [unicast Example:
|
Generates multiprotocol IPv6 BGP updates that correspond to unicast IPv6 updates received from a peer. |
Step 6 |
end Example:
|
Exits address family configuration mode and returns to privileged EXEC mode. |
Configuring the IPv6 BGP Graceful Restart Capability
SUMMARY STEPS
- enable
- configure terminal
- router bgp as-number
- bgp graceful-restart [restart-time seconds | stalepath-time seconds ] [all ]
- end
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
configure terminal Example:
|
Enters global configuration mode. |
Step 3 |
router bgp as-number Example:
|
Enters router configuration mode for the specified routing process. |
Step 4 |
bgp graceful-restart [restart-time seconds | stalepath-time seconds ] [all ] Example:
|
Enables the BGP graceful restart capability. |
Step 5 |
end Example:
|
Exits router configuration mode and returns to privileged EXEC mode. |
Resetting IPv6 BGP Sessions
SUMMARY STEPS
- enable
- clear bgp ipv6 {unicast | multicast } {* | autonomous-system-number | ip-address | ipv6-address | peer-group peer-group-name } [soft ] [in | out ]
- clear bgp ipv6 {unicast | multicast } external [soft ] [in | out ]
- clear bgp ipv6 {unicast | multicast } peer-group name
- clear bgp ipv6 {unicast | multicast } dampening [ipv6-prefix / prefix-length ]
- clear bgp ipv6 {unicast | multicast } flap-statistics [ipv6-prefix / prefix-length | regexp regexp | filter-list list ]
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
clear bgp ipv6 {unicast | multicast } {* | autonomous-system-number | ip-address | ipv6-address | peer-group peer-group-name } [soft ] [in | out ] Example:
|
Resets IPv6 BGP sessions. |
Step 3 |
clear bgp ipv6 {unicast | multicast } external [soft ] [in | out ] Example:
|
Clears external IPv6 BGP peers. |
Step 4 |
clear bgp ipv6 {unicast | multicast } peer-group name Example:
|
Clears all members of an IPv6 BGP peer group. |
Step 5 |
clear bgp ipv6 {unicast | multicast } dampening [ipv6-prefix / prefix-length ] Example:
|
Clears IPv6 BGP route dampening information and unsuppresses the suppressed routes. |
Step 6 |
clear bgp ipv6 {unicast | multicast } flap-statistics [ipv6-prefix / prefix-length | regexp regexp | filter-list list ] Example:
|
Clears IPv6 BGP flap statistics. |
Verifying the IPv6 Multiprotocol BGP Configuration
SUMMARY STEPS
- enable
- show bgp ipv6 unicast | multicast } [ipv6-prefix /prefix-length ] [longer-prefixes ] [labels ]
- show bgp ipv6 {unicast | multicast } summary
- show bgp ipv6 {unicast | multicast } dampening dampened-paths
- debug bgp ipv6 {unicast | multicast } dampening [prefix-list prefix-list-name ]
- debug bgp ipv6 unicast | multicast } updates [ipv6-address ] [prefix-list prefix-list-name ] [in | out ]
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
Step 1 |
enable Example:
|
Enables privileged EXEC mode.
|
Step 2 |
show bgp ipv6 unicast | multicast } [ipv6-prefix /prefix-length ] [longer-prefixes ] [labels ] Example:
|
(Optional) Displays entries in the IPv6 BGP routing table. |
Step 3 |
show bgp ipv6 {unicast | multicast } summary Example:
|
(Optional) Displays the status of all IPv6 BGP connections. |
Step 4 |
show bgp ipv6 {unicast | multicast } dampening dampened-paths Example:
|
(Optional) Displays IPv6 BGP dampened routes. |
Step 5 |
debug bgp ipv6 {unicast | multicast } dampening [prefix-list prefix-list-name ] Example:
|
(Optional) Displays debugging messages for IPv6 BGP dampening packets.
|
Step 6 |
debug bgp ipv6 unicast | multicast } updates [ipv6-address ] [prefix-list prefix-list-name ] [in | out ] Example:
|
(Optional) Displays debugging messages for IPv6 BGP update packets.
|
Configuration Examples for Implementing Multiprotocol BGP for IPv6
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::1 is configured and activated.
Device> enable
Device# configure terminal
Device(config)# ipv6 unicast-routing
Device(config)# router bgp 65000
Device(config-router)# no bgp default ipv4-unicast
Device(config-router)# bgp router-id 192.168.99.70
Device(config-router)# neighbor 2001:DB8:0:CC00::1 remote-as 64600
Device(config-router)# address-family ipv6 unicast
Device(config-router-af)# neighbor 2001:DB8:0:CC00::1 activate
Device(config-router-af)# end
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 neighbor update-source command (as shown in the following example).
Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# neighbor 2001:DB8:0000:0000:0000:0000:0000:0111 remote-as 64600
Device(config-router)# neighbor 2001:DB8:0000:0000:0000:0000:0000:0111 update-source gigabitethernet 0/0/0
Device(config-router)# address-family ipv6
Device(config-router-af)# neighbor 2001:DB8:0000:0000:0000:0000:0000:0111 activate
Device(config-router-af)# neighbor 2001:DB8:0000:0000:0000:0000:0000:0111 route-map nh6 out
Device(config-router-af)# exit
Device(config-router)# exit
Device(config)# route-map nh6 permit 10
Device(config-route-map)# match ipv6 address prefix-list list1
Device(config-route-map)# set ipv6 next-hop 2001:DB8:5y6::1
Device(config-route-map)# exit
Device(config)# ipv6 prefix-list list1 permit 2001:DB8:2Fy2::/48 le 128
Device(config)# ipv6 prefix-list list1 deny ::/0
Device(config)# end
Note |
If you specify only the global IPv6 next-hop address (the ipv6-address argument) with the set ipv6 next-hop command after specifying the neighbor interface (the interface-type argument) with the neighbor update-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:
Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# no bgp default ipv4-unicast
Device(config-router)# neighbor group1 peer-group
Device(config-router)# neighbor group1 remote-as 100
Device(config-router)# neighbor group1 update-source Loopback0
Device(config-router)# neighbor 2001:DB8::1 peer-group group1
Device(config-router)# neighbor 2001:DB8:2:2 peer-group group1
Device(config-router)# address-family ipv6 multicast
Device(config-router-af)# neighbor 2001:DB8::1 activate
Device(config-router-af)# neighbor 2001:DB8:2:2 activate
Device(config-router-af)# exit-address-family
Device(config-router)# end
Example: Configuring a Route Map for IPv6 Multiprotocol BGP Prefixes
The following example configures the route map named rtp to permit IPv6 unicast routes from network 2001:DB8::/24 if they match the prefix list named list1:
Device> enable
Device# configure terminal
Device(config)# router bgp 64900
Device(config-router)# no bgp default ipv4-unicast
Device(config-router)# neighbor 2001:DB8:0:CC00::1 remote-as 64700
Device(config-router)# address-family ipv6 unicast
Device(config-router-af)# neighbor 2001:DB8:0:CC00::1 activate
Device(config-router-af)# neighbor 2001:DB8:0:CC00::1 route-map rtp in
Device(config-router-af)# exit
Device(config)# ipv6 prefix-list cisco seq 10 permit 2001:DB8::/24
Device(config)# route-map rtp permit 10
Device(config-route-map)# match ipv6 address prefix-list list1
Device(config-route-map)# end
Example Redistributing Prefixes into IPv6 Multiprotocol BGP
The following example redistributes BGP routes into the IPv6 multicast database of the local router:
router bgp 64900
no bgp default ipv4-unicast
address-family ipv6 multicast
redistribute BGP
Example: Advertising Routes into IPv6 Multiprotocol BGP
The following example injects the IPv6 network 2001:DB8::/24 into the IPv6 unicast database of the local device. (BGP checks that a route for the network exists in the IPv6 unicast database of the local device before advertising the network.)
Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# no bgp default ipv4-unicast
Device(config-router)# address-family ipv6 unicast
Device(config-router-af)# network 2001:DB8::/24
Device(config-router-af)# end
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.
Device> enable
Device# configure terminal
Device(config)# router bgp 65000
Device(config-router)# neighbor 6peers peer-group
Device(config-router)# neighbor 2001:DB8:1234::2 remote-as 65002
Device(config-router)# address-family ipv4
Device(config-router)# neighbor 6peers activate
Device(config-router)# neighbor 6peers soft-reconfiguration inbound
Device(config-router)# neighbor 2001:DB8:1234::2 peer-group 6peers
Device(config-router)# neighbor 2001:DB8:1234::2 route-map rmap in
Device(config-router)# exit
Device(config)# route-map rmap permit 10
Device(config-route-map)# set ip next-hop 10.21.8.10
Device(config-route-map)# end
Additional References for Implementing Multiprotocol BGP for IPv6
Standards and RFCs
RFCs |
Title |
---|---|
RFC 2545 |
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 |
Feature Information for Implementing Multiprotocol BGP for 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.
Feature Name |
Releases |
Feature Information |
---|---|---|
Multiprotocol BGP for IPv6 |
Cisco IOS XE Gibraltar 16.11.1 |
Multiprotocol BGP extensions for IPv6 supports the same features and functionality as IPv4 BGP. |