IOS vs XR: BGP, MPLS, LDP and IS-IS

Scenario
The below config comparison is based on the below setup for the perspective of R1:

IOS-vs-XR_BGP_MPLS_LDP_ISIS

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
 !
!

Back to top