cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
11319
Views
10
Helpful
1
Comments
Frank Heinig
Cisco Employee
Cisco Employee

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:

  • Participate in V4 IGP to establish internal reachability inside the MPLS cloud
  • Participate in LDP for binding V4 labels
  • Run MP-BGP4 (Multi-Protocol iBGP) to advertise v6 reachability and distribute V6 labels among them

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

  • Run IPv6 routing protocols (eBGP6, Static, ISIS v6, OSPF v3 , EIGRP v6, iBGP) with CE routers to advertise V6 reachability learnt from their peers over the MPLS cloud
  • IGP protocol between CE to PE has to be redistributed into MP-iBGP for end to end reachability


6PE with iBGP between CE and PE

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:


Screen Shot 2013-10-17 at 11.32.29.png

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

Comments
andresfcl
Level 1
Level 1

.

@xthuijs

 

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.

 

 

@xthuijs

 

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#

  

 

Getting Started

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:

Quick Links