Hey there,
The following is an eNSP experiment of Inter-AS VPN Option C (Solution 2). The eNSP project is in the attachment. If you have any questions, please feel free to comment. Thank you!
Topology

The core of the Option C solution is to enable PEs/RRs in different MPLS domains to establish EBGP peer relationships and transmit data through labels.
Compared with solution 1, solution 2 requires less configurations. The ABSR does not need to establish an IBGP peer relationship with PE/RR. Through import EBGP routes to IBP on the ABSR, PE/RR in the local AS can learn the PE/RR addresses of the peer AS and assign LDP labels to these addresses.
The below is the Main configuration (Configurations on the left and right MPLS domains are symmetrical. The following shows only the configuration on the left. . For all the configuration, please see the attachment.):
R1(PE)
#
ip vpn-instance A
ipv4-family
route-distinguisher 100:1
vpn-target 100:1 export-extcommunity
vpn-target 100:1 import-extcommunity
#
ip vpn-instance B
ipv4-family
route-distinguisher 100:2
vpn-target 100:2 export-extcommunity
vpn-target 100:2 import-extcommunity
#
mpls lsr-id 1.1.1.1
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
ip address 10.1.12.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
ip binding vpn-instance A
ip address 10.1.17.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip binding vpn-instance B
ip address 10.1.18.1 255.255.255.0
#
interface GigabitEthernet1/0/0
ip address 10.1.13.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
undo peer 2.2.2.2 enable
#
ipv4-family vpnv4
policy vpn-target
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-invariable
#
ipv4-family vpn-instance A
peer 10.1.17.7 as-number 1
#
ipv4-family vpn-instance B
import-route ospf 1
#
ospf 1 vpn-instance B
import-route bgp
area 0.0.0.0
network 10.1.18.1 0.0.0.0
#
rip 1
version 2
network 10.0.0.0
network 1.0.0.0
#
------------------------------------------------
RR1
#
mpls lsr-id 2.2.2.2
mpls
#
mpls ldp
#
interface GigabitEthernet0/0/0
ip address 10.1.12.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
ip address 10.1.23.2 255.255.255.0
mpls
mpls ldp
#
interface NULL0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
peer 5.5.5.5 as-number 200
peer 5.5.5.5 ebgp-max-hop 100
peer 5.5.5.5 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
undo peer 1.1.1.1 enable
undo peer 5.5.5.5 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 1.1.1.1 enable
peer 1.1.1.1 reflect-client
peer 1.1.1.1 next-hop-invariable
peer 5.5.5.5 enable
peer 5.5.5.5 next-hop-invariable
#
rip 1
version 2
network 10.0.0.0
network 2.0.0.0
#
-------------------------------------------------------
AR3(ASBR)
#
mpls lsr-id 3.3.3.3
mpls
lsp-trigger bgp-label-route
#
mpls ldp
#
interface GigabitEthernet0/0/0
ip address 34.34.34.3 255.255.255.0
mpls
#
interface GigabitEthernet0/0/1
ip address 10.1.23.3 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet1/0/0
ip address 10.1.13.3 255.255.255.0
mpls
mpls ldp
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 100
peer 34.34.34.4 as-number 200
#
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
network 2.2.2.2 255.255.255.255
peer 34.34.34.4 enable
peer 34.34.34.4 route-policy asbr export
peer 34.34.34.4 label-route-capability
#
rip 1
version 2
network 3.0.0.0
network 10.0.0.0
import-route bgp
#
route-policy asbr permit node 10
apply mpls-label
#

