MPLS Inter AS Option C IPv4 VPNs.
The objective is to set up L3VPN that spans different autonomous systems to serve customers with sites on different service provider domains. In this case with reference to below topology, customers of AS64512 require to be connected to their other sites which are in AS64515.

Design
The design implemented in this case is known as Inter AS Option C in which the route reflectors from each AS will peer directly and exchange vpnv4 routes. For forwarding the ASBRs will be exchanging MPLS labels via BGP as more than often two different AS will not be running LDP or RSVP but BGP. ASBR64515 will redistribute the IP of RR64515 from OSPF to eBGP and redistribute to OSPF the IP of RR64512 received via eBGP from ASBR64512 as well as generate labels. ASBR64512 will redistribute the IP of RR64512 from OSPF to eBGP and redistribute to OSPF the IP of RR64515 received via eBGP from ASBR64515. The RRs will exchange routing information with each other making VRF routes from AS64512 available in AS64515 and vice versa. In this design case AS64512 is an all Cisco gear networks while AS64515 is an all Juniper network both ASs use OSPF as IGP and LDP for label distribution both protocols are preconfigured.
Configuration
ASBR64512
interface FastEthernet0/0.100 encapsulation dot1Q 100 ip address 10.100.100.2 255.255.255.252 mpls bgp forwarding router ospf 1 router-id 10.11.11.33 redistribute bgp 64512 subnets route-map MAP_IGP_OUT ! router bgp 64512 neighbor iBGP peer-group neighbor iBGP remote-as 64512 neighbor iBGP update-source Loopback0 neighbor eBGP peer-group neighbor eBGP remote-as 64515 neighbor 10.11.11.29 peer-group iBGP neighbor 10.100.100.1 peer-group eBGP ! address-family ipv4 redistribute ospf 1 route-map MAP_eBGP_OUT neighbor iBGP next-hop-self neighbor iBGP soft-reconfiguration inbound neighbor iBGP route-map MAP_iBGP_OUT out neighbor eBGP soft-reconfiguration inbound neighbor eBGP send-label neighbor 10.11.11.29 activate neighbor 10.100.100.1 activate exit-address-family ! address-family vpnv4 neighbor iBGP send-community both neighbor iBGP next-hop-self neighbor 10.11.11.29 activate exit-address-family ! ip prefix-list AS64515-RR seq 5 permit 10.33.33.29/32 ! ip prefix-list RR_IP seq 5 permit 10.11.11.29/32 ! route-map MAP_eBGP_OUT permit 10 description ADVERTISE RR IP match ip address prefix-list RR_IP ! route-map MAP_iBGP_OUT deny 10 description DO NOT ADVERTISE RR IP FROM AS64515 match ip address prefix-list AS64515-RR route-map MAP_iBGP_OUT permit 20 description PERMIT OTHERS ! route-map MAP_IGP_OUT permit 10 description ADVERTISE AS64515 RR IN IGP match ip address prefix-list AS64515-RR
RR64512
router bgp 64512 neighbor iBGP peer-group neighbor iBGP remote-as 64512 neighbor iBGP update-source Loopback0 neighbor eBGP-MPLS peer-group neighbor eBGP-MPLS remote-as 64515 neighbor eBGP-MPLS ebgp-multihop 255 neighbor eBGP-MPLS update-source Loopback0 neighbor 10.11.11.33 peer-group iBGP neighbor 10.11.11.36 peer-group iBGP neighbor 10.33.33.29 peer-group eBGP-MPLS ! address-family ipv4 neighbor iBGP route-reflector-client neighbor iBGP soft-reconfiguration inbound neighbor 10.11.11.33 activate neighbor 10.11.11.36 activate no neighbor 10.33.33.29 activate exit-address-family ! address-family vpnv4 neighbor iBGP send-community both neighbor iBGP route-reflector-client neighbor eBGP-MPLS send-community both neighbor 10.11.11.33 activate neighbor 10.11.11.36 activate neighbor 10.33.33.29 activate exit-address-family
ASBR64515
protocols {
    mpls {
        interface em0.5;
        interface em3.100;
    }
    bgp {
        local-as 64515;
        group iBGP {
            type internal;
            local-address 10.33.33.33;
            family inet {
                unicast;
            }
            family inet-vpn {
                unicast;
            }
            export POL_iBGP_EXPORT;
            neighbor 10.33.33.29;       
        }
        group eBGP {
            type external;
            family inet {
                labeled-unicast;
            }
            export POL_eBGP_EXPORT;
            peer-as 64512;
            local-as 64515;
            neighbor 10.100.100.2;
        }
    }
    ospf {
        export POL_IGP_EXPORT;
        area 0.0.0.0 {
            interface lo0.300 {
                passive;
            }
            interface em0.5;
        }
    }
    ldp {
        egress-policy POL_GENERATE_LABELS;
        interface em0.5;
        interface lo0.300;
    }
}
policy-options {
    policy-statement POL_GENERATE_LABELS {
        term GENERATE_LABEL_FOR_MY_LOOPBACK {
            from {
                protocol direct;
                route-filter 10.33.33.33/32 exact;
            }
            then accept;
        }
        term GENERATE_LABEL_FOR_AS64512_RR {
            from {
                protocol bgp;
                route-filter 10.11.11.29/32 exact;
            }
            then accept;
        }
    }
    policy-statement POL_IGP_EXPORT {
        term ADVERTISE_RR_IP_FROM_AS64512 {
            from {
                protocol bgp;
                route-filter 10.11.11.29/32 exact;
            }
            then accept;
        }
    }
    policy-statement POL_eBGP_EXPORT {
        term ADVERTISE_RR_LOOPBACK {
            from {
                protocol ospf;
                route-filter 10.33.33.29/32 exact;
            }
            then accept;
        }
    }
    policy-statement POL_iBGP_EXPORT {  
        term NEXT_HOP {
            then {
                next-hop self;
            }
        }
        term DENY_RR_IP_FROM_AS64512 {
            from {
                route-filter 10.11.11.29/32 exact;
            }
            then reject;
        }
    }
}
routing-options {
    router-id 10.33.33.33;
    autonomous-system 64515;
}
RR64515
protocols {
    mpls {
        interface em0.5;
        interface em1.10;
    }
    bgp {
        group iBGP {
            type internal;
            local-address 10.33.33.29;
            family inet {
                unicast;
            }
            family inet-vpn {
                unicast;
            }
            cluster 10.33.33.29;
            neighbor 10.33.33.33;
            neighbor 10.33.33.36;       
        }
        group eBGP-MPLS {
            multihop {
                ttl 255;
            }
            local-address 10.33.33.29;
            family inet-vpn {
                unicast;
            }
            peer-as 64512;
            neighbor 10.11.11.29;
        }
    }
    ospf {
        area 0.0.0.0 {
            interface em0.5;
            interface lo0.300 {
                passive;
            }
            interface em1.10;
        }
    }
    ldp {                               
        interface em0.5;
        interface em1.10;
    }
}
routing-options {
    router-id 10.33.33.29;
    autonomous-system 64515;
}
The route reflectors and other PEs are configured with standard MPLS/IP support.
Verification
ASBR64515
show mpls interface logical-system Interface State Administrative groups (x: extended) em0.5 Upem3.100 Up show bgp neighbor 10.100.100.2 | match NLRI NLRI for restart configured on peer: inet-labeled-unicast NLRI advertised by peer: inet-unicast inet-labeled-unicast NLRI for this session: inet-labeled-unicast show route 10.11.11.29 inet.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.11.11.29/32 *[BGP/170] 00:58:12, MED 2, localpref 100 AS path: 64512 ? > to 10.100.100.2 via em3.100, Push 21 
ASBR64512
sh mpls interfaces 
Interface              IP            Tunnel   BGP Static Operational
FastEthernet0/1        Yes (ldp)     No       No  No     Yes        
FastEthernet0/0.100    No            No       Yes No     Yes        
sh bgp neighbor 10.100.100.1 | i ^BGP|v4
BGP neighbor is 10.100.100.1,  remote AS 64515, external link
    Address family IPv4 Unicast: advertised
    ipv4 MPLS Label capability: advertised and received
sh ip route 10.33.33.29
Routing entry for 10.33.33.29/32
  Known via "bgp 64512", distance 20, metric 1
  Tag 64515, type external
  Redistributing via ospf 1
  Advertised by ospf 1 subnets route-map MAP_IGP_OUT
  Last update from 10.100.100.1 01:03:54 ago
  Routing Descriptor Blocks:
  * 10.100.100.1, from 10.100.100.1, 01:03:54 ago
      Route metric is 1, traffic share count is 1
      AS Hops 1
      Route tag 64515
      MPLS label: 300656
The ASBRs on both ASs are learning the IP address of the RR on the other AS via BGP and they are redistributing to their IGP
RR64515
show route 10.11.11.29    # route to RR in AS64512
inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.11.11.29/32     *[OSPF/150] 01:27:59, metric 2, tag 0
                    > to 172.18.1.33 via em0.5
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.11.11.29/32     *[LDP/9] 01:10:53, metric 1
                    > to 172.18.1.33 via em0.5, Push 300672
show bgp neighbor 10.11.11.29 | match "^Peer|NLRI"
Peer: 10.11.11.29+30637 AS 64512 Local: 10.33.33.29+179 AS 64515
  NLRI for restart configured on peer: inet-vpn-unicast
  NLRI advertised by peer: inet-vpn-unicast
  NLRI for this session: inet-vpn-unicast
show bgp summary | find ^peer 
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.11.11.29           64512        103         94       0       3       41:35 Establ
  bgp.l3vpn.0: 1/1/1/0
show route table bgp.l3vpn.0 receive-protocol bgp 10.11.11.29
bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  100:1:10.10.0.36/32                    
*                         10.11.11.29                             64512 ?
show route table bgp.l3vpn.0 advertising-protocol bgp 10.11.11.29
bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
  100:1:10.30.0.36/32                    
*                         Self                                    I
RR64512
sh ip route 10.33.33.29 # route to RR in AS64515
Routing entry for 10.33.33.29/32
  Known via "ospf 1", distance 110, metric 1
  Tag 64515, type extern 2, forward metric 1
  Last update from 172.16.1.33 on FastEthernet0/1, 01:17:55 ago
  Routing Descriptor Blocks:
  * 172.16.1.33, from 10.11.11.33, 01:17:55 ago, via FastEthernet0/1
      Route metric is 1, traffic share count is 1
      Route tag 64515
sh mpls forwarding-table 10.33.33.29 32
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
16         16         10.33.33.29/32   1750          Fa0/1      172.16.1.33
sh bgp vpnv4 unicast all neighbor 10.33.33.29 | include ^BGP|v4         
BGP neighbor is 10.33.33.29,  remote AS 64515, external link
    Address family VPNv4 Unicast: advertised and received
sh bgp vpnv4 unicast all peer-group eBGP-MPLS summary | begin Neighbor
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.33.33.29     4        64515      89      98       11    0    0 00:42:05        
sh bgp vpnv4 unicast all neighbor 10.33.33.29  advertised-routes | begin Network      
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:1
 *>i 10.10.0.36/32    10.11.11.36              0    100      0 ?
Total number of prefixes 1 
The route reflectors on both ASs are learning about each other via IGP (assigning MPLS labels as well) and are exchanging VRF routes via the eBGP session. The routes will then be advertised by the route reflectors to the rest of the PEs in each AS
Inter AS MPLS VPN Option C for IPv6 (6PE).
Objective
The objective is to tunnel IPv6 (6PE) traffic that spans different autonomous systems. This implementation offers the ability to tunnel IPv6 across segments that do not support IPv6. In this case with reference to below topology, the NNI between AS64512 and AS64515 does not support IPv6 yet both systems support IPv6 in their core network, therefore we need to tunnel IPv6 across the NNI which does not support IPv6 so as to bridge the IPv6 core networks from AS64512 and AS64515

Design
This design follows the principles of inter AS MPLS Option C in which ASBR64515 will redistribute the IP of RR64515 from OSPF to eBGP and redistribute to OSPF the IP of RR64512 received via eBGP from ASBR64512 as well as generate labels. ASBR64512 will redistribute the IP of RR64512 from OSPF to eBGP and redistribute to OSPF the IP of RR64515 received via eBGP from ASBR64515. The RRs will exchange routing information with each other making IPv6 routes from AS64512 available in AS64515 and vice versa.
Configuration
PE64512
interface Loopback0 ip address 11.11.11.36 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 description CONNECTION TO RR ip address 155.12.0.36 255.255.255.0 ip ospf 1 area 0 mpls ip ! interface FastEthernet0/1 description SAMPLE CUSTOMER ipv6 address 2001:ABCD:100::36/128 ! router ospf 1 ! router bgp 100 neighbor iBGP peer-group neighbor iBGP remote-as 100 neighbor iBGP update-source Loopback0 neighbor 10.11.11.29 peer-group iBGP ! address-family ipv4 neighbor iBGP next-hop-self neighbor 10.11.11.29 activate exit-address-family ! address-family ipv6 redistribute connected redistribute static neighbor iBGP send-community both neighbor iBGP next-hop-self neighbor iBGP send-label neighbor 10.11.11.29 activate exit-address-family ! ip bgp-community new-format ! ipv6 route 2002::/64 Null0
PE64515
interfaces {
    em0 {
        unit 200 {
            description "SAMPLE CUSTOMER";
            vlan-id 200;
            family inet6 {
                address 2001:abcd:300::36/128;
            }
        }
    }
    em1 {
        unit 10 {
            description "CONNECTION TO RR";
            vlan-id 10;
            family inet {
                address 172.17.0.36/24;
            }
            family inet6;
            family mpls;
        }
    }
    lo0 {
        unit 300 {
            family inet {               
                address 10.33.33.36/32;
            }
        }
    }
}
protocols {
    mpls {
        ipv6-tunneling;
        interface em1.10;
    }
    bgp {
        group iBGP {
            type internal;
            local-address 10.33.33.36;
            family inet {
                unicast;
            }
            family inet6 {
                labeled-unicast {
                    explicit-null;
                }
            }
            export POL_iBGP_EXPORT;     
            local-as 64515;
            neighbor 10.33.33.29;
        }
    }
    ospf {
        area 0.0.0.0 {
            interface lo0.300 {
                passive;
            }
            interface em1.10;
        }
    }
    ldp {
        interface em1.10;
        interface lo0.300;
    }
}
policy-options {
    policy-statement POL_iBGP_EXPORT {
        term NEXT_HOP {
            then {
                next-hop self;
            }                           
        }
        term IPV6_TUNNELLING {
            from family inet6;
            then accept;
        }
    }
}
routing-options {
    rib inet6.0 {
        static {
            route 2003::/64 discard;
        }
    }
    router-id 10.33.33.36;
    autonomous-system 64515;
}
RR64512
interface Loopback0 ip address 10.11.11.29 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 description CONNECTION TO PE1 ip address 172.16.0.29 255.255.255.0 ip ospf 1 area 0 mpls ip ! interface FastEthernet0/1 description CONNECTION TO ASBR1 ip address 172.16.1.29 255.255.255.0 ip ospf 1 area 0 mpls ip ! router ospf 1 ! router bgp 64512 neighbor iBGP peer-group neighbor iBGP remote-as 100 neighbor iBGP update-source Loopback0 neighbor eBGP-6PE peer-group neighbor eBGP-6PE remote-as 64515 neighbor eBGP-6PE ebgp-multihop 255 neighbor eBGP-6PE update-source Loopback0 neighbor 10.11.11.33 peer-group iBGP neighbor 10.11.11.36 peer-group iBGP neighbor 10.33.33.29 peer-group eBGP-6PE ! address-family ipv4 neighbor iBGP soft-reconfiguration inbound neighbor 10.11.11.33 activate neighbor 10.11.11.36 activate no neighbor 10.33.33.29 activate exit-address-family ! address-family ipv6 neighbor iBGP send-community both neighbor iBGP route-reflector-client neighbor iBGP soft-reconfiguration inbound neighbor iBGP send-label neighbor eBGP-6PE send-label neighbor 10.11.11.33 activate neighbor 10.11.11.36 activate neighbor 10.33.33.29 activate exit-address-family
RR64515
interfaces {
    em0 {
        unit 5 {
            description "CONNECTION TO ASBR";
            vlan-id 5;
            family inet {
                address 172.17.1.29/24;
            }
            family inet6;
            family mpls;
        }
    }
    em1 {
        unit 10 {
            description "CONNECTION TO PE";
            vlan-id 10;
            family inet {
                address 172.17.0.29/24;
            }
            family inet6;
            family mpls;
        }
    }
    lo0 {                               
        unit 300 {
            family inet {
                address 10.33.33.29/32;
            }
        }
    }
}
protocols {
    mpls {
        ipv6-tunneling;
        interface em0.5;
        interface em1.10;
    }
    bgp {
        group iBGP {
            type internal;
            local-address 10.33.33.29;
            family inet {
                unicast;
            }
            family inet6 {
                labeled-unicast {
                    explicit-null;      
                }
            }
            cluster 10.33.33.29;
            neighbor 10.33.33.36;
            neighbor 10.33.33.33;
        }
        group eBGP-6PE {
            type external;
            multihop {
                ttl 255;
            }
            local-address 10.33.33.29;
            family inet6 {
                labeled-unicast {
                    explicit-null;
                }
            }
            peer-as 64512;
            neighbor 10.11.11.29;
        }
    }
    ospf {
        area 0.0.0.0 {                  
            interface em0.5;
            interface lo0.300 {
                passive;
            }
            interface em1.10;
        }
    }
    ldp {
        interface em0.5;
        interface em1.10;
    }
}
routing-options {
    router-id 10.33.33.29;
    autonomous-system 64515;
}
ASBR64512
interface Loopback0 ip address 10.11.11.33 255.255.255.255 ip ospf 1 area 0 ! interface Loopback100 description SAMPLE CUSTOMER ipv6 address 2001:ABCD:100::33/128 ! interface FastEthernet0/0 description INTER-AS LINK no ip address ! interface FastEthernet0/0.100 encapsulation dot1Q 100 ip address 10.100.100.1 255.255.255.252 mpls bgp forwarding ! interface FastEthernet0/1 description CONNECTION TO RR ip address 172.16.1.33 255.255.255.0 ip ospf 1 area 0 mpls ip ! auto ! router ospf 1 redistribute bgp 100 subnets route-map MAP_IGP_OUT ! router bgp 64512 neighbor iBGP peer-group neighbor iBGP remote-as 100 neighbor iBGP update-source Loopback0 neighbor eBGP peer-group neighbor eBGP remote-as 300 neighbor 10.11.11.29 peer-group iBGP neighbor 10.100.100.2 peer-group eBGP ! address-family ipv4 network 10.11.11.29 mask 255.255.255.255 neighbor iBGP next-hop-self neighbor iBGP route-map MAP_iBGP_OUT out neighbor eBGP send-label neighbor 10.11.11.29 activate neighbor 10.100.100.2 activate exit-address-family ! address-family ipv6 neighbor iBGP send-community both neighbor iBGP next-hop-self neighbor iBGP send-label neighbor 10.11.11.29 activate exit-address-family ! ip prefix-list AS_64515_RR seq 5 permit 10.33.33.29/32 ! route-map MAP_iBGP_OUT deny 10 description DENY AS64515 RR IN iBGP match ip address prefix-list AS_64515_RR route-map MAP_iBGP_OUT permit 20 description PERMIT OTHERS ! route-map MAP_IGP_OUT permit 10 description ALLOW AS64515 RR IN IGP match ip address prefix-list AS_64515_RR
ASBR64515
interfaces {
    em0 {
        unit 5 {
            description "CONNECTION TO RR";
            vlan-id 5;
            family inet {
                address 172.17.1.33/24;
            }
            family inet6;
            family mpls;
        }
    }
    em1 {
        unit 100 {
            description "NNI TO AS100";
            vlan-id 100;
            family inet {
                address 10.100.100.2/30;
            }
            family inet6;
            family mpls;
        }
    }
    lo0 {                               
        unit 300 {
            family inet {
                address 10.33.33.33/32;
            }
        }
    }
}
protocols {
    mpls {
        ipv6-tunneling;
        interface em0.5;
    }
    bgp {
        group iBGP {
            type internal;
            local-address10.33.33.33;
            family inet {
                unicast;
            }
            family inet6 {
                labeled-unicast {
                    explicit-null;
                }                       
            }
            export POL_iBGP_EXPORT;
            local-as 64515;
            neighbor 10.33.33.29;
        }
        group eBGP-6PE {
            type external;
            family inet {
                labeled-unicast;
            }
            export POL_eBGP_EXPORT;
            peer-as 64512;
            local-as 64515;
            neighbor 10.100.100.1;
        }
    }
    ospf {
        export POL_IGP_EXPORT;
        area 0.0.0.0 {
            interface lo0.300 {
                passive;
            }
            interface em0.5;            
        }
    }
    ldp {
        egress-policy LABELS;
        interface em0.5;
        interface lo0.300;
    }
}
policy-options {
    policy-statement LABELS {
        from {
            protocol [ bgp direct ];
            route-filter 0.0.0.0/0 prefix-length-range /32-/32;
        }
        then accept;
    }
    policy-statement POL_IGP_EXPORT {
        term AS64512_RR_IP {
            from {
                protocol bgp;
                route-filter 10.11.11.29/32 exact;
            }
            then accept;                
        }
    }
    policy-statement POL_eBGP_EXPORT {
        term AS64515_RR {
            from {
                protocol ospf;
                route-filter 10.33.33.29/32 exact;
            }
            then accept;
        }
    }
    policy-statement POL_iBGP_EXPORT {
        term NEXT_HOP {
            then {
                next-hop self;
            }
        }
        term AS64512_RR_IP {
            from {
                route-filter 10.11.11.29/32 exact;
            }
            then reject;
        }                               
    }
}
routing-options {
    router-id 10.33.33.33;
    autonomous-system 64515;
}
Verification
ASBR64515
show bgp summary | find ^peer Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 10.33.33.29 64515 172 163 0 0 1:11:45 Establ inet.0: 0/0/0/0 inet6.0: 4/4/4/0 10.100.100.1 64512 165 173 0 1 3:27 Establ inet.0: 1/1/1/0 show route advertising-protocol bgp 10.100.100.1 inet.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.33.33.29/32 Self 1 I
ASBR64512
sh bgp summary | b N
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.11.11.29     4          64512      81      94        5    0    0 01:13:03        0
10.100.100.2    4          64515      15      16        5    0    0 00:05:15        1
sh bgp neighbor 10.100.100.2 advertised-route | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.11.11.29/32   172.16.1.29              2         32768 i
Total number of prefixes 1
RR64512
sh bgp * all summary     
For address family: IPv4 Unicast
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.11.11.33     4          64512     102      88        6    0    0 01:12:06        1
10.11.11.36     4          64512      92      89        6    0    0 01:11:08        0
For address family: IPv6 Unicast
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.11.11.33     4          64512     102      88       15    0    0 01:12:07        0
10.11.11.36     4          64512      92      89       15    0    0 01:11:08        2
10.33.33.29     4          64515      64      66       15    0    0 00:27:32        2
sh bgp ipv6 uni | b Net
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 2001:ABCD:100::36/128
                       ::FFFF:10.11.11.36
                                                0    100      0 ?
 *>  2001:ABCD:300::36/128
                       ::FFFF:10.33.33.29
                                                              0 64515 i
 *>i 2002::/64        ::FFFF:10.11.11.36
                                                0    100      0 ?
 *>  2003::/64        ::FFFF:10.33.33.29
                                                              0 64515 i
sh mpls forwarding-table 10.33.33.29
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
17         17         10.33.33.29/32   976           Fa0/1      172.16.1.33
RR64515
show bgp summary | find ^peer 
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
10.11.11.29             64512         81         81       0       1       34:45 Establ
  inet6.0: 2/2/2/0
10.33.33.33             64512        198        206       0       0     1:27:51 Establ
  inet.0: 0/0/0/0
  inet6.0: 0/0/0/0
10.33.33.36             64512        200        197       0       0     1:25:56 Establ
  inet.0: 0/0/0/0
  inet6.0: 2/2/2/0
show route protocol bgp table inet6.0
inet6.0: 7 destinations, 8 routes (7 active, 0 holddown, 0 hidden)
2001:abcd:100::36/128
                   *[BGP/170] 00:37:06, localpref 100, from 10.11.11.29
                      AS path: 64512 ?
                    > to 172.17.1.33 via em0.5, Push 19, Push 299904(top)
2001:abcd:300::36/128
                   *[BGP/170] 00:56:08, localpref 100, from 10.33.33.36
                      AS path: I
                    > to 172.17.0.36 via em1.10, Push 2
2002::/64          *[BGP/170] 00:37:06, localpref 100, from 10.11.11.29
                      AS path: 64512 ?
                    > to 172.17.1.33 via em0.5, Push 20, Push 299904(top)
2003::/64          *[BGP/170] 00:56:09, localpref 100, from 10.33.33.36
                      AS path: I
                    > to 172.17.0.36 via em1.10, Push 2
show ldp path 10.11.11.29 
Output Session (label)          Input Session (label)
10.33.33.36:0(299824)           10.33.33.33:0(299904)
10.33.33.33:0(299824)
  Attached route:  10.11.11.29/32, Ingress route
Label analysis
PE64512 announces 2001:ABCD: 100::36/128 to RR64512 which then advertises the prefix to RR64515 which then advertises the prefix to PE64515
PE64512#sh run int lo100
interface Loopback100
ipv6 address 2001:ABCD:100::36/128
end
PE64512#sh ipv6 route 2001:ABCD:100::36/128                
Routing entry for 2001:ABCD:100::36/128
  Known via "connected", distance 0, metric 0, type receive, connected, bgp 64512
  Route count is 1/1, share count 0
  Routing paths:
    receive via Loopback100
      Last updated 01:49:12 ago
PE64512#sh bgp ipv6 unicast 2001:ABCD:100::36/128
BGP routing table entry for 2001:ABCD:100::36/128, version 2
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1         
  Refresh Epoch 1
  Local
    :: from 0.0.0.0 (10.11.11.36)
      Origin incomplete, metric 0, localpref 100, weight 32768, valid, sourced, best
      mpls labels in/out 20/nolabel
      rx pathid: 0, tx pathid: 0x0
PE64512#show mpls forwarding-table labels 20
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
20         Pop Label  2001:ABCD:100::36/128   \
                                       2876          aggregate
RR64512# sh bgp ipv6 uni 2001:ABCD:100::36/128  
BGP routing table entry for 2001:ABCD:100::36/128, version 3
Paths: (1 available, best #1, table default)
  Advertised to update-groups:
     1          5         
  Refresh Epoch 1
  Local, (Received from a RR-client), (received & used)
    ::FFFF:10.11.11.36 (metric 2) from 10.11.11.36 (10.11.11.36)
      Origin incomplete, metric 0, localpref 100, valid, internal, best
      mpls labels in/out 19/20
      rx pathid: 0, tx pathid: 0x0
RR64512#show mpls forwarding-table labels 19
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop    
Label      Label      or Tunnel Id     Switched      interface              
19         20         2001:ABCD:100::36/128   \
                                       3398          Fa0/0      172.16.0.36 
RR64512#show ip route 10.11.11.36
Routing entry for 10.11.11.36/32
  Known via "ospf 1", distance 110, metric 2, type intra area
  Last update from 172.16.0.36 on FastEthernet0/0, 01:43:26 ago
  Routing Descriptor Blocks:
  * 172.16.0.36, from 10.11.11.36, 01:43:26 ago, via FastEthernet0/0
      Route metric is 2, traffic share count is 1 
RR64515# run show route table inet6.0 2001:ABCD:100::36/128 extensive
inet6.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)
2001:abcd:100::36/128 (1 entry, 1 announced)
TSI:
KRT in-kernel 2001:abcd:100::36/128 -> {indirect(131072)}
Page 0 idx 0 Type 1 val 9364cb0
    Flags: Nexthop Change
    Nexthop: Self
    Localpref: 100
    AS path: [64512] 64515 ?
    Communities:
Path 2001:abcd:100::36 from 11.11.11.29 Vector len 4.  Val: 0
        *BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x9334dd8
                Next-hop reference count: 3
                Source: 10.11.11.29
                Next hop type: Router, Next hop index: 696
                Next hop: 172.17.1.33 via em0.5, selected
                Label operation: Push 19, Push 299904(top)
                Label TTL action: prop-ttl, prop-ttl(top)
                Protocol next hop: ::ffff:10.11.11.29
                Push 19
                Indirect next hop: 94b01f8 131072
                State: 
                Local AS:   64512 Peer AS:   64512
                Age: 55:57      Metric2: 1 
                Task: BGP_100.10.11.11.29+35003
                Announcement bits (3): 0-KRT 1-BGP_RT_Background 2-Resolve tree 3 
                AS path: 100 ?
                Accepted
                Route Label: 19
                Localpref: 100
                Router ID: 10.11.11.29
                Indirect next hops: 1
                        Protocol next hop: ::ffff:10.11.11.29 Metric: 1
                        Push 19
                        Indirect next hop: 94b01f8 131072
                        Indirect path forwarding next hops: 1
                                Next hop type: Router
                                Next hop: 172.17.1.33 via em0.5
                        ::ffff:10.11.11.29/128 Originating RIB: inet6.3
                          Metric: 1                       Node path count: 1
                          Forwarding nexthops: 1
                                Nexthop: 172.17.1.33 via em0.5
RR64515# run show route ::ffff:10.11.11.29 
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
::ffff:10.11.11.29/128
                   *[LDP/9] 01:03:02, metric 1
                    > to 172.17.1.33 via em0.5, Push 299904
RR64515# run show ldp path 10.11.11.29 
Output Session (label)          Input Session (label)
10.33.33.36:0(299824)           10.33.33.33:0(299904)
10.33.33.33:0(299824)
  Attached route:  10.11.11.29/32, Ingress route
 
PE64515# run show route table inet6.0 2001:ABCD:100::36/128 extensive
inet6.0: 8 destinations, 10 routes (8 active, 0 holddown, 0 hidden)
2001:abcd:100::36/128 (1 entry, 1 announced)
TSI:
KRT in-kernel 2001:abcd:100::36/128 -> {indirect(131070)}
        *BGP    Preference: 170/-101
                Next hop type: Indirect
                Address: 0x9334b08
                Next-hop reference count: 9
                Source: 10.33.33.29
                Next hop type: Router, Next hop index: 708
                Next hop: 172.17.0.29 via em1.10, selected
                Label operation: Push 2
                Label TTL action: prop-ttl
                Protocol next hop: ::ffff:10.33.33.29
                Push 2
                Indirect next hop: 948c000 131070
                State: 
                Local AS:   64515 Peer AS:   64515
                Age: 44:39      Metric2: 1 
                Task: BGP_300.10.33.33.29+179
                Announcement bits (2): 0-KRT 2-Resolve tree 3 
                AS path: 64515 ?
                Accepted                
                Route Label: 2
                Localpref: 100
                Router ID: 10.33.33.29
                Indirect next hops: 1
                        Protocol next hop: ::ffff:10.33.33.29 Metric: 1
                        Push 2
                        Indirect next hop: 948c000 131070
                        Indirect path forwarding next hops: 1
                                Next hop type: Router
                                Next hop: 172.17.0.29 via em1.10
                        ::ffff:10.33.33.29/128 Originating RIB: inet6.3
                          Metric: 1                       Node path count: 1
                          Forwarding nexthops: 1
                                Nexthop: 172.17.0.29 via em1.10
# run show route ::ffff:10.33.33.29/128 
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
::ffff:10.33.33.29/128
                   *[LDP/9] 01:46:54, metric 1
                    > to 172.17.0.29 via em1.10
 
PE64515 Pushes label 2 because of the bgp protocol configuration
    family inet6 {
        labeled-unicast {
            explicit-null;
        }
                      