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

Summary

  • ASBRs establishes IPv4 Labelled-Unicast BGP peering
  • They exchange labels and prefixes for Loopback addresses
  • Remote Loopbacks are redistributed into IGP at the ASBR
  • RRs establish VPNv4 BGP session to exchange VPN Prefixes and Labels
  • Packet in the Inter-AS link has two labels (VPN label and Transport Label )

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

  • VPNv4 Peering with ASBR1 is not required assuming no CEs connected to it.
!
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
 !
 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
 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
!
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

  • VPNv4 Peering with ASBR2 is not required assuming no CEs connected to it.
!
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
!
 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
 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
!
mpls ldp router-id Loopback0
!

Inter-AS Configuration

VRFs and Interfaces

  • VRFs are not required on the ASBRs

ASBR1

interface GigabitEthernet2
 mtu 1600
 ip address 172.16.0.1 255.255.255.252
 negotiation auto
 mpls bgp forwarding
 no shutdown

ASBR2

interface GigabitEthernet2
 mtu 1600
 ip address 172.16.0.2 255.255.255.252
 negotiation auto
 mpls bgp forwarding
 no shutdown

Inter-AS BGP

  • Local PE Loopback 0 addresses are advertised to the remote ASBR in the IPv4 LU AF.

ASBR1

router bgp 1
 bgp router-id 14.14.14.14
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 no bgp default route-target filter
 neighbor 172.16.0.2 remote-as 2
 !
 address-family ipv4
  network 11.11.11.11 mask 255.255.255.255
  network 13.13.13.13 mask 255.255.255.255
  network 14.14.14.14 mask 255.255.255.255
  neighbor 172.16.0.2 activate
  neighbor 172.16.0.2 send-label
 exit-address-family

ASBR2

router bgp 2
 bgp router-id 24.24.24.24
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 no bgp default route-target filter
 neighbor 172.16.0.1 remote-as 1
 !
 address-family ipv4
  network 21.21.21.21 mask 255.255.255.255
  network 23.23.23.23 mask 255.255.255.255
  network 24.24.24.24 mask 255.255.255.255
  neighbor 172.16.0.1 activate
  neighbor 172.16.0.1 send-label
 exit-address-family

Redistributing Remote Loopbacks into IGP

ASBR1

ip prefix-list REMOTE-LOOPBACKS seq 1 permit 21.21.21.21/32
ip prefix-list REMOTE-LOOPBACKS seq 2 permit 23.23.23.23/32
!
!
route-map REMOTE-LOOPBACKS permit 10
 match ip address prefix-list REMOTE-LOOPBACKS
!
!
router ospf 1
 redistribute bgp 1 route-map REMOTE-LOOPBACKS
!

ASBR2

ip prefix-list REMOTE-LOOPBACKS seq 1 permit 11.11.11.11/32
ip prefix-list REMOTE-LOOPBACKS seq 2 permit 13.13.13.13/32
!
!
route-map REMOTE-LOOPBACKS permit 10
 match ip address prefix-list REMOTE-LOOPBACKS
!
!
router ospf 2
 redistribute bgp 2 route-map REMOTE-LOOPBACKS
!

RR1

  • EBGP Multi-hop is required between RRs
  • Next-Hop unchanged is required between RRs
router bgp 1
 neighbor 23.23.23.23 remote-as 2
 neighbor 23.23.23.23 ebgp-multihop 255
 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
  neighbor 23.23.23.23 next-hop-unchanged
 exit-address-family

RR2

  • EBGP Multi-hop is required between RRs
  • Next-Hop unchanged is required between RRs
router bgp 2
 neighbor 13.13.13.13 remote-as 1
 neighbor 13.13.13.13 ebgp-multihop 255
 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
  neighbor 13.13.13.13 next-hop-unchanged
 exit-address-family

Verification

ASBR1

ASBR1#show bgp ipv4 unicast summary | beg Nei
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.2      4            2     154     155        7    0    0 02:16:10        3

ASBR1#show bgp ipv4 unicast
BGP table version is 7, 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
 *>   11.11.11.11/32   10.12.14.12              3         32768 i
 *>   13.13.13.13/32   10.12.14.12              3         32768 i
 *>   14.14.14.14/32   0.0.0.0                  0         32768 i
 *>   21.21.21.21/32   172.16.0.2               3             0 2 i
 *>   23.23.23.23/32   172.16.0.2               3             0 2 i
 *>   24.24.24.24/32   172.16.0.2               0             0 2 i
ASBR1#
ASBR1#show bgp labels
% Command accepted but obsolete, unreleased or unsupported; see documentation.

   Network          Next Hop      In label/Out label
   11.11.11.11/32   10.12.14.12     19/nolabel
   13.13.13.13/32   10.12.14.12     17/nolabel
   14.14.14.14/32   0.0.0.0         imp-null/nolabel
   21.21.21.21/32   172.16.0.2      nolabel/21
   23.23.23.23/32   172.16.0.2      nolabel/20
   24.24.24.24/32   172.16.0.2      nolabel/imp-null

ASBR1#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  172.16.0.2/32    0             Gi2        172.16.0.2
17         18         13.13.13.13/32   12238057      Gi1        10.12.14.12
18         Pop Label  12.12.12.12/32   0             Gi1        10.12.14.12
19         16         11.11.11.11/32   12200000      Gi1        10.12.14.12
20         Pop Label  10.12.13.0/24    0             Gi1        10.12.14.12
21         Pop Label  10.11.12.0/24    0             Gi1        10.12.14.12
30         21         21.21.21.21/32   10214572      Gi2        172.16.0.2
31         20         23.23.23.23/32   14221610      Gi2        172.16.0.2
ASBR1#

ASBR2

ASBR2#show bgp ipv4 unicast summary | beg Nei
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.0.1      4            1     157     156       13    0    0 02:17:44        3

ASBR2#show bgp ipv4 unicast
BGP table version is 13, 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
 *>   11.11.11.11/32   172.16.0.1               3             0 1 i
 *>   13.13.13.13/32   172.16.0.1               3             0 1 i
 *>   14.14.14.14/32   172.16.0.1               0             0 1 i
 *>   21.21.21.21/32   20.22.24.22              3         32768 i
 *>   23.23.23.23/32   20.22.24.22              3         32768 i
 *>   24.24.24.24/32   0.0.0.0                  0         32768 i
ASBR2#
ASBR2#
ASBR2#show bgp labels
% Command accepted but obsolete, unreleased or unsupported; see documentation.

   Network          Next Hop      In label/Out label
   11.11.11.11/32   172.16.0.1      nolabel/19
   13.13.13.13/32   172.16.0.1      nolabel/17
   14.14.14.14/32   172.16.0.1      nolabel/imp-null
   21.21.21.21/32   20.22.24.22     21/nolabel
   23.23.23.23/32   20.22.24.22     20/nolabel
   24.24.24.24/32   0.0.0.0         imp-null/nolabel

ASBR2#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  172.16.0.1/32    0             Gi2        172.16.0.1
17         Pop Label  22.22.22.22/32   0             Gi1        20.22.24.22
18         Pop Label  20.22.23.0/24    0             Gi1        20.22.24.22
19         Pop Label  20.21.22.0/24    0             Gi1        20.22.24.22
20         17         23.23.23.23/32   14222423      Gi1        20.22.24.22
21         18         21.21.21.21/32   10214572      Gi1        20.22.24.22
22         19         11.11.11.11/32   12200000      Gi2        172.16.0.1
23         17         13.13.13.13/32   12238468      Gi2        172.16.0.1
ASBR2#

RR1

RR1#show ip route ospf | beg Gateway
Gateway of last resort is not set

      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O        10.11.12.0/24 [110/2] via 10.12.13.12, 02:41:27, GigabitEthernet1
O        10.12.14.0/24 [110/2] via 10.12.13.12, 02:41:27, GigabitEthernet1
      11.0.0.0/32 is subnetted, 1 subnets
O        11.11.11.11 [110/3] via 10.12.13.12, 02:41:25, GigabitEthernet1
      12.0.0.0/32 is subnetted, 1 subnets
O        12.12.12.12 [110/2] via 10.12.13.12, 02:41:27, GigabitEthernet1
      14.0.0.0/32 is subnetted, 1 subnets
O        14.14.14.14 [110/3] via 10.12.13.12, 02:41:27, GigabitEthernet1
      21.0.0.0/32 is subnetted, 1 subnets
O E2     21.21.21.21 [110/1] via 10.12.13.12, 02:16:38, GigabitEthernet1
      23.0.0.0/32 is subnetted, 1 subnets
O E2     23.23.23.23 [110/1] via 10.12.13.12, 02:16:38, GigabitEthernet1
RR1#
RR1#show bgp vpnv4 unicast all summary | beg Neighbor
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
11.11.11.11     4            1     182     194       21    0    0 02:41:31        4
23.23.23.23     4            2     154     155       21    0    0 02:05:32        4

RR1#
RR1#show bgp vpnv4 unicast all
BGP table version is 21, local router ID is 13.13.13.13
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
 *>i  172.16.1.0/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.0/30    21.21.21.21                            0 2 ?
 *>i  192.168.1.1/32   11.11.11.11              0    100      0 65101 i
 *>   192.168.1.2/32   21.21.21.21                            0 2 65102 i
Route Distinguisher: 1:2
 *>i  172.16.1.4/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.4/30    21.21.21.21                            0 2 ?
 *>i  192.168.2.1/32   11.11.11.11              0    100      0 65201 i
 *>   192.168.2.2/32   21.21.21.21                            0 2 65202 i
RR1#

RR2

RR2#show ip route ospf | beg Gateway
Gateway of last resort is not set

      11.0.0.0/32 is subnetted, 1 subnets
O E2     11.11.11.11 [110/1] via 20.22.23.22, 02:10:29, GigabitEthernet1
      13.0.0.0/32 is subnetted, 1 subnets
O E2     13.13.13.13 [110/1] via 20.22.23.22, 02:10:29, GigabitEthernet1
      20.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O        20.21.22.0/24 [110/2] via 20.22.23.22, 02:42:38, GigabitEthernet1
O        20.22.24.0/24 [110/2] via 20.22.23.22, 02:42:38, GigabitEthernet1
      21.0.0.0/32 is subnetted, 1 subnets
O        21.21.21.21 [110/3] via 20.22.23.22, 02:42:38, GigabitEthernet1
      22.0.0.0/32 is subnetted, 1 subnets
O        22.22.22.22 [110/2] via 20.22.23.22, 02:42:38, GigabitEthernet1
      24.0.0.0/32 is subnetted, 1 subnets
O        24.24.24.24 [110/3] via 20.22.23.22, 02:42:37, GigabitEthernet1
RR2#show bgp vpnv4 unicast all summary | beg Neighbor
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
13.13.13.13     4            1     156     155       21    0    0 02:06:58        4
21.21.21.21     4            2     186     197       21    0    0 02:42:51        4

RR2#show bgp vpnv4 unicast all
BGP table version is 21, local router ID is 23.23.23.23
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
 *>   172.16.1.0/30    11.11.11.11                            0 1 ?
 *>i  172.16.2.0/30    21.21.21.21              0    100      0 ?
 *>   192.168.1.1/32   11.11.11.11                            0 1 65101 i
 *>i  192.168.1.2/32   21.21.21.21              0    100      0 65102 i
Route Distinguisher: 1:2
 *>   172.16.1.4/30    11.11.11.11                            0 1 ?
 *>i  172.16.2.4/30    21.21.21.21              0    100      0 ?
 *>   192.168.2.1/32   11.11.11.11                            0 1 65201 i
 *>i  192.168.2.2/32   21.21.21.21              0    100      0 65202 i
RR2#

PE1

PE1#show bgp vpnv4 unicast all
BGP table version is 29, local router ID is 11.11.11.11
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.1.0/30    0.0.0.0                  0         32768 ?
 *>i  172.16.2.0/30    21.21.21.21              0    100      0 2 ?
 *>   192.168.1.1/32   172.16.1.2               0             0 65101 i
 *>i  192.168.1.2/32   21.21.21.21              0    100      0 2 65102 i
Route Distinguisher: 1:2 (default for vrf B)
 *>   172.16.1.4/30    0.0.0.0                  0         32768 ?
 *>i  172.16.2.4/30    21.21.21.21              0    100      0 2 ?
 *>   192.168.2.1/32   172.16.1.6               0             0 65201 i
 *>i  192.168.2.2/32   21.21.21.21              0    100      0 2 65202 i
PE1#
PE1#show bgp vpnv4 unicast all 192.168.1.2/32
BGP routing table entry for 1:1:192.168.1.2/32, version 27
Paths: (1 available, best #1, table A)
  Flag: 0x100
  Advertised to update-groups:
     3
  Refresh Epoch 1
  2 65102
    21.21.21.21 (metric 1) (via default) from 13.13.13.13 (13.13.13.13)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:1
      mpls labels in/out nolabel/22
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 13 2022 01:41:45 UTC
PE1#show bgp vpnv4 unicast all 192.168.2.2/32
BGP routing table entry for 1:2:192.168.2.2/32, version 29
Paths: (1 available, best #1, table B)
  Flag: 0x100
  Advertised to update-groups:
     1
  Refresh Epoch 1
  2 65202
    21.21.21.21 (metric 1) (via default) from 13.13.13.13 (13.13.13.13)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:2
      mpls labels in/out nolabel/24
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 13 2022 01:41:45 UTC

PE1#show ip route vrf A bgp

Routing Table: A
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
B        172.16.2.0/30 [200/0] via 21.21.21.21, 03:26:17
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [20/0] via 172.16.1.2, 04:52:06
B        192.168.1.2 [200/0] via 21.21.21.21, 03:26:17
PE1#
PE1#
PE1#show ip route vrf B bgp

Routing Table: B
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
B        172.16.2.4/30 [200/0] via 21.21.21.21, 03:26:22
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [20/0] via 172.16.1.6, 04:52:11
B        192.168.2.2 [200/0] via 21.21.21.21, 03:26:22
PE1#

PE2

PE2#show bgp vpnv4 unicast all
BGP table version is 29, local router ID is 21.21.21.21
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)
 *>i  172.16.1.0/30    11.11.11.11              0    100      0 1 ?
 *>   172.16.2.0/30    0.0.0.0                  0         32768 ?
 *>i  192.168.1.1/32   11.11.11.11              0    100      0 1 65101 i
 *>   192.168.1.2/32   172.16.2.2               0             0 65102 i
Route Distinguisher: 1:2 (default for vrf B)
 *>i  172.16.1.4/30    11.11.11.11              0    100      0 1 ?
 *>   172.16.2.4/30    0.0.0.0                  0         32768 ?
 *>i  192.168.2.1/32   11.11.11.11              0    100      0 1 65201 i
 *>   192.168.2.2/32   172.16.2.6               0             0 65202 i
PE2#
PE2#
PE2#show bgp vpnv4 unicast all 192.168.1.1/32
BGP routing table entry for 1:1:192.168.1.1/32, version 27
Paths: (1 available, best #1, table A)
  Flag: 0x100
  Advertised to update-groups:
     2
  Refresh Epoch 1
  1 65101
    11.11.11.11 (metric 1) (via default) from 23.23.23.23 (23.23.23.23)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:1
      mpls labels in/out nolabel/22
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 13 2022 01:40:25 UTC
PE2#show bgp vpnv4 unicast all 192.168.2.1/32
BGP routing table entry for 1:2:192.168.2.1/32, version 29
Paths: (1 available, best #1, table B)
  Flag: 0x100
  Advertised to update-groups:
     1
  Refresh Epoch 1
  1 65201
    11.11.11.11 (metric 1) (via default) from 23.23.23.23 (23.23.23.23)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:2
      mpls labels in/out nolabel/24
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 13 2022 01:40:25 UTC
PE2#
PE2#
PE2#show ip route vrf A bgp

Routing Table: A
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
B        172.16.1.0/30 [200/0] via 11.11.11.11, 03:28:59
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [200/0] via 11.11.11.11, 03:28:59
B        192.168.1.2 [20/0] via 172.16.2.2, 04:53:32
PE2#
PE2#show ip route vrf B bgp

Routing Table: B
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
B        172.16.1.4/30 [200/0] via 11.11.11.11, 03:29:03
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [200/0] via 11.11.11.11, 03:29:03
B        192.168.2.2 [20/0] via 172.16.2.6, 04:53:36
PE2#

P1

P1#show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      11.0.0.0/32 is subnetted, 1 subnets
O        11.11.11.11 [110/2] via 10.11.12.11, 04:55:02, GigabitEthernet1
      13.0.0.0/32 is subnetted, 1 subnets
O        13.13.13.13 [110/2] via 10.12.13.13, 04:55:04, GigabitEthernet2
      14.0.0.0/32 is subnetted, 1 subnets
O        14.14.14.14 [110/2] via 10.12.14.14, 04:55:04, GigabitEthernet3
      21.0.0.0/32 is subnetted, 1 subnets
O E2     21.21.21.21 [110/1] via 10.12.14.14, 04:30:14, GigabitEthernet3
      23.0.0.0/32 is subnetted, 1 subnets
O E2     23.23.23.23 [110/1] via 10.12.14.14, 04:30:14, GigabitEthernet3
P1#

P2

P2#show ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
       n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       H - NHRP, G - NHRP registered, g - NHRP registration summary
       o - ODR, P - periodic downloaded static route, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR
       & - replicated local route overrides by connected

Gateway of last resort is not set

      11.0.0.0/32 is subnetted, 1 subnets
O E2     11.11.11.11 [110/1] via 20.22.24.24, 04:23:41, GigabitEthernet3
      13.0.0.0/32 is subnetted, 1 subnets
O E2     13.13.13.13 [110/1] via 20.22.24.24, 04:23:41, GigabitEthernet3
      21.0.0.0/32 is subnetted, 1 subnets
O        21.21.21.21 [110/2] via 20.21.22.21, 04:55:50, GigabitEthernet1
      23.0.0.0/32 is subnetted, 1 subnets
O        23.23.23.23 [110/2] via 20.22.23.23, 04:55:50, GigabitEthernet2
      24.0.0.0/32 is subnetted, 1 subnets
O        24.24.24.24 [110/2] via 20.22.24.24, 04:55:47, GigabitEthernet3
P2#

CE-A1

CE-A1#traceroute 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] 0 msec 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 19/22 Exp 0] 3 msec 2 msec 2 msec
  3 10.12.14.14 [MPLS: Labels 30/22 Exp 0] 2 msec 2 msec 2 msec
  4 172.16.0.2 [MPLS: Labels 21/22 Exp 0] 2 msec 2 msec 2 msec
  5 20.22.24.22 [MPLS: Labels 18/22 Exp 0] 2 msec 2 msec 3 msec
  6 172.16.2.1 [AS 2] [MPLS: Label 22 Exp 0] 2 msec 2 msec 2 msec
  7 172.16.2.2 [AS 2] 2 msec *  2 msec
CE-A1#

CE-A2

CE-A2#traceroute 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 19/22 Exp 0] 2 msec 2 msec 2 msec
  3 20.22.24.24 [MPLS: Labels 22/22 Exp 0] 2 msec 2 msec 2 msec
  4 172.16.0.1 [MPLS: Labels 19/22 Exp 0] 2 msec 2 msec 2 msec
  5 10.12.14.12 [MPLS: Labels 16/22 Exp 0] 2 msec 2 msec 2 msec
  6 172.16.1.1 [AS 1] [MPLS: Label 22 Exp 0] 2 msec 2 msec 2 msec
  7 172.16.1.2 [AS 1] 2 msec *  2 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] 1 msec 0 msec 1 msec
  2 10.11.12.12 [MPLS: Labels 19/24 Exp 0] 3 msec 3 msec 2 msec
  3 10.12.14.14 [MPLS: Labels 30/24 Exp 0] 2 msec 2 msec 2 msec
  4 172.16.0.2 [MPLS: Labels 21/24 Exp 0] 3 msec 2 msec 2 msec
  5 20.22.24.22 [MPLS: Labels 18/24 Exp 0] 2 msec 2 msec 2 msec
  6 172.16.2.5 [AS 2] [MPLS: Label 24 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] 0 msec 0 msec 1 msec
  2 20.21.22.22 [MPLS: Labels 19/24 Exp 0] 2 msec 2 msec 2 msec
  3 20.22.24.24 [MPLS: Labels 22/24 Exp 0] 2 msec 2 msec 1 msec
  4 172.16.0.1 [MPLS: Labels 19/24 Exp 0] 1 msec 2 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 in the Inter-AS link

LSP for 192.168.1.2/32

PE1

PE1#show bgp vpnv4 unicast vrf A 192.168.1.2/32
BGP routing table entry for 1:1:192.168.1.2/32, version 27
Paths: (1 available, best #1, table A)
  Flag: 0x100
  Advertised to update-groups:
     3
  Refresh Epoch 1
  2 65102
    21.21.21.21 (metric 1) (via default) from 13.13.13.13 (13.13.13.13)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      Extended Community: RT:1:1
      mpls labels in/out nolabel/22
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 13 2022 01:41:45 UTC
PE1#

PE1#show ip route 21.21.21.21 255.255.255.255
Routing entry for 21.21.21.21/32
  Known via "ospf 1", distance 110, metric 1
  Tag 2, type extern 2, forward metric 2
  Last update from 10.11.12.12 on GigabitEthernet1, 04:40:27 ago
  Routing Descriptor Blocks:
  * 10.11.12.12, from 14.14.14.14, 04:40:27 ago, via GigabitEthernet1
      Route metric is 1, traffic share count is 1
      Route tag 2
PE1#

PE1#show mpls ldp bindings 21.21.21.21 32
  lib entry: 21.21.21.21/32, rev 16
	local binding:  label: 25
	remote binding: lsr: 12.12.12.12:0, label: 19
PE1#

PE1#show mpls forwarding-table  21.21.21.21 32
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
25         19         21.21.21.21/32   0             Gi1        10.11.12.12
PE1#

PE1#show ip cef vrf A 192.168.1.2/32 detai
192.168.1.2/32, epoch 2, flags [rib defined all labels]
  recursive via 21.21.21.21 label 22
    nexthop 10.11.12.12 GigabitEthernet1 label 19-(local:25)
PE1#

P1

P1#show mpls forwarding-table labels 19
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
19         30         21.21.21.21/32   22422480      Gi3        10.12.14.14
P1#

ASBR1

ASBR1#show mpls forwarding-table labels 30
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
30         21         21.21.21.21/32   22423284      Gi2        172.16.0.2
ASBR1#

ASBR2

ASBR2#show mpls forwarding-table labels 21
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
21         18         21.21.21.21/32   22424088      Gi1        20.22.24.22
ASBR2#

P2

P2#show mpls forwarding-table labels 18
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
18         Pop Label  21.21.21.21/32   35471358      Gi1        20.21.22.21
P2#

PE2

PE2#show ip cef vrf A 192.168.1.2/32 detail
192.168.1.2/32, epoch 2, flags [rib only nolabel, rib defined all labels]
  dflt local label info: other/22 [0x2]
  recursive via 172.16.2.2
    attached to GigabitEthernet2
PE2#

Summary

  • Loopback0s of local PEs and RRs are advertised by the ASBR to the remote AS with labels.
  • Loopback0s of the remote PEs are redistributed into local IGP by the ASBR.
  • VPNv4 peering is established between RRs.
  • Above is a EBGP multi-hop session. This needs to be configured explicitly using “ebgp-multihop”.
  • RR should not change next-hop of the VPNv4 prefixes advertised to the remote AS. This needs to be configured explicitly using “next-hop-unchanged”.

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

Summary

  • Two ASBRs established eBGP for VPNv4 address family to exchange VPNv4 prefixes+Labels
  • ASBRs advertises these to their internal AS.
  • VRFs are not configured on ASBRs. Therefore it is required to disable Route-Target Filter on them.

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

Inter-AS Configuration

VRFs and Interfaces

  • VRFs are not configured on ASBRs
  • “mpls bgp forward” is automatically added to the Inter-AS interface once VPNv4 eBGP session between ASBRs is established

ASBR1

interface GigabitEthernet2
 mtu 1600
 ip address 172.16.0.1 255.255.255.252
 negotiation auto
 mpls bgp forwarding
no shutdown

ASBR2

interface GigabitEthernet2
 mtu 1600
 ip address 172.16.0.2 255.255.255.252
 negotiation auto
 mpls bgp forwarding
no shutdown

Inter-AS BGP

  • Route Target Filter should be disabled using “no bgp default route-target filter”
  • iBGP next-hop self is required.

ASBR1

router bgp 1
 bgp router-id 14.14.14.14
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 no bgp default route-target filter
 neighbor 13.13.13.13 remote-as 1
 neighbor 13.13.13.13 update-source Loopback0
 neighbor 172.16.0.2 remote-as 2
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 13.13.13.13 activate
  neighbor 13.13.13.13 send-community extended
  neighbor 13.13.13.13 next-hop-self
  neighbor 172.16.0.2 activate
  neighbor 172.16.0.2 send-community extended
 exit-address-family

ASBR2

router bgp 2
 bgp router-id 24.24.24.24
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 no bgp default route-target filter
 neighbor 23.23.23.23 remote-as 2
 neighbor 23.23.23.23 update-source Loopback0
 neighbor 172.16.0.1 remote-as 1
 !
 address-family ipv4
 exit-address-family
 !
 address-family vpnv4
  neighbor 23.23.23.23 activate
  neighbor 23.23.23.23 send-community extended
  neighbor 23.23.23.23 next-hop-self
  neighbor 172.16.0.1 activate
  neighbor 172.16.0.1 send-community extended
 exit-address-family

Verification

ASBR1

ASBR1#show bgp vpnv4 unicast all
BGP table version is 9, 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
 *>i  172.16.1.0/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.0/30    172.16.0.2                             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.2                             0 2 65102 i
Route Distinguisher: 1:2
 *>i  172.16.1.4/30    11.11.11.11              0    100      0 ?
 *>   172.16.2.4/30    172.16.0.2                             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.2                             0 2 65202 i
ASBR1#
ASBR1#
ASBR1#show bgp vpnv4 unicast all 192.168.1.2/32
BGP routing table entry for 1:1:192.168.1.2/32, version 7
Paths: (1 available, best #1, no table)
  Advertised to update-groups:
     7
  Refresh Epoch 1
  2 65102
    172.16.0.2 (via default) from 172.16.0.2 (24.24.24.24)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:1
      mpls labels in/out 29/23
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 04:06:20 UTC
ASBR1#
ASBR1#
ASBR1#show bgp vpnv4 unicast all 192.168.2.2/32
BGP routing table entry for 1:2:192.168.2.2/32, version 9
Paths: (1 available, best #1, no table)
  Advertised to update-groups:
     7
  Refresh Epoch 1
  2 65202
    172.16.0.2 (via default) from 172.16.0.2 (24.24.24.24)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:2
      mpls labels in/out 28/25
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 04:06:20 UTC
ASBR1#

ASBR2

ASBR2#show bgp vpnv4 unicast all
BGP table version is 9, 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
 *>   172.16.1.0/30    172.16.0.1                             0 1 ?
 *>i  172.16.2.0/30    21.21.21.21              0    100      0 ?
 *>   192.168.1.1/32   172.16.0.1                             0 1 65101 i
 *>i  192.168.1.2/32   21.21.21.21              0    100      0 65102 i
Route Distinguisher: 1:2
 *>   172.16.1.4/30    172.16.0.1                             0 1 ?
 *>i  172.16.2.4/30    21.21.21.21              0    100      0 ?
 *>   192.168.2.1/32   172.16.0.1                             0 1 65201 i
 *>i  192.168.2.2/32   21.21.21.21              0    100      0 65202 i
ASBR2#
ASBR2#show bgp vpnv4 unicast all 192.168.1.1/32
BGP routing table entry for 1:1:192.168.1.1/32, version 4
Paths: (1 available, best #1, no table)
  Advertised to update-groups:
     7
  Refresh Epoch 1
  1 65101
    172.16.0.1 (via default) from 172.16.0.1 (14.14.14.14)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:1
      mpls labels in/out 29/23
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 04:06:20 UTC
ASBR2#
ASBR2#show bgp vpnv4 unicast all 192.168.2.1/32
BGP routing table entry for 1:2:192.168.2.1/32, version 8
Paths: (1 available, best #1, no table)
  Advertised to update-groups:
     7
  Refresh Epoch 1
  1 65201
    172.16.0.1 (via default) from 172.16.0.1 (14.14.14.14)
      Origin IGP, localpref 100, valid, external, best
      Extended Community: RT:1:2
      mpls labels in/out 28/25
      rx pathid: 0, tx pathid: 0x0
      Updated on Oct 11 2022 04:06:20 UTC
ASBR2#

CE-A1

CE-A1#traceroute 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 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 18/29 Exp 0] 3 msec 3 msec 2 msec
  3 10.12.14.14 [MPLS: Label 29 Exp 0] 3 msec 2 msec 2 msec
  4 172.16.0.2 [MPLS: Label 23 Exp 0] 3 msec 3 msec 3 msec
  5 20.22.24.22 [MPLS: Labels 16/16 Exp 0] 2 msec 2 msec 2 msec
  6 172.16.2.1 [AS 2] [MPLS: Label 16 Exp 0] 2 msec 2 msec 3 msec
  7 172.16.2.2 [AS 2] 2 msec *  3 msec
CE-A1#

CE-A2

CE-A2#traceroute 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 0 msec
  2 20.21.22.22 [MPLS: Labels 18/29 Exp 0] 3 msec 3 msec 2 msec
  3 20.22.24.24 [MPLS: Label 29 Exp 0] 3 msec 2 msec 3 msec
  4 172.16.0.1 [MPLS: Label 23 Exp 0] 2 msec 3 msec 2 msec
  5 10.12.14.12 [MPLS: Labels 16/23 Exp 0] 3 msec 3 msec 2 msec
  6 172.16.1.1 [AS 1] [MPLS: Label 23 Exp 0] 3 msec 2 msec 3 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] 1 msec 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 18/28 Exp 0] 3 msec 2 msec 3 msec
  3 10.12.14.14 [MPLS: Label 28 Exp 0] 3 msec 3 msec 3 msec
  4 172.16.0.2 [MPLS: Label 25 Exp 0] 3 msec 3 msec 2 msec
  5 20.22.24.22 [MPLS: Labels 16/17 Exp 0] 3 msec 2 msec 3 msec
  6 172.16.2.5 [AS 2] [MPLS: Label 17 Exp 0] 3 msec 2 msec 2 msec
  7 172.16.2.6 [AS 2] 2 msec *  3 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 1 msec 0 msec
  2 20.21.22.22 [MPLS: Labels 18/28 Exp 0] 3 msec 2 msec 3 msec
  3 20.22.24.24 [MPLS: Label 28 Exp 0] 3 msec 3 msec 2 msec
  4 172.16.0.1 [MPLS: Label 25 Exp 0] 2 msec 2 msec 3 msec
  5 10.12.14.12 [MPLS: Labels 16/24 Exp 0] 3 msec 2 msec 2 msec
  6 172.16.1.5 [AS 1] [MPLS: Label 24 Exp 0] 2 msec 1 msec 2 msec
  7 172.16.1.6 [AS 1] 2 msec *  3 msec
CE-B2#

Inter-AS link carries labelled packets

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.

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

Summary

  • A sub-interface is created per each VRF extended between the two autonomous systems.
  • eBGP is configured between the two ASBRs within each VRFs to exchange IP prefixes.
  • LSP is terminated at each ASBR and packets are forwarded as unlabelled in the inter-ASBR link.

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 2:1
 !
 address-family ipv4
  route-target export 2:1
  route-target import 2:1
 exit-address-family
!
vrf definition B
 rd 2:2
 !
 address-family ipv4
  route-target export 2:2
  route-target import 2: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

en
conf t
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

conf t
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

conf t
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

conf t
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

VRFs and Interfaces

ASBR1

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
!

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 2:1
 !
 address-family ipv4
  route-target export 2:1
  route-target import 2:1
 exit-address-family
!
vrf definition B
 rd 2:2
 !
 address-family ipv4
  route-target export 2:2
  route-target import 2:2
 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
!
 address-family ipv4 vrf A
  redistribute connected
  neighbor 172.16.0.2 remote-as 2
  neighbor 172.16.0.2 activate
 exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
  neighbor 172.16.0.6 remote-as 2
  neighbor 172.16.0.6 activate
 exit-address-family

ASBR2

router bgp 2
 !
 address-family ipv4 vrf A
  redistribute connected
  neighbor 172.16.0.1 remote-as 1
  neighbor 172.16.0.1 activate
exit-address-family
 !
 address-family ipv4 vrf B
  redistribute connected
  neighbor 172.16.0.5 remote-as 1
  neighbor 172.16.0.5 activate
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.2               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.2                             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.2                             0 2 65102 i
ASBR1#
ASBR1#
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.6               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.6                             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.6                             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, 02:09:19
B        172.16.2.0/30 [20/0] via 172.16.0.2, 01:56:49
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [200/0] via 11.11.11.11, 02:09:19
B        192.168.1.2 [20/0] via 172.16.0.2, 01:56:49
ASBR1#
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, 02:09:26
B        172.16.2.4/30 [20/0] via 172.16.0.6, 01:56:48
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [200/0] via 11.11.11.11, 02:09:26
B        192.168.2.2 [20/0] via 172.16.0.6, 01:56:48
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/23 [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#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/25 [0x2]
  recursive via 172.16.0.6
    attached to GigabitEthernet2.102
ASBR1#

ASBR 2

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: 2:1 (default for vrf A)
 *    172.16.0.0/30    172.16.0.1               0             0 1 ?
 *>                    0.0.0.0                  0         32768 ?
 *>   172.16.1.0/30    172.16.0.1                             0 1 ?
 *>i  172.16.2.0/30    21.21.21.21              0    100      0 ?
 *>   192.168.1.1/32   172.16.0.1                             0 1 65101 i
 *>i  192.168.1.2/32   21.21.21.21              0    100      0 65102 i
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: 2:2 (default for vrf B)
 *    172.16.0.4/30    172.16.0.5               0             0 1 ?
 *>                    0.0.0.0                  0         32768 ?
 *>   172.16.1.4/30    172.16.0.5                             0 1 ?
 *>i  172.16.2.4/30    21.21.21.21              0    100      0 ?
 *>   192.168.2.1/32   172.16.0.5                             0 1 65201 i
 *>i  192.168.2.2/32   21.21.21.21              0    100      0 65202 i
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, 02:02:38
B        172.16.2.0/30 [200/0] via 21.21.21.21, 02:14:41
      192.168.1.0/32 is subnetted, 2 subnets
B        192.168.1.1 [20/0] via 172.16.0.1, 02:02:38
B        192.168.1.2 [200/0] via 21.21.21.21, 02:14:41
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, 02:02:35
B        172.16.2.4/30 [200/0] via 21.21.21.21, 02:14:46
      192.168.2.0/32 is subnetted, 2 subnets
B        192.168.2.1 [20/0] via 172.16.0.5, 02:02:35
B        192.168.2.2 [200/0] via 21.21.21.21, 02:14:46
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#
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 23
    nexthop 20.22.24.22 GigabitEthernet1 label 16-(local:18)
ASBR2#
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/25 [0x2]
  recursive via 172.16.0.5
    attached to GigabitEthernet2.102
ASBR2#
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 24
    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 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 18/23 Exp 0] 2 msec 1 msec 1 msec
  3 172.16.0.1 [AS 1] [MPLS: Label 23 Exp 0] 2 msec 2 msec 1 msec
  4 172.16.0.2 [AS 1] 2 msec 1 msec 1 msec
  5 20.22.24.22 [MPLS: Labels 16/23 Exp 0] 3 msec 2 msec 2 msec
  6 172.16.2.1 [AS 2] [MPLS: Label 23 Exp 0] 3 msec 2 msec 3 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] 1 msec 1 msec 0 msec
  2 20.21.22.22 [MPLS: Labels 18/23 Exp 0] 1 msec 1 msec 2 msec
  3 172.16.0.2 [AS 2] [MPLS: Label 23 Exp 0] 1 msec 2 msec 1 msec
  4 172.16.0.1 [AS 2] 2 msec 1 msec 1 msec
  5 10.12.14.12 [MPLS: Labels 16/23 Exp 0] 2 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 ip 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] 1 msec 0 msec 0 msec
  2 10.11.12.12 [MPLS: Labels 18/25 Exp 0] 2 msec 2 msec 1 msec
  3 172.16.0.5 [AS 1] [MPLS: Label 25 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/24 Exp 0] 3 msec 2 msec 3 msec
  6 172.16.2.5 [AS 2] [MPLS: Label 24 Exp 0] 2 msec 2 msec 2 msec
  7 172.16.2.6 [AS 2] 2 msec *  3 msec
CE-B1#

CE-B2

CE-B2#traceroute ip 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 1 msec 1 msec
  2 20.21.22.22 [MPLS: Labels 18/25 Exp 0] 2 msec 2 msec 2 msec
  3 172.16.0.6 [AS 2] [MPLS: Label 25 Exp 0] 2 msec 2 msec 1 msec
  4 172.16.0.5 [AS 2] 1 msec 1 msec 1 msec
  5 10.12.14.12 [MPLS: Labels 16/24 Exp 0] 3 msec 2 msec 3 msec
  6 172.16.1.5 [AS 1] [MPLS: Label 24 Exp 0] 3 msec 2 msec 3 msec
  7 172.16.1.6 [AS 1] 4 msec *  2 msec
CE-B2#

Packet Capture on inter-AS link

Packets are sent unlabelled

BGP Advertisement over Inter-AS link

ASBR2 advertises 192.168.1.2/32. This advertisement does not have any extended communities (RT) which are attached by PE2.

No.     Time           Source                Destination           Protocol Length Info
     17 0.296749       172.16.0.2            172.16.0.1            BGP      236    UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message

Frame 17: 236 bytes on wire (1888 bits), 236 bytes captured (1888 bits) on interface -, id 0
    Interface id: 0 (-)
        Interface name: -
    Encapsulation type: Ethernet (1)
    Arrival Time: Oct 10, 2022 23:38:34.123355000 AEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1665409114.123355000 seconds
    [Time delta from previous captured frame: 0.000371000 seconds]
    [Time delta from previous displayed frame: 0.000371000 seconds]
    [Time since reference or first frame: 0.296749000 seconds]
    Frame Number: 17
    Frame Length: 236 bytes (1888 bits)
    Capture Length: 236 bytes (1888 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: 101
    000. .... .... .... = Priority: Best Effort (default) (0)
    ...0 .... .... .... = DEI: Ineligible
    .... 0000 0110 0101 = ID: 101
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 172.16.0.2, Dst: 172.16.0.1
    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: 218
    Identification: 0x78f0 (30960)
    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: 0xa74a [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 172.16.0.2
    Destination Address: 172.16.0.1
Transmission Control Protocol, Src Port: 179, Dst Port: 17067, Seq: 96, Ack: 77, Len: 178
    Source Port: 179
    Destination Port: 17067
    [Stream index: 1]
    [TCP Segment Len: 178]
    Sequence Number: 96    (relative sequence number)
    Sequence Number (raw): 676411038
    [Next Sequence Number: 274    (relative sequence number)]
    Acknowledgment Number: 77    (relative ack number)
    Acknowledgment number (raw): 1016359605
    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: 0xaee4 [unverified]
    [Checksum Status: Unverified]
    Urgent Pointer: 0
    [SEQ/ACK analysis]
        [iRTT: 0.001338000 seconds]
        [Bytes in flight: 197]
        [Bytes sent since last PSH flag: 178]
    [Timestamps]
        [Time since first frame in this TCP stream: 0.008751000 seconds]
        [Time since previous frame in this TCP stream: 0.000371000 seconds]
    TCP payload (178 bytes)
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 52
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 24
    Path attributes
        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 - NEXT_HOP: 172.16.0.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: NEXT_HOP (3)
            Length: 4
            Next hop: 172.16.0.2
    Network Layer Reachability Information (NLRI)
        192.168.1.2/32
            NLRI prefix length: 32
            NLRI prefix: 192.168.1.2
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 48
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 20
    Path attributes
        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 - NEXT_HOP: 172.16.0.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: NEXT_HOP (3)
            Length: 4
            Next hop: 172.16.0.2
    Network Layer Reachability Information (NLRI)
        172.16.2.0/30
            NLRI prefix length: 30
            NLRI prefix: 172.16.2.0
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 55
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 27
    Path attributes
        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 - NEXT_HOP: 172.16.0.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: NEXT_HOP (3)
            Length: 4
            Next hop: 172.16.0.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
    Network Layer Reachability Information (NLRI)
        172.16.0.0/30
            NLRI prefix length: 30
            NLRI prefix: 172.16.0.0
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 23
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 0

BGP VPNv4 Advertisement Received from RR

Compare the above with the VPNv4 advertisement received for 192.168.1.2/32 by ASBR2 from RR2.

No.     Time           Source                Destination           Protocol Length Info
     30 17.835966      23.23.23.23           24.24.24.24           BGP      538    UPDATE Message, UPDATE Message, UPDATE Message, UPDATE Message, ROUTE-REFRESH Message, UPDATE Message

Frame 30: 538 bytes on wire (4304 bits), 538 bytes captured (4304 bits) on interface -, id 0
    Interface id: 0 (-)
        Interface name: -
    Encapsulation type: Ethernet (1)
    Arrival Time: Oct 10, 2022 23:31:21.249960000 AEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1665408681.249960000 seconds
    [Time delta from previous captured frame: 0.001172000 seconds]
    [Time delta from previous displayed frame: 0.001172000 seconds]
    [Time since reference or first frame: 17.835966000 seconds]
    Frame Number: 30
    Frame Length: 538 bytes (4304 bits)
    Capture Length: 538 bytes (4304 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ip:tcp:bgp]
    [Coloring Rule Name: Routing]
    [Coloring Rule String: hsrp || eigrp || ospf || bgp || cdp || vrrp || carp || gvrp || igmp || ismp]
Ethernet II, Src: 50:00:00:05:00:02 (50:00:00:05:00:02), Dst: 50:00:00:04:00:00 (50:00:00:04:00:00)
    Destination: 50:00:00:04:00:00 (50:00:00:04:00:00)
        Address: 50:00:00:04:00:00 (50:00:00:04:00:00)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: 50:00:00:05:00:02 (50:00:00:05:00:02)
        Address: 50:00:00:05:00:02 (50:00:00:05:00:02)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 23.23.23.23, Dst: 24.24.24.24
    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: 524
    Identification: 0x17c6 (6086)
    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: 254
    Protocol: TCP (6)
    Header Checksum: 0x0408 [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 23.23.23.23
    Destination Address: 24.24.24.24
Transmission Control Protocol, Src Port: 179, Dst Port: 15139, Seq: 100, Ack: 77, Len: 484
    Source Port: 179
    Destination Port: 15139
    [Stream index: 2]
    [TCP Segment Len: 484]
    Sequence Number: 100    (relative sequence number)
    Sequence Number (raw): 1934471827
    [Next Sequence Number: 584    (relative sequence number)]
    Acknowledgment Number: 77    (relative ack number)
    Acknowledgment number (raw): 993969392
    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: 0xfb77 [unverified]
    [Checksum Status: Unverified]
    Urgent Pointer: 0
    [SEQ/ACK analysis]
        [iRTT: 0.001912000 seconds]
        [Bytes in flight: 507]
        [Bytes sent since last PSH flag: 484]
    [Timestamps]
        [Time since first frame in this TCP stream: 0.010750000 seconds]
        [Time since previous frame in this TCP stream: 0.001172000 seconds]
    TCP payload (484 bytes)
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 111
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 88
    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=21.21.21.21
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 120
                    Label Stack: 24 (bottom)
                    Route Distinguisher: 2: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: 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: 6
            AS Path segment: 65202
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 65202
        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 - LOCAL_PREF: 100
            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: LOCAL_PREF (5)
            Length: 4
            Local preference: 100
        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: 2: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: 2
                    4-Octet AN: 2
        Path Attribute - CLUSTER_LIST: 23.23.23.23
            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: CLUSTER_LIST (10)
            Length: 4
            Cluster List: 23.23.23.23
                Cluster ID: 23.23.23.23
        Path Attribute - ORIGINATOR_ID: 21.21.21.21 
            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: ORIGINATOR_ID (9)
            Length: 4
            Originator identifier: 21.21.21.21
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 111
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 88
    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=21.21.21.21
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 120
                    Label Stack: 23 (bottom)
                    Route Distinguisher: 2: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: 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: 6
            AS Path segment: 65102
                Segment type: AS_SEQUENCE (2)
                Segment length (number of ASN): 1
                AS4: 65102
        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 - LOCAL_PREF: 100
            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: LOCAL_PREF (5)
            Length: 4
            Local preference: 100
        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: 2: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: 2
                    4-Octet AN: 1
        Path Attribute - CLUSTER_LIST: 23.23.23.23
            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: CLUSTER_LIST (10)
            Length: 4
            Cluster List: 23.23.23.23
                Cluster ID: 23.23.23.23
        Path Attribute - ORIGINATOR_ID: 21.21.21.21 
            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: ORIGINATOR_ID (9)
            Length: 4
            Originator identifier: 21.21.21.21
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 105
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 82
    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=21.21.21.21
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 17 (bottom)
                    Route Distinguisher: 2: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: empty
            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: 0
        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 - LOCAL_PREF: 100
            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: LOCAL_PREF (5)
            Length: 4
            Local preference: 100
        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: 2: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: 2
                    4-Octet AN: 2
        Path Attribute - CLUSTER_LIST: 23.23.23.23
            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: CLUSTER_LIST (10)
            Length: 4
            Cluster List: 23.23.23.23
                Cluster ID: 23.23.23.23
        Path Attribute - ORIGINATOR_ID: 21.21.21.21 
            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: ORIGINATOR_ID (9)
            Length: 4
            Originator identifier: 21.21.21.21
Border Gateway Protocol - UPDATE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 105
    Type: UPDATE Message (2)
    Withdrawn Routes Length: 0
    Total Path Attribute Length: 82
    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=21.21.21.21
            Number of Subnetwork points of attachment (SNPA): 0
            Network layer reachability information (16 bytes)
                BGP Prefix
                    Prefix Length: 118
                    Label Stack: 16 (bottom)
                    Route Distinguisher: 2: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: empty
            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: 0
        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 - LOCAL_PREF: 100
            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: LOCAL_PREF (5)
            Length: 4
            Local preference: 100
        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: 2: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: 2
                    4-Octet AN: 1
        Path Attribute - CLUSTER_LIST: 23.23.23.23
            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: CLUSTER_LIST (10)
            Length: 4
            Cluster List: 23.23.23.23
                Cluster ID: 23.23.23.23
        Path Attribute - ORIGINATOR_ID: 21.21.21.21 
            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: ORIGINATOR_ID (9)
            Length: 4
            Originator identifier: 21.21.21.21
Border Gateway Protocol - ROUTE-REFRESH Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 23
    Type: ROUTE-REFRESH Message (5)
    Address family identifier (AFI): IPv4 (1)
    Subtype: Demarcation of the ending of a route refresh (2)
    Subsequent address family identifier (SAFI): Labeled VPN Unicast (128)
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)

Summary

  • Extended Communities are not carried by the Inter-AS BGP session