6pe - Darren's Blog
6pe - Darren's Blog
Darren's Blog
Google Engineer. Dual CCIE #38070. JNCIE-SP #2227
Tag: 6pe
This time each CPE is going to be connected to a VRF on the PE router. I’m only using
one customer for this post, but this is regular L3VPN so scale as you see fit.
Major issue with the Netiron. It doesn’t support the VPNV6 adress family :( – I’m
using the latest 5.4b code and nothing. So this means this is a Junos/IOS lab only
CPE config
https://mellowd.co.uk/ccie/?tag=6pe 1/11
11/28/2016 6pe | Darren's Blog
CPE config
All the CPEs are running BGP with their directly connected PE routers. All are
advertising reachability to their IPv6 loopback addresses to their PE router. I’m only
showing R6’s config as the others are the same with different addresses:
interfaces {
ae1 {
unit 36 {
vlan-id 36;
family inet6 {
address 2001:db8:36::6/64;
}
}
lo0 {
unit 6 {
family inet6 {
address 2001:db8:6666::6666/128;
}
}
}
}
protocols {
bgp {
group PROVIDER {
family inet6 {
unicast;
}
export LOOPBACK;
neighbor 2001:db8:36::3 {
peer-as 100;
}
}
}
}
policy-options {
policy-statement LOOPBACK {
from {
protocol direct;
route-filter 2001:db8:6666::6666/128 exact;
}
then accept;
}
}
routing-options {
router-id 6.6.6.6;
autonomous-system 65123 loops 2;
}
You’ll need to statically define your router-id for all sites. If a router is running ONLY
IPv6, or your VRF ONLY has a IPv6 address, then the router has no IPv4 address to
https://mellowd.co.uk/ccie/?tag=6pe 2/11
11/28/2016 6pe | Darren's Blog
choose it’s router-id from. This will be a common theme throughout as you’ll also
need to set router-ids in IPv6-only VRF instances.
PE config
Junos
First we need to set up the VRF to the customer and run BGP. We then need to enable
the VPNV6 family in BGP. I’m going to remove the old IPv6 unicast config used in
part one of this series.
https://mellowd.co.uk/ccie/?tag=6pe 3/11
11/28/2016 6pe | Darren's Blog
IPv6 address family running with the customer. VPNv6 address family running with
IOS PE R4. Note that I have to use ‘advertise-peer-as’ on R3 as Junos will not advertise
a route to an AS that already has the AS number in the path by default.
IOS
The main issue with IOS is that I cannot statically definate a BGP router-id if I’m
ONLY running IPv6. BGP requires a router-id on the x.x.x.x format. IOS does not give
me the option to hard-code a router-id under the BGP process for the VRF, or the
ipv6 unicast address family. So I had to enable the ipv4 address-family under the VRF
and define a loopback address in the VRF to use as the router-id. Very silly indeed.
VRF assigned to the CE-PE link. IPv6 unicast running with the CPE and VPNv6
running with the Junos PE R3 router.
Verification
https://mellowd.co.uk/ccie/?tag=6pe 4/11
11/28/2016 6pe | Darren's Blog
Verification
Let’s first check if our VPNv6 sessions are up:
Can the CE’s ping each other from their IPv6 loopbacks?
No problems there :)
SHARE THIS:
https://mellowd.co.uk/ccie/?tag=6pe 5/11
11/28/2016 6pe | Darren's Blog
6PE allows you to run IPv6 transport over a IPv4 MPLS core. MPLS does not have
native label support for IPv6 addresses, at least yet. This means if you need to
transport IPv6 traffic over your MPLS core, you need to tunnel it over IPv4. 6PE is
one of those ways. 6VPE is essentially MPLS layer 3 VPN for IPv6 over an IPv4 as
opposed to 6PE which is simple IPv6 over an IPv4 MPLS core.
6PE
There is no need to worry about CPE kit for now. I’ll simply have an IPv6 loopback
address on R3, R4, and R8. These PE routers will peer over MP-BGP over the IPv4-
only core.
R3 – Junos
https://mellowd.co.uk/ccie/?tag=6pe 6/11
11/28/2016 6pe | Darren's Blog
R3 – Junos
interfaces {
ae1 {
unit 13 {
vlan-id 13;
family inet {
address 10.0.4.13/30;
}
family inet6;
family mpls;
}
lo0 {
unit 3 {
family inet {
address 3.3.3.3/32;
}
family inet6 {
address 2001:db8:3333::3333/128;
}
}
}
}
protocols {
mpls {
ipv6-tunneling;
interface ae1.13;
}
bgp {
group 6PE {
family inet6 {
labeled-unicast {
explicit-null;
}
}
export LOOPBACK;
peer-as 100;
neighbor 4.4.4.4;
neighbor 8.8.8.8;
}
}
ldp {
interface ae1.13;
}
}
policy-options {
policy-statement LOOPBACK {
from {
protocol direct;
route-filter 2001:db8:3333::3333/128 exact;
}
then accept;
}
}
routing-options {
https://mellowd.co.uk/ccie/?tag=6pe 7/11
11/28/2016 6pe | Darren's Blog
autonomous-system 100;
}
Junos requires you to active the family inet6 address family on the core-facing
interface, even if no address is applied. LDP is configured. BGP has been configured
with family inet6 address family only. You also need to send labelled unicast as well
as explicit-null. Junos will not commit if you leave this out.
R4 – IOS
interface Loopback6
no ip address
ipv6 address 2001:DB8:4444::4444/128
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
ip ospf 1 area 0
!
interface FastEthernet1/0.24
encapsulation dot1Q 24
ip address 10.0.4.9 255.255.255.252
ip ospf network point-to-point
mpls ip
!
router bgp 100
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source Loopback0
neighbor 8.8.8.8 remote-as 100
neighbor 8.8.8.8 update-source Loopback0
!
address-family ipv6
no synchronization
network 2001:DB8:4444::4444/128
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-label
neighbor 8.8.8.8 activate
neighbor 8.8.8.8 send-label
exit-address-family
IOS is a bit easier. Create my loopback, IPv6 unicast BGP sessions with send-label
configured, and advertise IPv6 loopback.
R8 – Netiron
https://mellowd.co.uk/ccie/?tag=6pe 8/11
11/28/2016 6pe | Darren's Blog
interface loopback 1
ip ospf area 0
ip address 8.8.8.8/32
ipv6 address 2001:db8:8888::8888/128
!
router bgp
local-as 100
next-hop-mpls
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source 8.8.8.8
neighbor 4.4.4.4 remote-as 100
neighbor 4.4.4.4 update-source 8.8.8.8
mpls-interface ve2
ldp-enable
Verification
First let’s see if each of our boxes has the IPv6 routes to the others loopbacks:
2001:db8:4444::4444/128
*[BGP/170] 00:19:31, MED 0, localpref 100, from 4.4.4.4
AS path: I
> to 10.0.4.14 via ae1.13, Push 16, Push 300016(top)
2001:db8:8888::8888/128
*[BGP/170] 21:40:12, MED 0, localpref 100, from 8.8.8.8
AS path: I
> to 10.0.4.14 via ae1.13, Push 794624, Push 300048(top)
https://mellowd.co.uk/ccie/?tag=6pe 9/11
11/28/2016 6pe | Darren's Blog
Control plane looks fine. Routes are installed with next-hops associated with labels.
Let’s see if data actually flows:
https://mellowd.co.uk/ccie/?tag=6pe 10/11
11/28/2016 6pe | Darren's Blog
SHARE THIS:
© 2009-2016 Darren O'Connor All Rights Reserved -- Copyright notice by Blog Copyright
https://mellowd.co.uk/ccie/?tag=6pe 11/11