The Per-VRF Assignment of BGP Router ID feature introduces the ability to have VRF-to-VRF peering in Border Gateway Protocol (BGP) on the same router. BGP is designed to refuse a session with itself because of the router ID check. The per-VRF assignment feature allows a separate router ID per VRF using a new keyword in the existing
bgprouter-id command. The router ID can be manually configured for each VRF or can be assigned automatically either globally under address family configuration mode or for each VRF.
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.
Prerequisites for Per-VRF Assignment of BGP Router ID
Before you configure this feature, Cisco Express Forwarding (CEF) or distributed CEF (dCEF) must be enabled in the network, and basic BGP peering is assumed to be running in the network.
Information About Per-VRF Assignment of BGP Router ID
BGP Router ID
The BGP router identifier (ID) is a 4-byte field that is set to the highest IP address on the router. Loopback interface addresses are considered before physical interface addresses because loopback interfaces are more stable than physical interfaces. The BGP router ID is used in the BGP algorithm for determining the best path to a destination where the preference is for the BGP router with the lowest router ID. It is possible to manually configure the BGP router ID using the bgprouter-id command to influence the best path algorithm.
Per-VRF Router ID Assignment
The Per-VRF Assignment of BGP Router ID feature introduces the ability to have VRF-to-VRF peering in Border Gateway Protocol (BGP) on the same router. BGP is designed to refuse a session with itself because of the router ID check. The Per-VRF Assignment of BGP Router ID feature allows a separate router ID per VRF using a new keyword in the existing
bgprouter-id command. The router ID can be manually configured for each VRF or can be assigned automatically either globally under address family configuration mode or for each VRF.
Route Distinguisher
A route distinguisher (RD) creates routing and forwarding tables and specifies the default route distinguisher for a VPN. The RD is added to the beginning of an IPv4 prefix to change it into a globally unique VPN-IPv4 prefix. An RD can be composed in one of two ways: with an autonomous system number and an arbitrary number or with an IP address and an arbitrary number.
You can enter an RD in either of these formats:
Enter a 16-bit autonomous system number, a colon, and a 32-bit number. For example:
45000:3
Enter a 32-bit IP address, a colon, and a 16-bit number. For example:
192.168.10.15:1
How to Configure Per-VRF Assignment of BGP Router ID
Configuring VRF Instances
Perform this task to configure VRF instances to be used with the Per-VRF Assignment of Router ID tasks. In this task, a VRF instance named vrf_trans is created. To make the VRF functional, a route distinguisher is created. When the route distinguisher is created, the routing and forwarding tables are created for the VRF instance named vrf_trans.
Before You Begin
This task assumes that you have CEF or dCEF enabled.
8. Repeat Step 3 through Step 7 for each VRF to be defined.
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
ipvrfvrf-name
Example:
Device(config)# ip vrf vrf_trans
Defines a VRF instance and enters VRF configuration mode.
Step 4
rdroute-distinguisher
Example:
Device(config-vrf)# rd 45000:2
Creates routing and forwarding tables for a VRF and specifies the default RD for a VPN.
Use the
route-distinguisher argument to specify the default RD for a VPN. There are two formats you can use to specify an RD. For more details, see the “Route Distinguisher” section.
In this example, the RD uses an autonomous system number with the number 2 after the colon.
Creates a route-target extended community for a VRF.
Use the
export keyword to export routing information to the target VPN extended community.
Use the
both keyword to both import routing information from and export routing information to the target VPN extended community.
Use the
route-target-ext-community argument to specify the VPN extended community.
Step 7
exit
Example:
Device(config-vrf)# exit
Exits VRF configuration mode and returns to global configuration mode.
Step 8
Repeat Step 3 through Step 7 for each VRF to be defined.
Associating VRF Instances with Interfaces
Perform this task to associate VRF instances with interfaces to be used with the per-VRF assignment tasks. In this task, a VRF instance named vrf_trans is associated with a serial interface.
Make a note of the IP addresses for any interface to which you want to associate a VRF instance because the
ipvrfforwarding command removes the IP address. Step 8 allows you to reconfigure the IP address.
Before You Begin
This task assumes that you have CEF or dCEF enabled.
This task assumes that VRF instances have been configured as shown in preceding “Configuring VRF Instances” task in this module.
SUMMARY STEPS
1.enable
2.configureterminal
3.interfacetypenumber
4.ipaddressip-addressmask [secondary]
5.exit
6.interfacetypenumber
7.ipvrfforwardingvrf-name [downstreamvrf-name2]
8.ipaddressip-addressmask [secondary]
9. Repeat Step 5 through Step 8 for each VRF to be associated with an interface.
10.end
11. show ip vrf [brief |
detail |
interfaces |
id] [vrf-name]
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 3
interfacetypenumber
Example:
Router(config)# interface loopback0
Configures an interface type and enters interface configuration mode.
In this example, loopback interface 0 is configured.
Step 4
ipaddressip-addressmask [secondary]
Example:
Router(config-if)# ip address 172.16.1.1 255.255.255.255
Configures an IP address.
In this example, the loopback interface is configured with an IP address of 172.16.1.1.
Step 5
exit
Example:
Router(config-if)# exit
Exits interface configuration mode and returns to global configuration mode.
Step 6
interfacetypenumber
Example:
Router(config)# interface serial2/0
Configures an interface type and enters interface configuration mode.
In this example, serial interface 2/0 is configured.
Step 7
ipvrfforwardingvrf-name [downstreamvrf-name2]
Example:
Router(config-if)# ip vrf forwarding vrf_trans
Associates a VRF with an interface or subinterface.
In this example, the VRF named vrf_trans is associated with serial interface 2/0.
Note
Executing this command on an interface removes the IP address. The IP address should be reconfigured.
Step 8
ipaddressip-addressmask [secondary]
Example:
Router(config-if)# ip address 192.168.4.1 255.255.255.0
Configures an IP address.
In this example, serial interface 2/0 is configured with an IP address of 192.168.4.1.
Step 9
Repeat Step 5 through Step 8 for each VRF to be associated with an interface.
--
Step 10
end
Example:
Router(config-if)# end
Exits interface configuration mode and returns to privileged EXEC mode.
Step 11
show ip vrf [brief |
detail |
interfaces |
id] [vrf-name]
Example:
Router# show ip vrf interfaces
(Optional) Displays the set of defined VRFs and associated interfaces.
In this example, the output from this command shows the VRFs that have been created and their associated interfaces.
Examples
The following output show s that two VRF instances named vrf_trans and vrf_users were configured on two serial interfaces.
Router# show ip vrf interfaces
Interface IP-Address VRF Protocol
Serial2 192.168.4.1 vrf_trans up
Serial3 192.168.5.1 vrf_user up
Manually Configuring a BGP Router ID per VRF
Perform this task to manually configure a BGP router ID for each VRF. In this task, several address family configurations are shown and the router ID is configured in the IPv4 address family mode for one VRF instance. Step 22 shows you how to repeat certain steps to permit the configuration of more than one VRF on the same router.
Before You Begin
This task assumes that you have previously created the VRF instances and associated them with interfaces. For more details, see the “Configuring VRF Instances” task and the “Associating VRF Instances with Interfaces” task earlier in this module.
Enters router configuration mode for the specified routing process.
Step 4
nobgpdefaultipv4-unicast
Example:
Router(config-router)# no bgp default ipv4-unicast
Disables the IPv4 unicast address family for the BGP routing process.
Note
Routing information for the IPv4 unicast address family is advertised by default for each BGP routing session configured with the
neighborremote-as router configuration command unless you configure the
nobgpdefaultipv4-unicast router configuration command before configuring the
neighborremote-as command. Existing neighbor configurations are not affected.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
If theautonomous-system-number argument matches the autonomous system number specified in the
routerbgp command, the neighbor is an internal neighbor.
If theautonomous-system-number argument does not match the autonomous system number specified in the
routerbgp command, the neighbor is an external neighbor.
In this example, the neighbor is an internal neighbor.
Allows BGP sessions to use any operational interface for TCP connections.
In this example, BGP TCP connections for the specified neighbor are sourced with the IP address of the loopback interface rather than the best local address.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
If theautonomous-system-number argument matches the autonomous system number specified in the
routerbgp command, the neighbor is an internal neighbor.
If theautonomous-system-number argument does not match the autonomous system number specified in the
routerbgp command, the neighbor is an external neighbor.
In this example, the neighbor at 192.168.1.1 is an external neighbor.
Configures provider edge (PE) routers to allow the readvertisement of all prefixes that contain duplicate autonomous system numbers.
In the example, the PE router with autonomous system number 45000 is configured to allow prefixes from the VRF vrf-trans. The neighboring PE router with the IP address 192.168.1.1 is set to be readvertised once to other PE routers with the same autonomous system number.
Step 19
noauto-summary
Example:
Router(config-router-af)# no auto-summary
Disables automatic summarization and sends subprefix routing information across classful network boundaries.
Step 20
nosynchronization
Example:
Router(config-router-af)# no synchronization
Enables the Cisco IOS software to advertise a network route without waiting for synchronization with an Internal Gateway Protocol (IGP).
Step 21
bgprouter-id {ip-address |
auto-assign}
Example:
Router(config-router-af)# bgp router-id 10.99.1.1
Configures a fixed router ID for the local BGP routing process.
In this example, the specified BGP router ID is assigned for the VRF instance associated with this IPv4 address family configuration.
Step 22
Repeat Step 11 to Step 21 to configure another VRF instance.
--
Step 23
end
Example:
Router(config-router-af)# end
Exits address family configuration mode and returns to privileged EXEC mode.
(Optional) Displays VPN address information from the BGP table.
In this example, the complete VPNv4 database is displayed.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS Multiprotocol Label Switching Command Reference.
Examples
The following sample output assumes that two VRF instances named vrf_trans and vrf_user were configured each with a separate router ID. The router ID is shown next to the VRF name.
Router# show ip bgp vpnv4 all
BGP table version is 5, local router ID is 172.17.1.99
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf vrf_trans) VRF Router ID 10.99.1.2
*> 192.168.4.0 0.0.0.0 0 32768 ?
Route Distinguisher: 42:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
*> 192.168.5.0 0.0.0.0 0 32768 ?
Automatically Assigning a BGP Router ID per VRF
Perform this task to automatically assign a BGP router ID for each VRF. In this task, a loopback interface is associated with a VRF and the
bgprouter-id command is configured at the router configuration level to automatically assign a BGP router ID to all VRF instances. Step 9 shows you how to repeat certain steps to configure each VRF that is to be associated with an interface. Step 30 shows you how to configure more than one VRF on the same router.
Before You Begin
This task assumes that you have previously created the VRF instances as shown in the “Configuring VRF Instances” task in this module.
SUMMARY STEPS
1.enable
2.configureterminal
3.interfacetypenumber
4.ipaddressip-addressmask [secondary]
5.exit
6.interfacetypenumber
7.ipvrfforwardingvrf-name [downstreamvrf-name2]
8.ipaddressip-addressmask [secondary]
9. Repeat Step 5 through Step 8 for each VRF to be associated with an interface.
Configures a fixed router ID for the local BGP routing process.
In this example, a BGP router ID is automatically assigned for each VRF instance.
Step 13
nobgpdefaultipv4-unicast
Example:
Router(config-router)# no bgp default ipv4-unicast
Disables the IPv4 unicast address family for the BGP routing process.
Note
Routing information for the IPv4 unicast address family is advertised by default for each BGP routing session configured with the
neighborremote-as router configuration command unless you configure the
nobgpdefaultipv4-unicast router configuration command before configuring the
neighborremote-as command. Existing neighbor configurations are not affected.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
If theautonomous-system-number argument matches the autonomous system number specified in the
routerbgp command, the neighbor is an internal neighbor.
If theautonomous-system-number argument does not match the autonomous system number specified in the
routerbgp command, the neighbor is an external neighbor.
In this example, the neighbor is an internal neighbor.
Allows BGP sessions to use any operational interface for TCP connections.
In this example, BGP TCP connections for the specified neighbor are sourced with the IP address of the loopback interface rather than the best local address.
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
If theautonomous-system-number argument matches the autonomous system number specified in the
routerbgp command, the neighbor is an internal neighbor.
If theautonomous-system-number argument does not match the autonomous system number specified in the
routerbgp command, the neighbor is an external neighbor.
In this example, the neighbor at 192.168.1.1 is an external neighbor.
Configures provider edge (PE) routers to allow the readvertisement of all prefixes that contain duplicate autonomous system numbers.
In the example, the PE router with autonomous system number 45000 is configured to allow prefixes from the VRF vrf-trans. The neighboring PE router with the IP address 192.168.1.1 is set to be readvertised once to other PE routers with the same autonomous system number.
Step 28
noauto-summary
Example:
Router(config-router-af)# no auto-summary
Disables automatic summarization and sends subprefix routing information across classful network boundaries.
Step 29
nosynchronization
Example:
Router(config-router-af)# no synchronization
Enables the Cisco IOS software to advertise a network route without waiting for synchronization with an Internal Gateway Protocol (IGP).
Step 30
Repeat Step 20 to Step 29 to configure another VRF instance.
--
Step 31
end
Example:
Router(config-router-af)# end
Exits address family configuration mode and returns to privileged EXEC mode.
(Optional) Displays VPN address information from the BGP table.
In this example, the complete VPNv4 database is displayed.
Note
Only the syntax applicable to this task is used in this example. For more details, see the
Cisco IOS Multiprotocol Label Switching Command Reference.
Examples
The following sample output assumes that two VRF instances named vrf_trans and vrf_user were configured, each with a separate router ID. The router ID is shown next to the VRF name.
Router# show ip bgp vpnv4 all
BGP table version is 43, local router ID is 172.16.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf vrf_trans) VRF Router ID 10.99.1.2
*> 172.22.0.0 0.0.0.0 0 32768 ?
r> 172.23.0.0 172.23.1.1 0 0 3 1 ?
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
*> 10.52.1.0/24 172.23.1.1 0 3 1 ?
*> 10.52.2.1/32 172.23.1.1 0 3 1 3 i
*> 10.52.3.1/32 172.23.1.1 0 3 1 3 i
*> 10.99.1.1/32 172.23.1.1 0 0 3 1 ?
*> 10.99.1.2/32 0.0.0.0 0 32768 ?
Route Distinguisher: 10:1
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
Route Distinguisher: 42:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
r> 172.22.0.0 172.22.1.1 0 0 2 1 ?
*> 172.23.0.0 0.0.0.0 0 32768 ?
*> 10.21.1.1/32 172.22.1.1 0 2 1 2 i
*>i10.52.1.0/24 192.168.3.1 0 100 0 ?
*>i10.52.2.1/32 192.168.3.1 0 100 0 3 i
*>i10.52.3.1/32 192.168.3.1 0 100 0 3 i
*> 10.99.1.1/32 0.0.0.0 0 32768 ?
*> 10.99.1.2/32 172.22.1.1 0 0 2 1 ?
Configuration Examples for Per-VRF Assignment of BGP Router ID
Example: Manually Configuring a BGP Router ID per VRF
The following example shows how to configure two VRFs—vrf_trans and vrf_user—with sessions between each other on the same router. The BGP router ID for each VRF is configured manually under separate IPv4 address families. The
showipbgpvpnv4 command can be used to verify that the router IDs have been configured for each VRF. The configuration starts in global configuration mode.
After the configuration, the output of the
showipbgpvpnv4all command shows the router ID displayed next to the VRF name:
Router# show ip bgp vpnv4 all
BGP table version is 43, local router ID is 10.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 45000:1 (default for vrf vrf_trans) VRF Router ID 10.99.1.2
*> 172.22.0.0 0.0.0.0 0 32768 ?
r> 172.23.0.0 172.23.1.1 0 0 3 1 ?
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
*> 10.52.1.0/24 172.23.1.1 0 3 1 ?
*> 10.52.2.1/32 172.23.1.1 0 3 1 3 i
*> 10.52.3.1/32 172.23.1.1 0 3 1 3 i
*> 10.99.1.1/32 172.23.1.1 0 0 3 1 ?
*> 10.99.2.2/32 0.0.0.0 0 32768 ?
Route Distinguisher: 50000:1
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
Route Distinguisher: 65500:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
r> 172.22.0.0 172.22.1.1 0 0 2 1 ?
*> 172.23.0.0 0.0.0.0 0 32768 ?
*> 10.21.1.1/32 172.22.1.1 0 2 1 2 i
*>i10.52.1.0/24 192.168.3.1 0 100 0 ?
*>i10.52.2.1/32 192.168.3.1 0 100 0 3 i
*>i10.52.3.1/32 192.168.3.1 0 100 0 3 i
*> 10.99.1.1/32 0.0.0.0 0 32768 ?
*> 10.99.2.2/32 172.22.1.1 0 0 2 1 ?
The output of the
showipbgpvpnv4vrf command for a specified VRF displays the router ID in the output header:
Router# show ip bgp vpnv4 vrf vrf_user
BGP table version is 43, local router ID is 10.99.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 65500:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
r> 172.22.0.0 172.22.1.1 0 0 2 1 ?
*> 172.23.0.0 0.0.0.0 0 32768 ?
*> 10.21.1.1/32 172.22.1.1 0 2 1 2 i
*>i10.52.1.0/24 192.168.3.1 0 100 0 ?
*>i10.52.2.1/32 192.168.3.1 0 100 0 3 i
*>i10.52.3.1/32 192.168.3.1 0 100 0 3 i
*> 10.99.1.1/32 0.0.0.0 0 32768 ?
*> 10.99.2.2/32 172.22.1.1 0 0 2 1 ?
The output of the
showipbgpvpnv4vrfsummary command for a specified VRF displays the router ID in the first line of the output:
Router# show ip bgp vpnv4 vrf vrf_user summary
BGP router identifier 10.99.1.1, local AS number 45000
BGP table version is 43, main routing table version 43
8 network entries using 1128 bytes of memory
8 path entries using 544 bytes of memory
16/10 BGP path/bestpath attribute entries using 1856 bytes of memory
6 BGP AS-PATH entries using 144 bytes of memory
3 BGP extended community entries using 72 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 3744 total bytes of memory
BGP activity 17/0 prefixes, 17/0 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
172.22.1.1 4 2 20 21 43 0 0 00:12:33 3
When the path is sourced in the VRF, the correct router ID is displayed in the output of the
showipbgpvpnv4vrfcommand for a specified VRF and network address:
Router# show ip bgp vpnv4 vrf vrf_user 172.23.0.0
BGP routing table entry for 65500:1:172.23.0.0/8, version 22
Paths: (1 available, best #1, table vrf_user)
Advertised to update-groups:
2 3
Local
0.0.0.0 from 0.0.0.0 (10.99.1.1)
Origin incomplete, metric 0, localpref 100, weight 32768, valid, sourced, best
Extended Community: RT:65500:1
Example: Automatically Assigning a BGP Router ID per VRF
The following three examples show different methods of configuring BGP to automatically assign a separate router ID to each VRF instance.
Globally Automatically Assigned Router ID Using Loopback Interface IP Addresses
The following example shows how to configure two VRFs—vrf_trans and vrf_user—with sessions between each other on the same router. Under router configuration mode, BGP is globally configured to automatically assign each VRF a BGP router ID. Loopback interfaces are associated with individual VRFs to source an IP address for the router ID. The
showipbgpvpnv4 command can be used to verify that the router IDs have been configured for each VRF.
After the configuration, the output of the
showipbgpvpnv4all command shows the router ID displayed next to the VRF name. Note that the router IDs used in this example are sourced from the IP addresses configured for loopback interface 1 and loopback interface 2. The router IDs are the same as in the “Example: Manually Configurinig a BGP Router ID per VRF” section.
Router# show ip bgp vpnv4 all
BGP table version is 43, local router ID is 10.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 45000:1 (default for vrf vrf_trans) VRF Router ID 10.99.2.2
*> 172.22.0.0 0.0.0.0 0 32768 ?
r> 172.23.0.0 172.23.1.1 0 0 3 1 ?
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
*> 10.52.1.0/24 172.23.1.1 0 3 1 ?
*> 10.52.2.1/32 172.23.1.1 0 3 1 3 i
*> 10.52.3.1/32 172.23.1.1 0 3 1 3 i
*> 10.99.1.1/32 172.23.1.1 0 0 3 1 ?
*> 10.99.1.2/32 0.0.0.0 0 32768 ?
Route Distinguisher: 50000:1
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
Route Distinguisher: 65500:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
r> 172.22.0.0 172.22.1.1 0 0 2 1 ?
*> 172.23.0.0 0.0.0.0 0 32768 ?
*> 10.21.1.1/32 172.22.1.1 0 2 1 2 i
*>i10.52.1.0/24 192.168.3.1 0 100 0 ?
*>i10.52.2.1/32 192.168.3.1 0 100 0 3 i
*>i10.52.3.1/32 192.168.3.1 0 100 0 3 i
*> 10.99.1.1/32 0.0.0.0 0 32768 ?
*> 10.99.1.2/32 172.22.1.1 0 0 2 1 ?
Globally Automatically Assigned Router ID with No Default Router ID
The following example shows how to configure a router and associate a VRF that is automatically assigned a BGP router ID when no default router ID is allocated.
ip vrf vpn1
rd 45000:1
route-target export 45000:1
route-target import 45000:1
!
interface Loopback0
ip vrf forwarding vpn1
ip address 10.1.1.1 255.255.255.255
!
interface Ethernet0/0
ip vrf forwarding vpn1
ip address 172.22.1.1 255.0.0.0
!
router bgp 45000
bgp router-id vrf auto-assign
no bgp default ipv4-unicast
bgp log-neighbor-changes
!
address-family ipv4 vrf vpn1
neighbor 172.22.1.2 remote-as 40000
neighbor 172.22.1.2 activate
no auto-summary
no synchronization
exit-address-family
Assuming that a second router is configured to establish a session between the two routers, the output of the
showipinterfacebrief command shows only the VRF interfaces that are configured.
Router# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 172.22.1.1 YES NVRAM up up
Ethernet1/0 unassigned YES NVRAM administratively down down
Serial2/0 unassigned YES NVRAM administratively down down
Serial3/0 unassigned YES NVRAM administratively down down
Loopback0 10.1.1.1 YES NVRAM up up
The
showipvrf command can be used to verify that a router ID is assigned for the VRF:
Router# show ip vrf
Name Default RD Interfaces
vpn1 45000:1 Loopback0
Ethernet0/0
VRF session is established:
Per-VRF Automatically Assigned Router ID
The following example shows how to configure two VRFs—vrf_trans and vrf_user—with sessions between each other on the same router. Under the IPv4 address family associated with an individual VRF, BGP is configured to automatically assign a BGP router ID. Loopback interfaces are associated with individual VRFs to source an IP address for the router ID. The output of the
showipbgpvpnv4 command can be used to verify that the router IDs have been configured for each VRF.
After the configuration, the output of the
showipbgpvpnv4all command shows the router ID displayed next to the VRF name. Note that the router IDs used in this example are sourced from the IP addresses configured for loopback interface 1 and loopback interface 2.
Router# show ip bgp vpnv4 all
BGP table version is 43, local router ID is 10.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 45000:1 (default for vrf vrf_trans) VRF Router ID 10.99.2.2
*> 172.22.0.0 0.0.0.0 0 32768 ?
r> 172.23.0.0 172.23.1.1 0 0 3 1 ?
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
*> 10.52.1.0/24 172.23.1.1 0 3 1 ?
*> 10.52.2.1/32 172.23.1.1 0 3 1 3 i
*> 10.52.3.1/32 172.23.1.1 0 3 1 3 i
*> 10.99.1.1/32 172.23.1.1 0 0 3 1 ?
*> 10.99.1.2/32 0.0.0.0 0 32768 ?
Route Distinguisher: 50000:1
*>i10.21.1.1/32 192.168.3.1 0 100 0 2 i
Route Distinguisher: 65500:1 (default for vrf vrf_user) VRF Router ID 10.99.1.1
r> 172.22.0.0 172.22.1.1 0 0 2 1 ?
*> 172.23.0.0 0.0.0.0 0 32768 ?
*> 10.21.1.1/32 172.22.1.1 0 2 1 2 i
*>i10.52.1.0/24 192.168.3.1 0 100 0 ?
*>i10.52.2.1/32 192.168.3.1 0 100 0 3 i
*>i10.52.3.1/32 192.168.3.1 0 100 0 3 i
*> 10.99.1.1/32 0.0.0.0 0 32768 ?
*> 10.99.1.2/32 172.22.1.1 0 0 2 1 ?
No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Description
Link
The Cisco 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.
Feature Information for Per-VRF Assignment of BGP Router ID
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 Per-VRF Assignment of BGP Router ID
Feature Name
Releases
Feature Information
Per-VRF Assignment of BGP Router ID
12.2(31)SB2
12.2(33)SRA
12.2(33)SXH
12.4(20)T
15.0(1)S
The Per-VRF Assignment of BGP Router ID feature introduces the ability to have VRF-to-VRF peering in Border Gateway Protocol (BGP) on the same router. BGP is designed to refuse a session with itself because of the router ID check. The per-VRF assignment feature allows a separate router ID per VRF using a new keyword in the existing
bgprouter-id command. The router ID can be manually configured for each VRF or can be assigned automatically either globally under address family configuration mode or for each VRF.
The following commands were introduced or modified by this feature:
bgprouter-id,
showipbgpvpnv4.