Scenario
The below config comparison is based on the below setup for the perspective of R1:
IOS Config
hostname R1 ip domain name lab1.com ! ip vrf CUST_A description Customer_A_VRF rd 500:1 vpn id 500:1 route-target export 500:1 route-target import 500:1 ! ip vrf CUST_B description Customer_B_VRF rd 500:2 vpn id 500:2 route-target export 500:2 route-target import 500:2 ! interface Loopback0 description Loopback for MPLS Next Hop ip address 1.1.1.1 255.255.255.255 ! interface GigabitEthernet0/0 description Internal link with LDP and ISIS ip address 10.14.0.1 255.255.255.0 ip router isis LAB mpls ip isis circuit-type level-2-only isis network point-to-point ! interface GigabitEthernet0/1 description Link to Customer A CE Router ip vrf forwarding CUST_A ip address 192.168.1.1 255.255.255.252 ! interface GigabitEthernet0/2 description Link to Customer B CE Router ip vrf forwarding CUST_B ip address 192.168.2.1 255.255.255.252 ! router isis LAB net 49.0500.0000.0000.0001.00 is-type level-2-only passive-interface Loopback0 ! router bgp 500 bgp log-neighbor-changes neighbor 2.2.2.2 remote-as 500 neighbor 2.2.2.2 update-source Loopback0 ! address-family ipv4 no synchronization neighbor 2.2.2.2 activate no auto-summary exit-address-family ! address-family vpnv4 neighbor 2.2.2.2 activate neighbor 2.2.2.2 send-community extended neighbor 2.2.2.2 next-hop-self exit-address-family ! address-family ipv4 vrf CUST_A no synchronization redistribute connected redistribute static neighbor 192.168.1.2 remote-as 64512 neighbor 192.168.1.2 activate neighbor 192.168.1.2 route-map CUST_A_SITE_1_IN in neighbor 192.168.1.2 as-override exit-address-family ! address-family ipv4 vrf CUST_B no synchronization redistribute connected redistribute static neighbor 192.168.2.2 remote-as 64513 neighbor 192.168.2.2 activate neighbor 192.168.2.2 route-map CUST_B_SITE_1_IN in neighbor 192.168.2.2 as-override exit-address-family ! ! ip prefix-list CUST_A_SITE_1 seq 10 permit 172.16.1.0/24 ! ip prefix-list CUST_B_SITE_1 seq 10 permit 172.16.2.0/24 ! !route-maps not strictly needed. Could be done using prefix-lists !alone to filter. however route-maps are useful for adjusted BGP !attributes (local_pref and so on) route-map CUST_A_SITE_1_IN permit 10 match ip address prefix-list CUST_A_SITE_1 ! route-map CUST_B_SITE_1_IN permit 10 match ip address prefix-list CUST_B_SITE_1 ! |
XR Config
hostname R1 domain name lab1.com vrf CUST_A address-family ipv4 unicast import route-target 500:2 ! export route-target 500:2 ! ! ! vrf CUST_B address-family ipv4 unicast import route-target 500:1 ! export route-target 500:1 ! ! ! interface Loopback0 description Loopback for MPLS Next Hop ipv4 address 1.1.1.1 255.255.255.255 ! interface GigabitEthernet0/0/0/0 description Internal link with LDP and ISIS ipv4 address 10.14.0.1 255.255.255.0 ! interface GigabitEthernet0/0/0/1 description Link to Customer A CE Router vrf CUST_A ipv4 address 192.168.1.1 255.255.255.252 ! interface GigabitEthernet0/0/0/2 description Link to Customer B CE Router vrf CUST_B ipv4 address 192.168.2.1 255.255.255.252 ! prefix-set CUST_A_SITE_1 172.16.1.0/24 le 24 end-set ! prefix-set CUST_B_SITE_1 172.16.2.0/24 le 24 end-set ! route-policy ALLOW_ALL pass end-policy ! route-policy CUST_A_SITE_1_IN if destination in CUST_A_SITE_1 then pass else drop endif end-policy ! route-policy CUST_B_SITE_1_IN if destination in CUST_B_SITE_1 then pass else drop endif end-policy ! router isis LAB1 is-type level-2-only net 49.0500.0000.0000.0001.00 interface Loopback0 passive address-family ipv4 unicast ! ! interface GigabitEthernet0/0/0/0 circuit-type level-2-only point-to-point address-family ipv4 unicast ! ! router bgp 500 address-family ipv4 unicast ! address-family vpnv4 unicast ! neighbor 2.2.2.2 remote-as 500 description BGP_TO_ROUTE_RELFECTOR update-source Loopback0 address-family ipv4 unicast next-hop-self ! address-family vpnv4 unicast next-hop-self ! ! vrf CUST_A rd 500:1 address-family ipv4 unicast redistribute connected redistribute static ! neighbor 192.168.1.2 remote-as 64512 description BGP_CUST_A_SITE_1 address-family ipv4 unicast route-policy ALLOW_ALL in as-override ! ! ! vrf CUST_B rd 500:2 address-family ipv4 unicast redistribute connected redistribute static ! neighbor 192.168.2.2 remote-as 64513 description BGP_CUST_B_SITE_1 address-family ipv4 unicast route-policy CUST_B_SITE_1_IN in route-policy ALLOW_ALL out as-override ! ! ! ! mpls ldp router-id 1.1.1.1 interface GigabitEthernet0/0/0/0 ! ! |