on 09-18-2020 11:19 AM
6PE Overview
The Cisco 6PE solution enables IPv6 domains to communicate with each other over an MPLS IPv4 core network. MP-BGP in the IPv4 network is used to exchange IPv6 reachability information along with a label for each IPv6 prefix announced. 6PE routers are dual-stack routers i.e. running IPv6 with the customers and IPv4 in the core.
6PE routers do the following:
The labels can be distributed as follows:
Per-Prefix label - The 6PE node distributes labels for each IPv6 prefix learnt from interfaces connected to CE routers
6PE with iBGP between PE and CE is supported since IOS-XR 4.0. Unlike IOS an important mandatory configuration command is required in IOS-XR. It is required to configure "ibgp policy out enforce-modifications" under router bgp <AS> to allow changing attributes on the RR for reflected routes.
The following is serving as example:
Configuration of PE-1(RR):
router bgp 1
bgp router-id 192.168.0.2
ibgp policy out enforce-modifications
address-family ipv4 unicast
!
address-family ipv6 unicast
allocate-label all
!
neighbor 2001:12::2
remote-as 1
description iBGP peer to CE-A
address-family ipv6 unicast
route-policy pass-all in
route-reflector-client
route-policy pass-all out
!
!
neighbor 192.168.0.1
remote-as 1
description iBGP peer to P2
update-source Loopback0
address-family ipv6 labeled-unicast
route-policy pass-all in
route-policy pass-all out
next-hop-self
!
!
!
Example prefix received from the RRC CE-A:
RP/0/0/CPU0:PE-1#show bgp ipv6 labeled-unicast 65:26::1:0/112
Thu Oct 17 17:00:29.950 UTC
BGP routing table entry for 65:26::1:0/112
Versions:
Process bRIB/RIB SendTblVer
Speaker 3 3
Local Label: 16005
Last Modified: Oct 17 15:35:29.659 for 01:25:00
Paths: (1 available, best #1)
Advertised to peers (in unique update groups):
192.168.0.1
Path #1: Received by speaker 0
Advertised to peers (in unique update groups):
192.168.0.1
Local, (Received from a RR-client)
2001:12::2 from 2001:12::2 (192.168.0.4)
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 3
RP/0/0/CPU0:PE-2#sh bgp ipv6 labeled-unicast 65:26::1:0/112
Thu Oct 17 16:57:18.393 UTC
BGP routing table entry for 65:26::1:0/112
Versions:
Process bRIB/RIB SendTblVer
Speaker 3 3
Last Modified: Oct 17 16:36:20.733 for 00:20:57
Paths: (1 available, best #1)
Advertised to peers (in unique update groups):
2001:10::2
Path #1: Received by speaker 0
Advertised to peers (in unique update groups):
2001:10::2
Local
192.168.0.2 (metric 1) from 192.168.0.2 (192.168.0.4)
Received Label 16005
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 3
Originator: 192.168.0.4, Cluster list: 192.168.0.2
RP/0/0/CPU0:CE-B#sh bgp ipv6 unicast 65:26::1:0/112
Thu Oct 17 17:28:51.253 UTC
BGP routing table entry for 65:26::1:0/112
Versions:
Process bRIB/RIB SendTblVer
Speaker 3 3
Last Modified: Oct 17 17:28:45.753 for 00:00:05
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
192.168.0.2 from 2001:10::1 (192.168.0.4)
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 3
Originator: 192.168.0.4, Cluster list: 192.168.0.1, 192.168.0.2
RP/0/0/CPU0:RR-client-B#show route ipv6
Thu Oct 17 17:29:15.082 UTC
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
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, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
U - per-user static route, o - ODR, L - local, G - DAGR
A - access/subscriber, a - Application route, - FRR Backup path
Gateway of last resort is not set
B 65:26::1:0/112
[200/0] via ::ffff:192.168.0.2 (nexthop in vrf default), 00:00:28
C 2001:10::/64 is directly connected,
00:36:38, GigabitEthernet0/0/0/0
L 2001:10::2/128 is directly connected,
00:36:38, GigabitEthernet0/0/0/0
.
Hello Xander,
I currently deploy a solution using TE tunnels to transport IPV6 traffic over native IPV4 backbone fow a big SP on south america.
And some of the traffic gets dropped since is not being resolved on cef, and there are other tunnels were the 6PE solutions works and end on the same PE using a different tunnel.
The idea of using different tunnels comes from the need of the client of use multiple international circuits of different capacities, when the bgp prefix is received over the labeled ipv6 unicast session at the Border router the next hop is changed to point a IP address reachable trough the tunnels and we use rules based on communities in order to identifu the traffic and especify the tunnels, that portion works perfect, but some of the tunnels do not forward any traffic at all every prefix that gets installed to use the tunnnels gets unresolved cef adj.
RP/0/RP1/CPU0:XXXXXXXX#show cef ipv6 2800:370:20::1/48 detail
Mon Nov 27 20:32:36.270 GMT
2800:370:20::/48, version 26421917, internal 0x14004001 (ptr 0x9e9d37f4) [1], 0x0 (0x0), 0x410 (0xa61339a0)
Updated Nov 26 03:29:34.852
Prefix Len 48, traffic index 0, precedence routine (0), priority 4
gateway array (0x9d1472c0) reference count 27, flags 0x8072, source rib (5), 0 backups
[1 type 1 flags 0x290111 (0x9dc23b58) ext 0x0 (0x0)]
LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
via ::ffff:10.9.47.100, 0 dependencies, recursive [flags 0x6010]
path-idx 0 [0x0 0x0]
next hop VRF - 'default', table - 0xe0000000
unresolved
labels imposed {24111}
Load distribution: 0 (refcount 1)
Hash OK Interface Address
0 Y Unknown drop
RP/0/RP1/CPU0:MIANAPB02#show route 10.9.47.100
Mon Nov 27 20:33:07.568 GMT
Routing entry for 10.9.47.100/32
Known via "static", distance 1, metric 0 (connected)
Installed Nov 27 20:28:40.826 for 00:04:27
Routing Descriptor Blocks
directly connected, via tunnel-te19614
Route metric is 0
No advertising protos.
RP/0/RP1/CPU0:XXXXXXX#show cef 10.9.47.100 detail
Mon Nov 27 20:33:23.373 GMT
10.9.47.100/32, version 145676, attached, internal 0x4004081 (ptr 0xa128c7d4) [1], 0x0 (0x9d2a60c8), 0x440 (0xa613c848)
Updated Nov 27 20:28:40.866
Prefix Len 32, traffic index 0, precedence routine (0), priority 3
gateway array (0x9d04c114) reference count 3, flags 0xd0, source lsd (3), 1 backups
[3 type 4 flags 0x10101 (0x9dc226d0) ext 0x0 (0x0)]
LW-LDI[type=1, refc=1, ptr=0x9d2a60c8, sh-ldi=0x9dc226d0]
via tunnel-te19614, 3 dependencies, weight 0, class 0 [flags 0x8]
path-idx 0 [0x9dbc069c 0x9db4b758]
local adjacency
local label 1048467 labels imposed {ImplNull}
Load distribution: 0 (refcount 3)
Hash OK Interface Address
0 Y tunnel-te19614 point2point
RP/0/RP1/CPU0:XXXXXXX#
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: