IPv6 over MPLS
We have a standard MPLS service provider network running with IPv4 IGP, LDP and MP-BGP. Now we want to connect customer’s IPv6 sites over MPLS service provider network. One option is to run IPv6 IGP, LDPv6 (LDP for IPv6 routes) and MP-BGP in service provider network. Currently LDPv6 is in draft stage.
Another approach is to maintain the MPLS network as it stands, but implement mechanisms on the PE routers that allow to transport IPv6 packets as normal labeled packets on the P routers. This is exactly what the 6PE and 6VPE solutions do.
Both 6PE and 6VPE exploit the fact that as long as a packet somehow can be forwarded along an LSP from ingress to egress PE, P routers do not care about anything but the transport label. When using a BGP route in an IPv4 MPLS VPN (or just IPv4 over MPLS), the top label is found by looking at the BGP next hop of the route. The ingress looks at this IPv4 next hop, finds the label associated with it, and by using this label, the packet will be forwarded to the egress PE.
The difference between 6PE and 6VPE is whether the IPv6 routes are in the global routing table or in VRFs. 6PE serves the same role as plain IPv4 over MPLS, and 6VPE is the equivalent of an MPLS VPN.
6PE Design
- 6PE is defined in RFC4798
- Service provider network is with IPv4 IGP, LDP and MP-BGP
- Service provider core (P Routers) is BGP free and not running IPv6
- PE routers are dual stack, running both IPv4 and IPv6
- PE routers stores IPv6 routing information in global routing table from all IPv6 customers
6VPE Design
- 6VPE is defined in RFC4659
- Service provider network is with IPv4 IGP, LDP and MP-BGP
- Service provider core is BGP free and not running IPv4
- PE routers are dual stack, running both IPv4 and IPv6
- PE routers stores IPv6 routing information in separate VRF for each IPv6 customer, providing MPLS VPN for IPv6
We will use following network topology to configure 6PE and 6VPE.
6PE Configuration
When using 6PE, a CE router is connected to an interface on the PE router, which is in the global IPv6 routing table. There is an MPLS network with BGP, an IGP and LDP between PE routers. The IGP and LDP only needs to be IPv4 capable. However, the BGP session need to be activated for the IPv6 unicast address family to make it possible to advertise IPv6 prefixes from PE to PE. Additionally, BGP needs to attach a label to each IPv6 prefix with the ‘send label’ command. R1 - PE1 Router hostname R1 ! ip cef ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 10.1.0.1 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 ip address 10.1.13.1 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! interface FastEthernet1/0 no ip address ipv6 address 2001:192:168:14::1/64 ! interface FastEthernet1/1 no ip address ipv6 address 2001:172:16:15::1/64 ! router ospf 1 router-id 10.1.0.1 ! router bgp 100 bgp router-id 10.1.0.1 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.1.0.2 remote-as 100 neighbor 10.1.0.2 update-source Loopback0 neighbor 2001:172:16:15::5 remote-as 65005 neighbor 2001:192:168:14::4 remote-as 65004 ! address-family ipv4 exit-address-family ! address-family ipv6 redistribute connected neighbor 10.1.0.2 activate neighbor 10.1.0.2 send-label neighbor 2001:172:16:15::5 activate neighbor 2001:172:16:15::5 route-map CUST-XYZ out neighbor 2001:192:168:14::4 activate neighbor 2001:192:168:14::4 route-map CUST-ABC out exit-address-family ! ipv6 prefix-list CUST-ABC seq 5 permit 2001:192::/32 le 64 ! ipv6 prefix-list CUST-XYZ seq 5 permit 2001:172::/32 le 64 ! route-map CUST-XYZ permit 10 match ipv6 address prefix-list CUST-XYZ ! route-map CUST-ABC permit 10 match ipv6 address prefix-list CUST-ABC ! R2 - PE2 Router hostname R2 ! no ip domain lookup ip cef ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 10.1.0.2 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 ip address 10.1.23.2 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! interface FastEthernet1/0 no ip address ipv6 address 2001:192:168:26::2/64 ! interface FastEthernet1/1 no ip address ipv6 address 2001:172:16:27::2/64 ! router ospf 1 router-id 10.1.0.2 ! router bgp 100 bgp router-id 10.1.0.2 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.1.0.1 remote-as 100 neighbor 10.1.0.1 update-source Loopback0 neighbor 2001:172:16:27::7 remote-as 65007 neighbor 2001:192:168:26::6 remote-as 65006 ! address-family ipv4 exit-address-family ! address-family ipv6 redistribute connected neighbor 10.1.0.1 activate neighbor 10.1.0.1 send-label neighbor 2001:172:16:27::7 activate neighbor 2001:172:16:27::7 route-map CUST-XYZ out neighbor 2001:192:168:26::6 activate neighbor 2001:192:168:26::6 route-map CUST-ABC out exit-address-family ! ipv6 prefix-list CUST-ABC seq 5 permit 2001:192::/32 le 64 ! ipv6 prefix-list CUST-XYZ seq 5 permit 2001:172::/32 le 64 ! route-map CUST-XYZ permit 10 match ipv6 address prefix-list CUST-XYZ ! route-map CUST-ABC permit 10 match ipv6 address prefix-list CUST-ABC ! R3 - P Router hostname R3 ! ip cef ! interface Loopback0 ip address 10.1.0.3 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 ip address 10.1.13.3 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! interface FastEthernet0/1 ip address 10.1.23.3 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! router ospf 1 router-id 10.1.0.3 ! R4 - Customer ABC Site 1 hostname R4 ! ipv6 unicast-routing ipv6 cef ! interface FastEthernet0/0 no ip address ipv6 address 2001:192:168:14::4/64 ! interface FastEthernet0/1 no ip address ipv6 address 2001:192:168:4::4/64 ! router bgp 65004 bgp router-id 4.4.4.4 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 2001:192:168:14::1 remote-as 100 ! address-family ipv4 exit-address-family ! address-family ipv6 network 2001:192:168:4::/64 neighbor 2001:192:168:14::1 activate exit-address-family ! R5 - Customer XYZ Site 1 hostname R5 ! ipv6 unicast-routing ipv6 cef ! interface FastEthernet0/0 no ip address ipv6 address 2001:172:16:15::5/64 ! interface FastEthernet0/1 no ip address ipv6 address 2001:172:16:5::5/64 ! router bgp 65005 bgp router-id 5.5.5.5 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 2001:172:16:15::1 remote-as 100 ! address-family ipv4 exit-address-family ! address-family ipv6 network 2001:172:16:5::/64 neighbor 2001:172:16:15::1 activate exit-address-family ! R6 - Customer ABC Site 2 hostname R6 ! ipv6 unicast-routing ipv6 cef ! interface FastEthernet0/0 no ip address ipv6 address 2001:192:168:26::6/64 ! interface FastEthernet0/1 no ip address ipv6 address 2001:192:168:6::6/64 ! router bgp 65006 bgp router-id 6.6.6.6 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 2001:192:168:26::2 remote-as 100 ! address-family ipv4 exit-address-family ! address-family ipv6 network 2001:192:168:6::/64 neighbor 2001:192:168:26::2 activate exit-address-family ! R7 - Customer XYZ Site 2 hostname R7 ! ipv6 unicast-routing ipv6 cef ! interface FastEthernet0/0 no ip address ipv6 address 2001:172:16:27::7/64 ! interface FastEthernet0/1 no ip address ipv6 address 2001:172:16:7::7/64 ! router bgp 65007 bgp router-id 7.7.7.7 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 2001:172:16:27::2 remote-as 100 ! address-family ipv4 exit-address-family ! address-family ipv6 network 2001:172:16:7::/64 neighbor 2001:172:16:27::2 activate exit-address-family !
Verification
PE Router BGP Peering !! -- PE1 (R1) has IPv6 BGP+Label peering with PE2 (R2) -- !! !! -- PE1 (R1) has IPv6 BGP peering with CE4 (R4) -- !! !! -- PE1 (R1) has IPv6 BGP peering with CE5 (R5) -- !! R1#show bgp ipv6 unicast summary BGP router identifier 10.1.0.1, local AS number 100 BGP table version is 9, main routing table version 9 8 network entries using 1376 bytes of memory 8 path entries using 704 bytes of memory 6/6 BGP path/bestpath attribute entries using 816 bytes of memory 4 BGP AS-PATH entries using 96 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 2992 total bytes of memory BGP activity 8/0 prefixes, 8/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.0.2 4 100 179 181 9 0 0 02:21:48 4 2001:172:16:15::5 4 65005 161 178 9 0 0 02:22:05 1 2001:192:168:14::4 4 65004 163 176 9 0 0 02:22:03 1 The PE1 router will receive IPv6 routes with a label and a next hop of ::FFFF:10.1.0.2. This next hop is an “IPv4-mapped IPv6 address” and it tells the router that if it were to use that IPv6 BGP route, it should use the transport label for the IPv4 address 10.1.0.2. Similarly, PE2 router will receive IPv6 routes with a label and a next hop of ::FFFF:10.1.0.1. R1#show bgp ipv6 unicast BGP table version is 9, local router ID is 10.1.0.1 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, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 2001:172:16:5::/64 2001:172:16:15::5 0 0 65005 i *>i 2001:172:16:7::/64 ::FFFF:10.1.0.2 0 100 0 65007 i *> 2001:172:16:15::/64 :: 0 32768 ? *>i 2001:172:16:27::/64 ::FFFF:10.1.0.2 0 100 0 ? *> 2001:192:168:4::/64 2001:192:168:14::4 0 0 65004 i *>i 2001:192:168:6::/64 ::FFFF:10.1.0.2 0 100 0 65006 i *> 2001:192:168:14::/64 :: 0 32768 ? *>i 2001:192:168:26::/64 ::FFFF:10.1.0.2 0 100 0 ? R2#show bgp ipv6 unicast summary BGP router identifier 10.1.0.2, local AS number 100 BGP table version is 9, main routing table version 9 8 network entries using 1376 bytes of memory 8 path entries using 704 bytes of memory 6/6 BGP path/bestpath attribute entries using 816 bytes of memory 4 BGP AS-PATH entries using 96 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 2992 total bytes of memory BGP activity 8/0 prefixes, 8/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.0.1 4 100 183 181 9 0 0 02:23:38 4 2001:172:16:27::7 4 65007 165 176 9 0 0 02:23:51 1 2001:192:168:26::6 4 65006 163 175 9 0 0 02:23:50 1 R2#show bgp ipv6 unicast BGP table version is 9, local router ID is 10.1.0.2 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, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 2001:172:16:5::/64 ::FFFF:10.1.0.1 0 100 0 65005 i *> 2001:172:16:7::/64 2001:172:16:27::7 0 0 65007 i *>i 2001:172:16:15::/64 ::FFFF:10.1.0.1 0 100 0 ? *> 2001:172:16:27::/64 :: 0 32768 ? *>i 2001:192:168:4::/64 ::FFFF:10.1.0.1 0 100 0 65004 i *> 2001:192:168:6::/64 2001:192:168:26::6 0 0 65006 i *>i 2001:192:168:14::/64 ::FFFF:10.1.0.1 0 100 0 ? *> 2001:192:168:26::/64 :: 0 32768 ? !! -- Verify BGP Label Assignments -- !! R1#show bgp ipv6 unicast labels Network Next Hop In label/Out label 2001:172:16:5::/64 2001:172:16:15::5 19/nolabel 2001:172:16:7::/64 ::FFFF:10.1.0.2 nolabel/19 2001:172:16:15::/64 :: 20/nolabel 2001:172:16:27::/64 ::FFFF:10.1.0.2 nolabel/20 2001:192:168:4::/64 2001:192:168:14::4 22/nolabel 2001:192:168:6::/64 ::FFFF:10.1.0.2 nolabel/22 2001:192:168:14::/64 :: 21/nolabel 2001:192:168:26::/64 ::FFFF:10.1.0.2 nolabel/21 R2#show bgp ipv6 unicast labels Network Next Hop In label/Out label 2001:172:16:5::/64 ::FFFF:10.1.0.1 nolabel/19 2001:172:16:7::/64 2001:172:16:27::7 19/nolabel 2001:172:16:15::/64 ::FFFF:10.1.0.1 nolabel/20 2001:172:16:27::/64 :: 20/nolabel 2001:192:168:4::/64 ::FFFF:10.1.0.1 nolabel/22 2001:192:168:6::/64 2001:192:168:26::6 22/nolabel 2001:192:168:14::/64 ::FFFF:10.1.0.1 nolabel/21 2001:192:168:26::/64 :: 21/nolabel !! -- Customer ABC Site-2 LAN IPv6 network reachability from PE1-R1 via MPLS path -- !! R1#show bgp ipv6 unicast 2001:192:168:6::/64 BGP routing table entry for 2001:192:168:6::/64, version 9 Paths: (1 available, best #1, table default) Advertised to update-groups: 3 Refresh Epoch 5 65006 ::FFFF:10.1.0.2 (metric 3) from 10.1.0.2 (10.1.0.2) Origin IGP, metric 0, localpref 100, valid, internal, best mpls labels in/out nolabel/22 R1#sh ipv6 cef 2001:192:168:6::/64 detail 2001:192:168:6::/64, epoch 0, flags rib defined all labels recursive via 10.1.0.2 label 22 nexthop 10.1.13.3 FastEthernet0/0 label 16 !! -- Ping/Traceroute from R4 Customer ABC Site-1 to Site-2 -- !! !! -- via MPLS provider network -- !! R4#show ipv6 route IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, l - LISP C 2001:192:168:4::/64 [0/0] via FastEthernet0/1, directly connected L 2001:192:168:4::4/128 [0/0] via FastEthernet0/1, receive B 2001:192:168:6::/64 [20/0] via FE80::C803:31FF:FE5C:1C, FastEthernet0/0 C 2001:192:168:14::/64 [0/0] via FastEthernet0/0, directly connected L 2001:192:168:14::4/128 [0/0] via FastEthernet0/0, receive B 2001:192:168:26::/64 [20/0] via FE80::C803:31FF:FE5C:1C, FastEthernet0/0 L FF00::/8 [0/0] via Null0, receive R4#ping 2001:192:168:6::6 source 2001:192:168:4::4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:192:168:6::6, timeout is 2 seconds: Packet sent with a source address of 2001:192:168:4::4 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 76/93/104 ms R4#traceroute Protocol [ip]: ipv6 Target IPv6 address: 2001:192:168:6::6 Source address: 2001:192:168:4::4 Insert source routing header? [no]: Numeric display? [no]: Timeout in seconds [3]: Probe count [3]: Minimum Time to Live [1]: Maximum Time to Live [30]: Priority [0]: Port Number [0]: Type escape sequence to abort. Tracing the route to 2001:192:168:6::6 1 2001:192:168:14::1 [AS 100] 72 msec 44 msec 24 msec 2 ::FFFF:10.1.13.3 [MPLS: Labels 16/22 Exp 0] 92 msec 88 msec 88 msec 3 2001:192:168:26::2 [AS 100] [MPLS: Label 22 Exp 0] 76 msec 56 msec 68 msec 4 2001:192:168:26::6 [AS 100] 92 msec 96 msec 88 msec
6VPE Configuration
!! -- Only PE routers configuration will be changed -- !! !! -- CE facing interface on PE router will be in a VRF -- !! R1 - PE1 Router hostname R1 ! vrf definition CUST-ABC rd 100:1 ! address-family ipv6 route-target export 100:1 route-target import 100:1 exit-address-family ! vrf definition CUST-XYZ rd 100:2 ! address-family ipv6 route-target export 100:2 route-target import 100:2 exit-address-family ! ip cef ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 10.1.0.1 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 ip address 10.1.13.1 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! interface FastEthernet1/0 vrf forwarding CUST-ABC no ip address ipv6 address 2001:192:168:14::1/64 ! interface FastEthernet1/1 vrf forwarding CUST-XYZ no ip address ipv6 address 2001:172:16:15::1/64 ! router ospf 1 router-id 10.1.0.1 ! router bgp 100 bgp router-id 10.1.0.1 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.1.0.2 remote-as 100 neighbor 10.1.0.2 update-source Loopback0 ! address-family ipv4 exit-address-family ! address-family vpnv6 neighbor 10.1.0.2 activate neighbor 10.1.0.2 send-community extended exit-address-family ! address-family ipv6 vrf CUST-ABC redistribute connected neighbor 2001:192:168:14::4 remote-as 65004 neighbor 2001:192:168:14::4 activate exit-address-family ! address-family ipv6 vrf CUST-XYZ redistribute connected neighbor 2001:172:16:15::5 remote-as 65005 neighbor 2001:172:16:15::5 activate exit-address-family ! R2 - PE2 Router hostname R2 ! vrf definition CUST-ABC rd 100:1 ! address-family ipv6 route-target export 100:1 route-target import 100:1 exit-address-family ! vrf definition CUST-XYZ rd 100:2 ! address-family ipv6 route-target export 100:2 route-target import 100:2 exit-address-family ! ip cef ipv6 unicast-routing ipv6 cef ! interface Loopback0 ip address 10.1.0.2 255.255.255.255 ip ospf 1 area 0 ! interface FastEthernet0/0 ip address 10.1.23.2 255.255.255.0 ip ospf network point-to-point ip ospf 1 area 0 mpls ip ! interface FastEthernet1/0 vrf forwarding CUST-ABC no ip address ipv6 address 2001:192:168:26::2/64 ! interface FastEthernet1/1 vrf forwarding CUST-XYZ no ip address ipv6 address 2001:172:16:27::2/64 ! router ospf 1 router-id 10.1.0.2 ! router bgp 100 bgp router-id 10.1.0.2 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.1.0.1 remote-as 100 neighbor 10.1.0.1 update-source Loopback0 ! address-family ipv4 exit-address-family ! address-family vpnv6 neighbor 10.1.0.1 activate neighbor 10.1.0.1 send-community extended exit-address-family ! address-family ipv6 vrf CUST-ABC redistribute connected neighbor 2001:192:168:26::6 remote-as 65006 neighbor 2001:192:168:26::6 activate exit-address-family ! address-family ipv6 vrf CUST-XYZ redistribute connected neighbor 2001:172:16:27::7 remote-as 65007 neighbor 2001:172:16:27::7 activate exit-address-family !
Verification
!! -- VRF status on PE Routers -- !! R1#show vrf Name Default RD Protocols Interfaces CUST-ABC 100:1 ipv6 Fa1/0 CUST-XYZ 100:2 ipv6 Fa1/1 R2#show vrf Name Default RD Protocols Interfaces CUST-ABC 100:1 ipv6 Fa1/0 CUST-XYZ 100:2 ipv6 Fa1/1 !! -- BGP Peering on PE Routers -- !! R1#show bgp vpnv6 unicast all summary BGP router identifier 10.1.0.1, local AS number 100 BGP table version is 13, main routing table version 13 8 network entries using 1536 bytes of memory 8 path entries using 736 bytes of memory 10/8 BGP path/bestpath attribute entries using 1440 bytes of memory 4 BGP AS-PATH entries using 96 bytes of memory 2 BGP extended community entries using 48 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 3856 total bytes of memory BGP activity 16/8 prefixes, 16/8 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.0.2 4 100 28 29 13 0 0 00:19:42 4 2001:172:16:15::5 4 65005 29 30 13 0 0 00:22:35 1 2001:192:168:14::4 4 65004 30 32 13 0 0 00:23:04 1 R2#show bgp vpnv6 unicast all summary BGP router identifier 10.1.0.2, local AS number 100 BGP table version is 13, main routing table version 13 8 network entries using 1536 bytes of memory 8 path entries using 736 bytes of memory 10/8 BGP path/bestpath attribute entries using 1440 bytes of memory 4 BGP AS-PATH entries using 96 bytes of memory 2 BGP extended community entries using 48 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 3856 total bytes of memory BGP activity 8/0 prefixes, 8/0 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.0.1 4 100 30 28 13 0 0 00:19:57 4 2001:172:16:27::7 4 65007 25 28 13 0 0 00:18:58 1 2001:192:168:26::6 4 65006 26 27 13 0 0 00:19:23 1 !! -- BGP Table on PE Routers -- !! R1#show bgp vpnv6 unicast all BGP table version is 13, local router ID is 10.1.0.1 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, 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: 100:1 (default for vrf CUST-ABC) *> 2001:192:168:4::/64 2001:192:168:14::4 0 0 65004 i *>i 2001:192:168:6::/64 ::FFFF:10.1.0.2 0 100 0 65006 i *> 2001:192:168:14::/64 :: 0 32768 ? *>i 2001:192:168:26::/64 ::FFFF:10.1.0.2 0 100 0 ? Route Distinguisher: 100:2 (default for vrf CUST-XYZ) *> 2001:172:16:5::/64 2001:172:16:15::5 0 0 65005 i *>i 2001:172:16:7::/64 ::FFFF:10.1.0.2 0 100 0 65007 i *> 2001:172:16:15::/64 :: 0 32768 ? *>i 2001:172:16:27::/64 ::FFFF:10.1.0.2 0 100 0 ? R2#show bgp vpnv6 unicast all BGP table version is 13, local router ID is 10.1.0.2 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, 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: 100:1 (default for vrf CUST-ABC) *>i 2001:192:168:4::/64 ::FFFF:10.1.0.1 0 100 0 65004 i *> 2001:192:168:6::/64 2001:192:168:26::6 0 0 65006 i *>i 2001:192:168:14::/64 ::FFFF:10.1.0.1 0 100 0 ? *> 2001:192:168:26::/64 :: 0 32768 ? Route Distinguisher: 100:2 (default for vrf CUST-XYZ) *>i 2001:172:16:5::/64 ::FFFF:10.1.0.1 0 100 0 65005 i *> 2001:172:16:7::/64 2001:172:16:27::7 0 0 65007 i *>i 2001:172:16:15::/64 ::FFFF:10.1.0.1 0 100 0 ? *> 2001:172:16:27::/64 :: 0 32768 ? !! -- Customer IPv6 routes are not in Global RIB -- !! R1#show ipv6 route IPv6 Routing Table - default - 1 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, l - LISP L FF00::/8 [0/0] via Null0, receive R2#show ipv6 route IPv6 Routing Table - default - 1 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, l - LISP L FF00::/8 [0/0] via Null0, receive !! -- MPLS VPN Labels on PE Routers -- !! R1#sh mpls forwarding-table vrf CUST-ABC Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 23 No Label 2001:192:168:14::/64[V] \ 0 aggregate/CUST-ABC 24 No Label 2001:192:168:4::/64[V] \ 1922 Fa1/0 FE80::C805:19FF:FEAC:8 R1#sh mpls forwarding-table vrf CUST-XYZ Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 25 No Label 2001:172:16:15::/64[V] \ 0 aggregate/CUST-XYZ 26 No Label 2001:172:16:5::/64[V] \ 0 Fa1/1 FE80::C800:17FF:FE58:8 R2#sh mpls forwarding-table vrf CUST-ABC Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 19 No Label 2001:192:168:26::/64[V] \ 0 aggregate/CUST-ABC 20 No Label 2001:192:168:6::/64[V] \ 1374 Fa1/0 FE80::C801:17FF:FE58:8 R2#sh mpls forwarding-table vrf CUST-XYZ Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 21 No Label 2001:172:16:7::/64[V] \ 0 Fa1/1 FE80::C802:2BFF:FEF0:8 22 No Label 2001:172:16:27::/64[V] \ 0 aggregate/CUST-XYZ !! -- Customer ABC Site-2 LAN IPv6 network reachability from PE1 -- !! R1#show bgp vpnv6 unicast all 2001:192:168:6::/64 BGP routing table entry for [100:1]2001:192:168:6::/64, version 7 Paths: (1 available, best #1, table CUST-ABC) Advertised to update-groups: 1 Refresh Epoch 1 65006 ::FFFF:10.1.0.2 (metric 3) from 10.1.0.2 (10.1.0.2) Origin IGP, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:1 mpls labels in/out nolabel/20 <<<<< VPN Label R1#show ipv6 cef vrf CUST-ABC 2001:192:168:6::/64 detail 2001:192:168:6::/64, epoch 0, flags rib defined all labels recursive via 10.1.0.2 label 20 nexthop 10.1.13.3 FastEthernet0/0 label 16 <<<<< Transport Label !! -- Ping/Traceroute from Customer ABC Site 1 to Site 2 LAN --!! R4#ping 2001:192:168:6::6 source 2001:192:168:4::4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:192:168:6::6, timeout is 2 seconds: Packet sent with a source address of 2001:192:168:4::4 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 112/129/136 ms R4#traceroute Protocol [ip]: ipv6 Target IPv6 address: 2001:192:168:6::6 Source address: 2001:192:168:4::4 Insert source routing header? [no]: Numeric display? [no]: Timeout in seconds [3]: Probe count [3]: Minimum Time to Live [1]: Maximum Time to Live [30]: Priority [0]: Port Number [0]: Type escape sequence to abort. Tracing the route to 2001:192:168:6::6 1 2001:192:168:14::1 [AS 100] 44 msec 40 msec 36 msec 2 ::FFFF:10.1.13.3 [MPLS: Labels 16/20 Exp 0] 120 msec 136 msec 132 msec 3 * 2001:192:168:26::2 108 msec 104 msec 4 2001:192:168:26::6 [AS 100] 136 msec 128 msec 132 msec *VPN Label = 20 *Transport Label = 16