Hello everyone.
I`m trying to set up 6PE schema in my lab using vMX as PE/P routers and vSRX as CE.
Here what topology looks like:

Main goal is to ping inet6 address 2a00:f440:0:673::5 on vsrx called INTERNET from vsrx called CE-6PE.
INTERNET config looks like this:
show configuration interfaces ge-0/0/0
unit 0 {
family inet {
address 192.168.100.0/31;
}
family inet6 {
address 2a00:f440:0:673::5/126;
}
}
BGP neighbors:
show configuration protocols bgp
group INTERNET {
family inet {
unicast;
}
family inet6 {
unicast;
}
export EXPORT-DEFAULT;
peer-as 65000;
neighbor 192.168.100.1;
neighbor 192.168.101.1;
}
policy-statement EXPORT-DEFAULT
term 1 {
from {
route-filter 0.0.0.0/0 exact;
}
then accept;
}
term 2 {
from {
route-filter ::/0 exact;
}
then {
next-hop 2a00:f440:0:673::5;
accept;
}
}
then reject;
show route advertising-protocol bgp 192.168.100.1
inet.0: 15 destinations, 24 routes (15 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 0.0.0.0/0 Self I
inet6.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* ::/0 2a00:f440:0:673::5 I
configuration of BNG1 which is ASBR in this topology:
show configuration interfaces ge-0/0/2
unit 0 {
family inet {
address 192.168.100.1/31;
}
family inet6 {
address 2a00:f440:0:673::6/126;
}
}
show configuration protocols bgp
group ibgp {
type internal;
local-address 10.0.0.1;
family inet {
unicast;
}
family inet6 {
labeled-unicast {
explicit-null;
}
}
family evpn {
signaling;
}
family route-target;
export EXPORT-DEFAULT;
cluster 0.0.0.10;
multipath;
neighbor 10.0.0.3;
}
group INTERNET {
import EBGP-IMPORT;
family inet {
unicast;
}
family inet6 {
unicast;
}
export EBGP-DEFAULT;
neighbor 192.168.100.0 {
peer-as 65100;
}
}
show route receive-protocol bgp 192.168.100.0
inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 0.0.0.0/0 192.168.100.0 65100 I
inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* ::/0 2a00:f440:0:673::5 65100 I
inet6.3: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
bgp.rtarget.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
show route advertising-protocol bgp 192.168.100.0
inet.0: 23 destinations, 23 routes (23 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 10.0.0.1/32 Self I
* 10.0.0.2/32 Self 10 I
* 10.0.0.3/32 Self 10 I
* 10.0.0.4/32 Self 20 I
* 10.0.0.5/32 Self 30 I
* 10.0.0.6/32 Self 20 I
* 10.0.0.100/32 Self 10 I
* 10.0.0.252/30 Self 40 I
* 10.10.10.0/24 Self 40 I
inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
Prefix Nexthop MED Lclpref AS path
* 2a00:f440:a::/48 2a00:f440:0:673::6 I
10.0.0.3 is route-reflector:
table inet6.0 advertising-protocol bgp 10.0.0.3 detail
inet6.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
* ::/0 (1 entry, 1 announced)
BGP group ibgp type Internal
Route Label: 2
Nexthop: Self
Flags: Nexthop Change
Localpref: 100
AS path: [65000] 65100 I
Communities: 65000:0
Label 2 as expected.
There is LSP to PE2:
show configuration protocols mpls
ipv6-tunneling;
label-switched-path BNG1-PE2 {
to 10.0.0.5;
inter-domain;
}
interface ge-0/0/0.0;
interface ge-0/0/1.0;
and it is up and running:
show mpls lsp ingress
Ingress LSP: 1 sessions
To From State Rt P ActivePath LSPname
10.0.0.5 10.0.0.1 Up 0 * BNG1-PE2
Total 1 displayed, Up 1, Down 0
On RR(10.0.0.3)
show configuration protocols bgp
group ibgp {
type internal;
local-address 10.0.0.3;
family inet {
unicast;
}
family inet-vpn {
unicast;
}
family inet6 {
labeled-unicast {
explicit-null;
}
}
family evpn {
signaling;
}
family route-target {
advertise-default;
}
cluster 0.0.0.100;
neighbor 10.0.0.1;
neighbor 10.0.0.5;
neighbor 10.0.0.6;
neighbor 10.0.0.2;
}
routes advertised from RR(P1) to PE2 (10.0.0.5):
advertising-protocol bgp 10.0.0.5 detail
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
* ::/0 (1 entry, 1 announced)
BGP group ibgp type Internal
Route Label: 2
Nexthop: ::ffff:10.0.0.1
Localpref: 100
AS path: [65000] 65100 I
Communities: 65000:0
Cluster ID: 0.0.0.100
Originator ID: 10.0.0.1
route advertised fro RR(P1) to BNG1(10.0.0.1):
able inet6.0 advertising-protocol bgp 10.0.0.1 detail
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
* 2a00:f440:a:2::4/127 (1 entry, 1 announced)
BGP group ibgp type Internal
Route Label: 2
Nexthop: ::ffff:10.0.0.5
Localpref: 100
AS path: [65000] I
Cluster ID: 0.0.0.100
Originator ID: 10.0.0.5
Link between PE2 and CE-6PE is redistributed to BGP on PE2 with a policy:
show configuration policy-options policy-statement EXPORT-BGP
term 1 {
from {
route-filter 10.0.0.0/24 orlonger;
}
then accept;
}
term 2 {
from {
route-filter 2a00:f440:a:2::4/127 exact;
}
then accept;
}
on CE-6PE:
show configuration interfaces ge-0/0/0
unit 0 {
family inet {
address 10.0.0.254/30;
}
family inet6 {
address 2a00:f440:a:2::5/127;
}
}
With static route pointing to ge-0/0/3 interface on PE2:
show configuration routing-options
rib inet6.0 {
static {
route ::/0 next-hop 2a00:f440:a:2::4;
}
PE2 config:
label-switched-path PE1-BNG1 {
to 10.0.0.1;
inter-domain;
}
interface ge-0/0/0.0;
interface ge-0/0/1.0;
show configuration protocols bgp
group ibgp {
type internal;
local-address 10.0.0.5;
family inet {
unicast;
}
family inet6 {
labeled-unicast {
explicit-null;
}
}
family evpn {
signaling;
}
family route-target;
export EXPORT-BGP;
neighbor 10.0.0.3;
}
::/0 is in inet6.0 table:
::/0 *[BGP/170] 18:39:53, localpref 100, from 10.0.0.3
AS path: 65100 I, validation-state: unverified
> to 192.168.0.11 via ge-0/0/0.0, label-switched-path PE1-BNG1
After checking forwarding plane everything seems ok:
The path is CE-6PE->PE2->PE1->P1->BNG1->INTERNET
CE-6PE:
show route 2a00:f440:0:673::5
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
::/0 *[Static/5] 1d 02:16:27
> to 2a00:f440:a:2::4 via ge-0/0/0.0
PE2:
show route 2a00:f440:0:673::5 detail
inet6.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
::/0 (1 entry, 1 announced)
*BGP Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0xce34330
Next-hop reference count: 2
Source: 10.0.0.3
Next hop type: Router, Next hop index: 514
Next hop: 192.168.0.11 via ge-0/0/0.0, selected
Label-switched-path PE1-BNG1
Label operation: Push 2, Push 300176(top)
Label TTL action: prop-ttl, prop-ttl(top)
Load balance label: Label 2: None; Label 300176: None;
Label element ptr: 0xcfdb224
Label parent element ptr: 0xcfdae34
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x140
Protocol next hop: ::ffff:10.0.0.1
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xdd04cc0 1048575 INH Session ID: 0x14f
State: <Active Int Ext>
Local AS: 65000 Peer AS: 65000
Age: 18:45:18 Metric2: 30
Validation State: unverified
Task: BGP_65000.10.0.0.3
Announcement bits (2): 0-KRT 4-Resolve tree 5
AS path: 65100 I (Originator)
Cluster list: 0.0.0.100
Originator ID: 10.0.0.1
Communities: 65000:0
Accepted
Route Label: 2
Localpref: 100
Router ID: 10.0.0.3
PE1:
show route table mpls.0 label 300176 detail
mpls.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)
300176 (1 entry, 1 announced)
*RSVP Preference: 7/1
Next hop type: Router, Next hop index: 591
Address: 0xce343f0
Next-hop reference count: 2
Next hop: 192.168.0.2 via ge-0/0/1.0, selected
Label-switched-path PE1-BNG1
Label operation: Swap 299872
Load balance label: Label 299872: None;
Label element ptr: 0xcfdbb90
Label parent element ptr: 0x0
Label element references: 2
Label element child references: 0
Label element lsp id: 0
Session Id: 0x140
State: <Active Int AckRequest Accounting EL-capable>
Local AS: 65000
Age: 1d 2:47:14 Metric: 1
Validation State: unverified
Task: RSVP
Announcement bits (1): 1-KRT
AS path: I
P1:
show route table mpls.0 label 299872 detail
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
299872 (1 entry, 1 announced)
*RSVP Preference: 7/1
Next hop type: Router, Next hop index: 584
Address: 0xce35cb0
Next-hop reference count: 2
Next hop: 192.168.0.0 via ge-0/0/0.0, selected
Label-switched-path PE1-BNG1
Label operation: Pop
Load balance label: None;
Label element ptr: 0xcfdaee8
Label parent element ptr: 0x0
Label element references: 2
Label element child references: 0
Label element lsp id: 0
Session Id: 0x143
State: <Active Int AckRequest Accounting EL-capable>
Local AS: 65000
Age: 1d 2:48:20 Metric: 1
Validation State: unverified
Task: RSVP
Announcement bits (1): 1-KRT
AS path: I
299872(S=0) (1 entry, 1 announced)
*RSVP Preference: 7/1
Next hop type: Router, Next hop index: 588
Address: 0xce34f90
Next-hop reference count: 2
Next hop: 192.168.0.0 via ge-0/0/0.0, selected
Label-switched-path PE1-BNG1
Label operation: Pop
Load balance label: None;
Label element ptr: 0xcfdb9bc
Label parent element ptr: 0x0
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x143
State: <Active Int AckRequest Accounting EL-capable>
Local AS: 65000
Age: 1d 2:48:20 Metric: 1
Validation State: unverified
Task: RSVP
Announcement bits (1): 1-KRT
AS path: I
So the path looks like:
pure inet 6 from CE-6PE to PE2, PE2 pushes label 300176 on top and label 2 as service label,