Regarding your question as to why we need the
in the core-facing interfaces, it was not needed in the past (17.x versions). And indeed, these are treated and go through as IPv6 packets internally.
Original Message:
Sent: 05-23-2022 06:30
From: TOMASZ KOTYCZKA
Subject: 6PE in lab not working
Hi,
I would like to know "in detail" WHY we need fam inet6 on core facing interfaces in 6PE scenario. I know why every documentation suggests explicit-null for scalability sake (single label for all PE attached v6 routers) but why we need the inet6 there? Is it because the explicit-null label points to the inet6.0 table and the router MUST do a traditional v6 lookup?
mpls.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)+ = Active Route, - = Last Active, * = Both2 *[MPLS/0] 16:08:48, metric 1 to table inet6.0
Could one say that explicit-null label is treated as I standard IPv6 packet?
No one seems to explain it in detail they just tell you that you SHOULD enable that family on those specific interfaces and thats it?
It's confusting since to the eggress routers the encapsulated v6 packet has TWO labels at ingress so that is why I'm asking.
Thanks in advance.
Regards
Tomek
EDIT: ok I found this statement in the 6PE docs:
"….Even though Label 2 MPLS packets are sent in IPv4, these packets are treated as native IPv6 packets……"
Link to article
Original Message:
Sent: 01-28-2020 05:09
From: Unknown User
Subject: 6PE in lab not working
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/0unit 0 { family inet { address 192.168.100.0/31; } family inet6 { address 2a00:f440:0:673::5/126; }}
BGP neighbors:
show configuration protocols bgpgroup 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-DEFAULTterm 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.1inet.0: 15 destinations, 24 routes (15 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path* 0.0.0.0/0 Self Iinet6.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/2unit 0 { family inet { address 192.168.100.1/31; } family inet6 { address 2a00:f440:0:673::6/126; }}
show configuration protocols bgpgroup 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.0inet.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 Iinet.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 Iinet6.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.0inet.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 Iinet6.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 detailinet6.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 mplsipv6-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 ingressIngress LSP: 1 sessionsTo From State Rt P ActivePath LSPname10.0.0.5 10.0.0.1 Up 0 * BNG1-PE2Total 1 displayed, Up 1, Down 0
On RR(10.0.0.3)
show configuration protocols bgpgroup 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 detailinet6.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 detailinet6.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-BGPterm 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/0unit 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-optionsrib 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 bgpgroup 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::5inet6.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 detailinet6.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 detailmpls.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 detailmpls.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: I299872(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,