IOS vs XR: 6PE

Scenario
6PE is used to transport IPv6 packets over an IPv4 based MPLS core. This scenario shows the configuration of a PE (R1 in the below diagram). It has an IPv6 eBGP session to a CE and IPv6 iBGP sessions to route reflectors with label-sending turned on for the exchange of 6PE labels. IS-IS is used as the IGP. A standard IPv4 MPLS VRF setup is also configured to show how the two setups can work side by side.

IOS-vs-XR_6PE

IOS Config

hostname R1
!
ip vrf CUST_1
 description Customer_1_VRF
 rd 500:1
 vpn id 500:1
 route-target export 500:1
 route-target import 500:1
!
!
ipv6 unicast-routing
ipv6 cef
!
!
interface Loopback0
 ip address 5.5.5.5 255.255.255.255
!
!
interface GigabitEthernet0/0
 description Link to CE1
 no ip address
!
interface GigabitEthernet0/0.4
 encapsulation dot1Q 4
 ip vrf forwarding CUST_1
 ip address 172.16.1.13 255.255.255.252
!
interface GigabitEthernet0/0.6
 encapsulation dot1Q 6
 ipv6 address 2001:DB8:5012::1/64
!
interface GigabitEthernet0/1
 description link to P1
 ip address 10.10.45.5 255.255.255.0
 ip router isis LAB
 mpls ip
 isis circuit-type level-2-only
!
router isis LAB
 net 49.0500.5555.5555.5555.00
 is-type level-2-only
 passive-interface Loopback0
!
router bgp 500
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 500
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 500
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 2001:DB8:5012::2 remote-as 200
 neighbor 2001:DB8:5012::2 description BGP to CE1
 !
 address-family ipv4
  redistribute connected
  redistribute static
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 next-hop-self
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 next-hop-self
  no auto-summary
  no synchronization
 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
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community extended
  neighbor 3.3.3.3 next-hop-self
 exit-address-family
 !
 address-family ipv6
  redistribute connected
  neighbor 2.2.2.2 activate
  neighbor 2.2.2.2 send-community both
  neighbor 2.2.2.2 send-label
  neighbor 3.3.3.3 activate
  neighbor 3.3.3.3 send-community both
  neighbor 3.3.3.3 send-label
  neighbor 2001:DB8:5012::2 activate
 exit-address-family
 !
 address-family ipv4 vrf CUST_1
  redistribute connected
  redistribute static
  neighbor 172.16.1.14 remote-as 200
  neighbor 172.16.1.14 description CE1
  neighbor 172.16.1.14 activate
  neighbor 172.16.1.14 default-originate
  neighbor 172.16.1.14 as-override
  neighbor 172.16.1.14 route-map CE1_IN in
  no synchronization
 exit-address-family
!
ip prefix-list CE1_IN seq 10 permit 192.168.70.0/24
!
route-map CE1_IN permit 10
 match ip address prefix-list CE1_IN
!

XR Config

hostname R1
!
vrf CUST_1
 vpn id 500:1
 address-family ipv4 unicast
  import route-target
   500:1
  !
  export route-target
   500:1
  !
 !
!
interface Loopback0
 ipv4 address 5.5.5.5 255.255.255.255
!
!
interface GigabitEthernet0/0/0/0
 description link to CE1
!
interface GigabitEthernet0/0/0/0.4
 vrf CUST_1
 ipv4 address 172.16.1.13 255.255.255.252
 encapsulation dot1q 4
!
interface GigabitEthernet0/0/0/0.6
 ipv6 address 2001:db8:5012::1/64
 encapsulation dot1q 6
!
interface GigabitEthernet0/0/0/1
 description link to P1
 ipv4 address 10.10.45.5 255.255.255.0
!
prefix-set FROM_CE1_IN
 192.168.70.0/24,
 2001:db8:2222::/64
end-set
!
route-policy ALLOW_ALL
 pass
end-policy
!
route-policy FROM_CE1_IN
 if destination in FROM_CE1_IN then
  pass
 else
  drop
 endif
end-policy
!
router isis LAB
 is-type level-2-only
 net 49.0500.5555.5555.5555.00
 address-family ipv4 unicast
 !
 interface Loopback0
  passive
  address-family ipv4 unicast
  !
 !
 interface GigabitEthernet0/0/0/1
  circuit-type level-2-only
  point-to-point
  address-family ipv4 unicast
  !
 !
!
router bgp 500
 address-family ipv4 unicast
  redistribute connected
  redistribute static
 !
 address-family vpnv4 unicast
 !
 address-family ipv6 unicast
  redistribute connected
  allocate-label all
 !
 neighbor 2.2.2.2
  remote-as 500
  update-source Loopback0
  address-family ipv4 unicast
   next-hop-self
  !
 address-family vpnv4 unicast
  next-hop-self
 !
 address-family ipv6 labeled-unicast
 next-hop-self
 !
 !
 neighbor 3.3.3.3
  remote-as 500
  update-source Loopback0
  address-family ipv4 unicast
   next-hop-self
  !
 address-family vpnv4 unicast
  next-hop-self
 !
 address-family ipv6 labeled-unicast
  next-hop-self
  !
 !
 neighbor 2001:db8:5012::2
  remote-as 200
  description IPv6 BGP to CE1
  address-family ipv6 unicast
   route-policy FROM_CE1_IN in
   route-policy ALLOW_ALL out
   as-override
  !
 !
 vrf CUST_1
 rd 500:1
 address-family ipv4 unicast
 redistribute connected
 redistribute static
 !
 neighbor 172.16.1.14
  remote-as 200
  description IPv4 BGP to CE1
  address-family ipv4 unicast
   route-policy FROM_CE1_IN in
   route-policy ALLOW_ALL out
   as-override
   !
  !
 !
!
mpls ldp
 address-family ipv4
 !
 interface GigabitEthernet0/0/0/1
  address-family ipv4
  !
 !
!

Back to top