MPLS VPN Inter-AS Option AB: Cisco IOS-XE

Summary

  • A single VPNv4 BGP session between the two ASBRs exchange control information.
  • A dedicated interface per each VRF for forwarding traffic for the VRF.
  • Packets are forwarded unlabelled in the inter-AS link.
  • More scalable than Option A since there is no per-VRF BGP session.

Initial Configurations

AS 1 Routers

PE1

!
hostname PE1

vrf definition A
 rd 1:1
 !
 address-family ipv4
  route-target export 1:1
  route-target import 1:1
 exit-address-family
!
vrf definition B
 rd 1:2
 !
 address-family ipv4
  route-target export 1:2
  route-target import 1:2
 exit-address-family
!
mpls label protocol ldp
!
interface Loopback0
 ip address 11.11.11.11 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 10.11.12.11 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown
!
interface GigabitEthernet2
 vrf forwarding A
 ip address 172.16.1.1 255.255.255.252
 no shutdown
!
interface GigabitEthernet3
 vrf forwarding B
 ip address 172.16.1.5 255.255.255.252
 no shutdown
!
router ospf 1
 router-id 11.11.11.11
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 1
 bgp router-id 11.11.11.11
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 13.13.13.13 remote-as 1
 neighbor 13.13.13.13 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 13.13.13.13 activate
  neighbor 13.13.13.13 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf A
  redistribute connected
  neighbor 172.16.1.2 remote-as 65101
  neighbor 172.16.1.2 activate
 exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
  neighbor 172.16.1.6 remote-as 65201
  neighbor 172.16.1.6 activate
 exit-address-family
!
mpls ldp router-id Loopback0
!

P1

!
hostname P1
!
mpls label protocol ldp

!
interface Loopback0
 ip address 12.12.12.12 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 10.11.12.12 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown
!
interface GigabitEthernet2
 mtu 1600
 ip address 10.12.13.12 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown

interface GigabitEthernet3
 mtu 1600
 ip address 10.12.14.12 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown


!
router ospf 1
 router-id 12.12.12.12
 passive-interface default
 no passive-interface GigabitEthernet1
 no passive-interface GigabitEthernet2
 no passive-interface GigabitEthernet3
 mpls ldp sync
 mpls ldp autoconfig area 0
!
mpls ldp router-id Loopback0
!

RR1

!
hostname RR1
!
mpls label protocol ldp
!
interface Loopback0
 ip address 13.13.13.13 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 10.12.13.13 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown
!
router ospf 1
 router-id 13.13.13.13
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 1
 bgp router-id 13.13.13.13
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 11.11.11.11 remote-as 1
 neighbor 11.11.11.11 update-source Loopback0
 neighbor 14.14.14.14 remote-as 1
 neighbor 14.14.14.14 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 11.11.11.11 activate
  neighbor 11.11.11.11 send-community extended
  neighbor 11.11.11.11 route-reflector-client
  neighbor 14.14.14.14 activate
  neighbor 14.14.14.14 send-community extended
  neighbor 14.14.14.14 route-reflector-client
 exit-address-family
!
mpls ldp router-id Loopback0
!

ASBR1

!
hostname ASBR1
!
mpls label protocol ldp
1
interface Loopback0
 ip address 14.14.14.14 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 10.12.14.14 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown
!
router ospf 1
 router-id 14.14.14.14
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 1
 bgp router-id 14.14.14.14
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 13.13.13.13 remote-as 1
 neighbor 13.13.13.13 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 13.13.13.13 activate
  neighbor 13.13.13.13 send-community extended
 exit-address-family
!
mpls ldp router-id Loopback0

AS 2 Routers

PE2

!
hostname PE2

vrf definition A
 rd 1:1
 !
 address-family ipv4
  route-target export 1:1
  route-target import 1:1
 exit-address-family
!
vrf definition B
 rd 1:2
 !
 address-family ipv4
  route-target export 1:2
  route-target import 1:2
 exit-address-family
!
mpls label protocol ldp
!
interface Loopback0
 ip address 21.21.21.21 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 20.11.12.11 255.255.255.0
 ip ospf network point-to-point
 ip ospf 1 area 0
 no shutdown
!
interface GigabitEthernet2
 vrf forwarding A
 ip address 172.16.2.1 255.255.255.252
 no shutdown
!
interface GigabitEthernet3
 vrf forwarding B
 ip address 172.16.2.5 255.255.255.252
 no shutdown
!
router ospf 2
 router-id 21.21.21.21
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 2
 bgp router-id 21.21.21.21
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 23.23.23.23 remote-as 2
 neighbor 23.23.23.23 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 23.23.23.23 activate
  neighbor 23.23.23.23 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf A
  redistribute connected
  neighbor 172.16.2.2 remote-as 65102
  neighbor 172.16.2.2 activate
 exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
  neighbor 172.16.2.6 remote-as 65202
  neighbor 172.16.2.6 activate
 exit-address-family
!
mpls ldp router-id Loopback0
!

P2

!
hostname P2
!
mpls label protocol ldp

!
interface Loopback0
 ip address 22.22.22.22 255.255.255.255
 ip ospf 2 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 20.21.22.22 255.255.255.0
 ip ospf network point-to-point
 ip ospf 2 area 0
 no shutdown
!
interface GigabitEthernet2
 mtu 1600
 ip address 20.22.23.22 255.255.255.0
 ip ospf network point-to-point
 ip ospf 2 area 0
 no shutdown

interface GigabitEthernet3
 mtu 1600
 ip address 20.22.24.22 255.255.255.0
 ip ospf network point-to-point
 ip ospf 2 area 0
 no shutdown


!
router ospf 2
 router-id 22.22.22.22
 passive-interface default
 no passive-interface GigabitEthernet1
 no passive-interface GigabitEthernet2
 no passive-interface GigabitEthernet3
 mpls ldp sync
 mpls ldp autoconfig area 0
!
mpls ldp router-id Loopback0
!

RR2

!
hostname RR2
!
mpls label protocol ldp
!
interface Loopback0
 ip address 23.23.23.23 255.255.255.255
 ip ospf 2 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 20.22.23.23 255.255.255.0
 ip ospf network point-to-point
 ip ospf 2 area 0
 no shutdown
!
router ospf 1
 router-id 23.23.23.23
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 2
 bgp router-id 23.23.23.23
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 21.21.21.21 remote-as 2
 neighbor 21.21.21.21 update-source Loopback0
 neighbor 24.24.24.24 remote-as 2
 neighbor 24.24.24.24 update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 21.21.21.21 activate
  neighbor 21.21.21.21 send-community extended
  neighbor 21.21.21.21 route-reflector-client
  neighbor 24.24.24.24 activate
  neighbor 24.24.24.24 send-community extended
  neighbor 24.24.24.24 route-reflector-client
 exit-address-family
!
mpls ldp router-id Loopback0
!

ASBR2

!
hostname ASBR2
!
mpls label protocol ldp
!
interface Loopback0
 ip address 24.24.24.24 255.255.255.255
 ip ospf 2 area 0
!
interface GigabitEthernet1
 mtu 1600
 ip address 20.22.24.24 255.255.255.0
 ip ospf network point-to-point
 ip ospf 2 area 0
 no shutdown
!
router ospf 2
 router-id 24.24.24.24
 passive-interface default
 no passive-interface GigabitEthernet1
 mpls ldp sync
 mpls ldp autoconfig area 0
!
router bgp 2
 bgp router-id 24.24.24.24
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 23.23.23.23 remote-as 2
 neighbor 23.23.23.23  update-source Loopback0
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 23.23.23.23  activate
  neighbor 23.23.23.23  send-community extended
 exit-address-family
!
mpls ldp router-id Loopback0

CE Routers

CE-A1

hostname CE-A1

interface GigabitEthernet0/0
 ip address 172.16.1.2 255.255.255.252
 no shut


interface Loopback0
 ip address 192.168.1.1 255.255.255.255

router bgp 65101
 bgp router-id 192.168.1.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 172.16.1.1 remote-as 1
 !
 address-family ipv4
  network 192.168.1.1 mask 255.255.255.255
  neighbor 172.16.1.1 activate
 exit-address-family

CE-A2

hostname CE-A2

interface GigabitEthernet0/0
 ip address 172.16.2.2 255.255.255.252
 no shut


interface Loopback0
 ip address 192.168.1.2 255.255.255.255

router bgp 65102
 bgp router-id 192.168.1.2
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 172.16.2.1 remote-as 2
 !
 address-family ipv4
  network 192.168.1.2 mask 255.255.255.255
  neighbor 172.16.2.1 activate
 exit-address-family

CE-B1

hostname CE-B1

interface GigabitEthernet0/0
 ip address 172.16.1.6 255.255.255.252
 no shut


interface Loopback0
 ip address 192.168.2.1 255.255.255.255

router bgp 65201
 bgp router-id 192.168.2.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 172.16.2.5 remote-as 1
 !
 address-family ipv4
  network 192.168.2.1 mask 255.255.255.255
  neighbor 172.16.2.5 activate
 exit-address-family

CE-B2

hostname CE-B2

interface GigabitEthernet0/0
 ip address 172.16.2.6 255.255.255.252
 no shut


interface Loopback0
 ip address 192.168.2.2 255.255.255.255

router bgp 65202
 bgp router-id 192.168.2.2
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 172.16.2.5 remote-as 2
 !
 address-family ipv4
  network 192.168.2.2 mask 255.255.255.255
  neighbor 172.16.2.5 activate
 exit-address-family

Inter-AS Configuration

VRF and Interfaces

ASBR1

vrf definition A
 rd 1:1
 !
 address-family ipv4
  route-target export 1:1
  route-target import 1:1
  inter-as-hybrid next-hop 172.16.0.2
 exit-address-family
!
vrf definition B
 rd 1:2
 !
 address-family ipv4
  route-target export 1:2
  route-target import 1:2
  inter-as-hybrid next-hop 172.16.0.6
 exit-address-family
!
interface GigabitEthernet2
 mtu 1600
 no ip address
 no shutdown
!
interface GigabitEthernet2.101
 encapsulation dot1Q 101
 vrf forwarding A
 ip address 172.16.0.1 255.255.255.252
!
interface GigabitEthernet2.102
 encapsulation dot1Q 102
 vrf forwarding B
 ip address 172.16.0.5 255.255.255.252
!

ASBR2

vrf definition A
 rd 1:1
 !
 address-family ipv4
  route-target export 1:1
  route-target import 1:1
  inter-as-hybrid next-hop 172.16.0.1
 exit-address-family
!
vrf definition B
 rd 1:2
 !
 address-family ipv4
  route-target export 1:2
  route-target import 1:2
  inter-as-hybrid next-hop 172.16.0.5
 exit-address-family
!
interface GigabitEthernet2
 mtu 1600
 no ip address
 no shutdown
!
interface GigabitEthernet2.101
 encapsulation dot1Q 101
 vrf forwarding A
 ip address 172.16.0.2 255.255.255.252
!
interface GigabitEthernet2.102
 encapsulation dot1Q 102
 vrf forwarding B
 ip address 172.16.0.6 255.255.255.252
!

Inter-AS BGP

ASBR1

router bgp 1
 neighbor 172.16.0.254 remote-as 2
 !
 address-family vpnv4
  neighbor 172.16.0.254 activate
  neighbor 172.16.0.254 send-community extended
  neighbor 172.16.0.254 inter-as-hybrid
 exit-address-family
 !
 address-family ipv4 vrf A
  redistribute connected
 exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
 exit-address-family

ASBR2

router bgp 2
 neighbor 172.16.0.253 remote-as 1
 !
 address-family vpnv4
  neighbor 172.16.0.253 activate
  neighbor 172.16.0.253 send-community extended
  neighbor 172.16.0.253 inter-as-hybrid
 exit-address-family
 !
 address-family ipv4 vrf A
  redistribute connected
 exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
 exit-address-family

Verification

ASBR1

ASBR1#show bgp vpnv4 unicast vrf A
BGP table version is 19, local router ID is 14.14.14.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf A)
 *    172.16.0.0/30    172.16.0.254             0             0 2 ?
 *>                    0.0.0.0                  0         32768 ?
 *>i  172.16.1.0/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.0/30    172.16.0.254                           0 2 ?
 *>i  192.168.1.1/32   11.11.11.11              0    100      0 65101 i
 *>   192.168.1.2/32   172.16.0.254                           0 2 65102 i
ASBR1#show bgp vpnv4 unicast vrf B
BGP table version is 19, local router ID is 14.14.14.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:2 (default for vrf B)
 *    172.16.0.4/30    172.16.0.254             0             0 2 ?
 *>                    0.0.0.0                  0         32768 ?
 *>i  172.16.1.4/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.4/30    172.16.0.254                           0 2 ?
 *>i  192.168.2.1/32   11.11.11.11              0    100      0 65201 i
 *>   192.168.2.2/32   172.16.0.254                           0 2 65202 i
ASBR1#
ASBR1#show ip route vrf A | beg Gateway
Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
C        172.16.0.0/30 is directly connected, GigabitEthernet2.101
L        172.16.0.1/32 is directly connected, GigabitEthernet2.101
B        172.16.1.0/30 [200/0] via 11.11.11.11, 01:01:27
B        172.16.2.0/30 [20/0] via 172.16.0.2, 01:01:27
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [200/0] via 11.11.11.11, 01:01:27
B        192.168.1.2 [20/0] via 172.16.0.2, 01:01:27
ASBR1#
ASBR1#show ip route vrf B | beg Gateway
Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
C        172.16.0.4/30 is directly connected, GigabitEthernet2.102
L        172.16.0.5/32 is directly connected, GigabitEthernet2.102
B        172.16.1.4/30 [200/0] via 11.11.11.11, 01:09:22
B        172.16.2.4/30 [20/0] via 172.16.0.6, 01:09:22
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [200/0] via 11.11.11.11, 01:09:22
B        192.168.2.2 [20/0] via 172.16.0.6, 01:09:22
ASBR1#
ASBR1#show ip cef vrf A 192.168.1.1/32 detail
192.168.1.1/32, epoch 0, flags [rib defined all labels]
  recursive via 11.11.11.11 label 23
    nexthop 10.12.14.12 GigabitEthernet1 label 16-(local:18)
ASBR1#show ip cef vrf A 192.168.1.2/32 detail
192.168.1.2/32, epoch 0, flags [rib only nolabel, rib defined all labels]
  dflt local label info: other/26 [0x2]
  recursive via 172.16.0.2
    attached to GigabitEthernet2.101
ASBR1#
ASBR1#show ip cef vrf B 192.168.2.1/32 detail
192.168.2.1/32, epoch 0, flags [rib defined all labels]
  recursive via 11.11.11.11 label 24
    nexthop 10.12.14.12 GigabitEthernet1 label 16-(local:18)
ASBR1#
ASBR1#show ip cef vrf B 192.168.2.2/32 detail
192.168.2.2/32, epoch 0, flags [rib only nolabel, rib defined all labels]
  dflt local label info: other/24 [0x2]
  recursive via 172.16.0.6
    attached to GigabitEthernet2.102
ASBR1#

ASBR2

ASBR2#show bgp vpnv4 unicast vrf A
BGP table version is 19, local router ID is 24.24.24.24
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf A)
 *>   172.16.0.0/30    0.0.0.0                  0         32768 ?
 *                     172.16.0.253             0             0 1 ?
 *>   172.16.1.0/30    172.16.0.253                           0 1 ?
 *>i  172.16.2.0/30    21.21.21.21              0    100      0 ?
 *>   192.168.1.1/32   172.16.0.253                           0 1 65101 i
 *>i  192.168.1.2/32   21.21.21.21              0    100      0 65102 i
ASBR2#
ASBR2#
ASBR2#show bgp vpnv4 unicast vrf B
BGP table version is 19, local router ID is 24.24.24.24
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path, L long-lived-stale,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 1:2 (default for vrf B)
 *>   172.16.0.4/30    0.0.0.0                  0         32768 ?
 *                     172.16.0.253             0             0 1 ?
 *>   172.16.1.4/30    172.16.0.253                           0 1 ?
 *>i  172.16.2.4/30    21.21.21.21              0    100      0 ?
 *>   192.168.2.1/32   172.16.0.253                           0 1 65201 i
 *>i  192.168.2.2/32   21.21.21.21              0    100      0 65202 i
ASBR2#
ASBR2#
ASBR2#show ip route vrf A | beg Gateway
Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
C        172.16.0.0/30 is directly connected, GigabitEthernet2.101
L        172.16.0.2/32 is directly connected, GigabitEthernet2.101
B        172.16.1.0/30 [20/0] via 172.16.0.1, 01:04:42
B        172.16.2.0/30 [200/0] via 21.21.21.21, 01:04:42
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [20/0] via 172.16.0.1, 01:04:42
B        192.168.1.2 [200/0] via 21.21.21.21, 01:04:42
ASBR2#
ASBR2#show ip route vrf B | beg Gateway
Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks
C        172.16.0.4/30 is directly connected, GigabitEthernet2.102
L        172.16.0.6/32 is directly connected, GigabitEthernet2.102
B        172.16.1.4/30 [20/0] via 172.16.0.5, 01:11:55
B        172.16.2.4/30 [200/0] via 21.21.21.21, 01:11:55
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [20/0] via 172.16.0.5, 01:11:55
B        192.168.2.2 [200/0] via 21.21.21.21, 01:11:55
ASBR2#
ASBR2#
ASBR2#show ip cef vrf A 192.168.1.1/32 detail
192.168.1.1/32, epoch 0, flags [rib only nolabel, rib defined all labels]
  dflt local label info: other/23 [0x2]
  recursive via 172.16.0.1
    attached to GigabitEthernet2.101
ASBR2#show ip cef vrf A 192.168.1.2/32 detail
192.168.1.2/32, epoch 0, flags [rib defined all labels]
  recursive via 21.21.21.21 label 16
    nexthop 20.22.24.22 GigabitEthernet1 label 16-(local:18)
ASBR2#
ASBR2#show ip cef vrf B 192.168.2.1/32 detail
192.168.2.1/32, epoch 0, flags [rib only nolabel, rib defined all labels]
  dflt local label info: other/24 [0x2]
  recursive via 172.16.0.5
    attached to GigabitEthernet2.102
ASBR2#show ip cef vrf B 192.168.2.2/32 detail
192.168.2.2/32, epoch 0, flags [rib defined all labels]
  recursive via 21.21.21.21 label 17
    nexthop 20.22.24.22 GigabitEthernet1 label 16-(local:18)
ASBR2#

CE-A1

CE-A1#traceroute ip 192.168.1.2 source 192.168.1.1 numeric
Type escape sequence to abort.
Tracing the route to 192.168.1.2
VRF info: (vrf in name/id, vrf out name/id)
  1 172.16.1.1 [AS 1] 1 msec 1 msec 1 msec
  2 10.11.12.12 [MPLS: Labels 18/26 Exp 0] 2 msec 2 msec 2 msec
  3 172.16.0.1 [AS 1] [MPLS: Label 26 Exp 0] 1 msec 1 msec 1 msec
  4 172.16.0.2 [AS 1] 2 msec 1 msec 1 msec
  5 20.22.24.22 [MPLS: Labels 16/16 Exp 0] 3 msec 3 msec 2 msec
  6 172.16.2.1 [AS 2] [MPLS: Label 16 Exp 0] 3 msec 2 msec 2 msec
  7 172.16.2.2 [AS 2] 2 msec *  3 msec
CE-A1#

CE-A2

CE-A2#traceroute ip 192.168.1.1 source 192.168.1.2 numeric
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 172.16.2.1 [AS 2] 0 msec 0 msec 1 msec
  2 20.21.22.22 [MPLS: Labels 18/23 Exp 0] 2 msec 1 msec 2 msec
  3 172.16.0.2 [AS 2] [MPLS: Label 23 Exp 0] 1 msec 1 msec 1 msec
  4 172.16.0.1 [AS 2] 1 msec 1 msec 1 msec
  5 10.12.14.12 [MPLS: Labels 16/23 Exp 0] 3 msec 2 msec 3 msec
  6 172.16.1.1 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 2 msec 2 msec
  7 172.16.1.2 [AS 1] 3 msec *  3 msec
CE-A2#

CE-B1

CE-B1#traceroute 192.168.2.2 source 192.168.2.1 numeric
Type escape sequence to abort.
Tracing the route to 192.168.2.2
VRF info: (vrf in name/id, vrf out name/id)
  1 172.16.1.5 [AS 1] 0 msec 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 18/24 Exp 0] 2 msec 2 msec 1 msec
  3 172.16.0.5 [AS 1] [MPLS: Label 24 Exp 0] 1 msec 1 msec 1 msec
  4 172.16.0.6 [AS 1] 1 msec 1 msec 1 msec
  5 20.22.24.22 [MPLS: Labels 16/17 Exp 0] 3 msec 3 msec 2 msec
  6 172.16.2.5 [AS 2] [MPLS: Label 17 Exp 0] 2 msec 2 msec 2 msec
  7 172.16.2.6 [AS 2] 2 msec *  2 msec
CE-B1#

CE-B2

CE-B2#traceroute 192.168.2.1 source 192.168.2.2 numeric
Type escape sequence to abort.
Tracing the route to 192.168.2.1
VRF info: (vrf in name/id, vrf out name/id)
  1 172.16.2.5 [AS 2] 1 msec 0 msec 1 msec
  2 20.21.22.22 [MPLS: Labels 18/24 Exp 0] 2 msec 1 msec 2 msec
  3 172.16.0.6 [AS 2] [MPLS: Label 24 Exp 0] 1 msec 1 msec 1 msec
  4 172.16.0.5 [AS 2] 1 msec 1 msec 2 msec
  5 10.12.14.12 [MPLS: Labels 16/24 Exp 0] 2 msec 2 msec 2 msec
  6 172.16.1.5 [AS 1] [MPLS: Label 24 Exp 0] 3 msec 2 msec 2 msec
  7 172.16.1.6 [AS 1] 2 msec *  2 msec
CE-B2#

Packet Capture on inter-AS link

Packets are sent unlabelled

The outputs below shows that the next hop address in the BGP advertisement is changed to the remote end of the link belong to the VRF when the route is imported into the VRF table.

Incoming BGP Update packet captured at ASBR1

No.     Time           Source                Destination           Protocol Length Info
     19 24.339876      172.16.0.254          172.16.0.253          BGP      607    UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message

Frame 19: 607 bytes on wire (4856 bits), 607 bytes captured (4856 bits) on interface -, id 0
    Interface id: 0 (-)
        Interface name: -
    Encapsulation type: Ethernet (1)
    Arrival Time: Oct 11, 2022 10:33:46.627621000 AEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1665448426.627621000 seconds
    [Time delta from previous captured frame: 0.000257000 seconds]
    [Time delta from previous displayed frame: 0.000257000 seconds]
    [Time since reference or first frame: 24.339876000 seconds]
    Frame Number: 19
    Frame Length: 607 bytes (4856 bits)
    Capture Length: 607 bytes (4856 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:vlan:ethertype:ip:tcp:bgp]
    [Coloring Rule Name: TTL low or unexpected]
    [Coloring Rule String: ( ! ip.dst == 224.0.0.0/4 && ip.ttl < 5 && !pim && !ospf) || (ip.dst == 224.0.0.0/24 && ip.dst != 224.0.0.251 && ip.ttl != 1 && !(vrrp || carp))]
Ethernet II, Src: 50:00:00:04:00:01 (50:00:00:04:00:01), Dst: 50:00:00:03:00:01 (50:00:00:03:00:01)
    Destination: 50:00:00:03:00:01 (50:00:00:03:00:01)
        Address: 50:00:00:03:00:01 (50:00:00:03:00:01)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: 50:00:00:04:00:01 (50:00:00:04:00:01)
        Address: 50:00:00:04:00:01 (50:00:00:04:00:01)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: 802.1Q Virtual LAN (0x8100)
802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 164
    000. .... .... .... = Priority: Best Effort (default) (0)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 1010 0100 = ID: 164
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 172.16.0.254, Dst: 172.16.0.253
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0xc0 (DSCP: CS6, ECN: Not-ECT)
        1100 00.. = Differentiated Services Codepoint: Class Selector 6 (48)
        .... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
    Total Length: 589
    Identification: 0x157e (5502)
    Flags: 0x40, Don't fragment
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment Offset: 0
    Time to Live: 1
        [Expert Info (Note/Sequence): "Time To Live" only 1]
            ["Time To Live" only 1]
            [Severity level: Note]
            [Group: Sequence]
    Protocol: TCP (6)
    Header Checksum: 0x0752 [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 172.16.0.254
    Destination Address: 172.16.0.253
Transmission Control Protocol, Src Port: 179, Dst Port: 47343, Seq: 96, Ack: 77, Len: 549
    Source Port: 179
    Destination Port: 47343
    [Stream index: 1]
    [TCP Segment Len: 549]
    Sequence Number: 96    (relative sequence number)
    Sequence Number (raw): 2140866061
    [Next Sequence Number: 645    (relative sequence number)]
    Acknowledgment Number: 77    (relative ack number)
    Acknowledgment number (raw): 6723070
    0101 .... = Header Length: 20 bytes (5)
    Flags: 0x018 (PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
        [TCP Flags: ·······AP···]
    Window: 16308
    [Calculated window size: 16308]
    [Window size scaling factor: -2 (no window scaling used)]
    Checksum: 0x0dd1 [unverified]
    [Checksum Status: Unverified]
    Urgent Pointer: 0
    [SEQ/ACK analysis]
        [iRTT: 0.001462000 seconds]
        [Bytes in flight: 568]
        [Bytes sent since last PSH flag: 549]
    [Timestamps]
        [Time since first frame in this TCP stream: 0.018012000 seconds]
        [Time since previous frame in this TCP stream: 0.000257000 seconds]
    TCP payload (549 bytes)
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 87
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 64
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 120
                    Label Stack: 31 (bottom)
                    Route Distinguisher: 1:2
                    MP Reach NLRI IPv4 prefix: 192.168.2.2
        Path Attribute - ORIGIN: IGP
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: IGP (0)
        Path Attribute - AS_PATH: 2 65202 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 10
            AS Path segment: 2 65202
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 2
                AS4: 2
                AS4: 65202
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:2 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 2
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 87
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 64
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 120
                    Label Stack: 28 (bottom)
                    Route Distinguisher: 1:1
                    MP Reach NLRI IPv4 prefix: 192.168.1.2
        Path Attribute - ORIGIN: IGP
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: IGP (0)
        Path Attribute - AS_PATH: 2 65102 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 10
            AS Path segment: 2 65102
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 2
                AS4: 2
                AS4: 65102
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:1 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 1
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 83
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 60
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 28 (bottom)
                    Route Distinguisher: 1:1
                    MP Reach NLRI IPv4 prefix: 172.16.2.0
        Path Attribute - ORIGIN: INCOMPLETE
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: INCOMPLETE (2)
        Path Attribute - AS_PATH: 2 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 6
            AS Path segment: 2
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 2
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:1 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 1
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 83
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 60
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 31 (bottom)
                    Route Distinguisher: 1:2
                    MP Reach NLRI IPv4 prefix: 172.16.2.4
        Path Attribute - ORIGIN: INCOMPLETE
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: INCOMPLETE (2)
        Path Attribute - AS_PATH: 2 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 6
            AS Path segment: 2
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 2
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:2 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 2
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 90
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 67
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 22 (bottom)
                    Route Distinguisher: 1:1
                    MP Reach NLRI IPv4 prefix: 172.16.0.0
        Path Attribute - ORIGIN: INCOMPLETE
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: INCOMPLETE (2)
        Path Attribute - AS_PATH: 2 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 6
            AS Path segment: 2
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 2
        Path Attribute - MULTI_EXIT_DISC: 0
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MULTI_EXIT_DISC (4)
            Length: 4
            Multiple exit discriminator: 0
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:1 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 1
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 90
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 67
    Path attributes
        Path Attribute - MP_REACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_REACH_NLRI (14)
            Length: 33
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Next hop network address (12 bytes)
                Next Hop: Empty Label Stack RD=0:0 IPv4=172.16.0.254
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 27 (bottom)
                    Route Distinguisher: 1:2
                    MP Reach NLRI IPv4 prefix: 172.16.0.4
        Path Attribute - ORIGIN: INCOMPLETE
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: ORIGIN (1)
            Length: 1
            Origin: INCOMPLETE (2)
        Path Attribute - AS_PATH: 2 
            Flags: 0x40, Transitive, Well-known, Complete
                0... .... = Optional: Not set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: AS_PATH (2)
            Length: 6
            AS Path segment: 2
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 2
        Path Attribute - MULTI_EXIT_DISC: 0
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MULTI_EXIT_DISC (4)
            Length: 4
            Multiple exit discriminator: 0
        Path Attribute - EXTENDED_COMMUNITIES
            Flags: 0xc0, Optional, Transitive, Complete
                1... .... = Optional: Set
                .1.. .... = Transitive: Set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: EXTENDED_COMMUNITIES (16)
            Length: 8
            Carried extended communities: (1 community)
                Route Target: 1:2 [Transitive 2-Octet AS-Specific]
                    Type: Transitive 2-Octet AS-Specific (0x00)
                        0... .... = IANA Authority: Allocated on Standard Action, Early Allocation or Experimental Basis
                        .0.. .... = Transitive across AS: Transitive
                    Subtype (AS2): Route Target (0x02)
                    2-Octet AS: 1
                    4-Octet AN: 2
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 29
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 6
    Path attributes
        Path Attribute - MP_UNREACH_NLRI
            Flags: 0x80, Optional, Non-transitive, Complete
                1... .... = Optional: Set
                .0.. .... = Transitive: Not set
                ..0. .... = Partial: Not set
                ...0 .... = Extended-Length: Not set
                .... 0000 = Unused: 0x0
            Type Code: MP_UNREACH_NLRI (15)
            Length: 3
            Address family identifier (AFI): IPv4 (1)
            Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
            Withdrawn routes (0 bytes)

Outputs from ASBR1

ASBR1#show bgp vpnv4 unicast all 192.168.1.2 255.255.255.255
BGP routing table entry for 1:1:192.168.1.2/32, version 29
Paths: (1 available, best #1, table A)
  Advertised to update-groups:
     13
  Refresh Epoch 1
  2 65102
    172.16.0.254 (via default) from 172.16.0.254 (24.24.24.24)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:1
      mpls labels in/out 26/28
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 00:33:46 UTC
ASBR1#
ASBR1#show ip route vrf A 192.168.1.2 255.255.255.255

Routing Table: A
Routing entry for 192.168.1.2/32
  Known via "bgp 1", distance 20, metric 0
  Tag 2, type external
  Last update from 172.16.0.2 00:06:25 ago
  Routing Descriptor Blocks:
  * 172.16.0.2, from 172.16.0.254, 00:06:25 ago
      opaque_ptr 0x7F18C7B565E8
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 2
      MPLS label: none
ASBR1#
ASBR1#
ASBR1#show bgp vpnv4 unicast all 192.168.2.2 255.255.255.255
BGP routing table entry for 1:2:192.168.2.2/32, version 31
Paths: (1 available, best #1, table B)
  Advertised to update-groups:
     13
  Refresh Epoch 1
  2 65202
    172.16.0.254 (via default) from 172.16.0.254 (24.24.24.24)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:2
      mpls labels in/out 24/31
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 00:33:46 UTC
ASBR1#
ASBR1#show ip route vrf B 192.168.2.2 255.255.255.255

Routing Table: B
Routing entry for 192.168.2.2/32
  Known via "bgp 1", distance 20, metric 0
  Tag 2, type external
  Last update from 172.16.0.6 00:06:42 ago
  Routing Descriptor Blocks:
  * 172.16.0.6, from 172.16.0.254, 00:06:42 ago
      opaque_ptr 0x7F18C7B56210
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 2
      MPLS label: none
ASBR1#

Summary

  • Packets are sent as unlabelled IP packets in the Inter-AS link.
  • A link per VRF (Similar to Option A).
  • A single BGP session between ASBRs to exchange VPNv4 prefixes for all the VRFs (Similar to Option B).
  • Next-hop is changed to VRF remote end when imported into VRF.