On PTX10008 EVO, a "Router Alert Label 1" is pushed by an MPLS ping on an LDP-based L2 circuit, but not on a static-based L2 circuit.
The article demonstrates that this is specific behavior/implementation in PTX10008 EVO. On MX platforms that run Junos OS, on the other hand, it is not pushed by MPLS ping on both LDP / static-based L2 circuits, which is also shown here.
Test Topology
+------------+ +------------+ | |et-1/2/0 et-1/2/1| | et-1/2/2+ PTX10008_1 +--------------------------+ PTX10008_2 +et-1/2/3 ccc | |.1 10.0.1.0/30 .2| | ccc +------------+<-----mpls/l2circuit----->+------------+ lo0.0=10.0.255.1 lo0.0=10.0.255.2
PTX10008 EVO / LDP-based l2circuit
On PTX10008 EVO, a "Router Alert Label 1 " is pushed with an MPLS ping on an LDP-based L2 circuit.
{MASTER} User@PTX10008_1-re0-re0> ping mpls l2circuit virtual-circuit 400100 neighbor 10.0.255.2 count 5 detail Request for seq 1, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 3.695 ms Local transmit time: 2021-08-27 09:55:33 IST 456.005 ms Remote receive time: 2021-08-27 09:55:33 IST 459.700 ms Request for seq 2, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 3.479 ms Local transmit time: 2021-08-27 09:55:34 IST 455.697 ms Remote receive time: 2021-08-27 09:55:34 IST 459.176 ms Request for seq 3, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 3.535 ms Local transmit time: 2021-08-27 09:55:35 IST 456.099 ms Remote receive time: 2021-08-27 09:55:35 IST 459.634 ms Request for seq 4, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 3.571 ms Local transmit time: 2021-08-27 09:55:36 IST 455.470 ms Remote receive time: 2021-08-27 09:55:36 IST 459.041 ms Request for seq 5, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 3.692 ms Local transmit time: 2021-08-27 09:55:37 IST 455.918 ms Remote receive time: 2021-08-27 09:55:37 IST 459.610 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
{MASTER} User@PTX10008_1-re0-re0> ping mpls l2circuit virtual-circuit 400100 neighbor 10.0.255.2 count 5 detail Request for seq 1, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 3.695 ms Local transmit time: 2021-08-27 09:55:33 IST 456.005 ms Remote receive time: 2021-08-27 09:55:33 IST 459.700 ms Request for seq 2, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 3.479 ms Local transmit time: 2021-08-27 09:55:34 IST 455.697 ms Remote receive time: 2021-08-27 09:55:34 IST 459.176 ms Request for seq 3, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 3.535 ms Local transmit time: 2021-08-27 09:55:35 IST 456.099 ms Remote receive time: 2021-08-27 09:55:35 IST 459.634 ms Request for seq 4, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 3.571 ms Local transmit time: 2021-08-27 09:55:36 IST 455.470 ms Remote receive time: 2021-08-27 09:55:36 IST 459.041 ms Request for seq 5, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 3.692 ms Local transmit time: 2021-08-27 09:55:37 IST 455.918 ms Remote receive time: 2021-08-27 09:55:37 IST 459.610 ms
Request for seq 1, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 3.695 ms Local transmit time: 2021-08-27 09:55:33 IST 456.005 ms Remote receive time: 2021-08-27 09:55:33 IST 459.700 ms Request for seq 2, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 3.479 ms Local transmit time: 2021-08-27 09:55:34 IST 455.697 ms Remote receive time: 2021-08-27 09:55:34 IST 459.176 ms Request for seq 3, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 3.535 ms Local transmit time: 2021-08-27 09:55:35 IST 456.099 ms Remote receive time: 2021-08-27 09:55:35 IST 459.634 ms Request for seq 4, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 3.571 ms Local transmit time: 2021-08-27 09:55:36 IST 455.470 ms Remote receive time: 2021-08-27 09:55:36 IST 459.041 ms Request for seq 5, to interface 1003, labels <16, 1, 154>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 3.692 ms Local transmit time: 2021-08-27 09:55:37 IST 455.918 ms Remote receive time: 2021-08-27 09:55:37 IST 459.610 ms
--- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
PTX10008_1 Configuration
set interfaces et-1/2/0 unit 0 family inet address 10.0.1.1/30 set interfaces et-1/2/0 unit 0 family mpls set interfaces et-1/2/2 encapsulation ethernet-ccc set interfaces et-1/2/2 gigether-options loopback set interfaces et-1/2/2 unit 0 family ccc set interfaces lo0 unit 0 family inet address 10.0.255.1/32 set protocols rsvp interface et-1/2/0.0 set protocols mpls label-switched-path P2P_1 from 10.0.255.1 set protocols mpls label-switched-path P2P_1 to 10.0.255.2 set protocols mpls interface et-1/2/0.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface lo0.0 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static incoming-label 1001000 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static outgoing-label 1001111 deactivate protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 virtual-circuit-id 400100 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 control-word set routing-options router-id 10.0.255.1
PTX10008_2 Configuration
set interfaces et-1/2/1 unit 0 family inet address 10.0.1.2/30 set interfaces et-1/2/1 unit 0 family mpls set interfaces et-1/2/3 encapsulation ethernet-ccc set interfaces et-1/2/3 gigether-options loopback set interfaces et-1/2/3 unit 0 family ccc set interfaces lo0 unit 0 family inet address 10.0.255.2/32 set protocols rsvp interface et-1/2/1.0 set protocols mpls label-switched-path P2P_2 from 10.0.255.2 set protocols mpls label-switched-path P2P_2 to 10.0.255.1 set protocols mpls interface et-1/2/1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface lo0.0 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static incoming-label 1001111 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static outgoing-label 1001000 deactivate protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 virtual-circuit-id 400100 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 control-word set routing-options router-id 10.0.255.2 {MASTER} User@PTX10008_1-re0-re0> show configuration protocols l2circuit neighbor 10.0.255.2 { interface et-0/0/0.0 { inactive: static { incoming-label 1001000; outgoing-label 1001111; } virtual-circuit-id 400100; control-word; } } {MASTER} User@PTX10008_1-re0-re0> show configuration protocols ldp interface lo0.0;
PTX10008 EVO / Static-Based l2circuit
On PTX10008 EVO, a "Router Alert Label 1" is NOT pushed with an MPLS ping on a static-based L2 circuit.
{MASTER} User@PTX10008_1-re0-re0> ping mpls l2circuit virtual-circuit 400100 neighbor 10.0.255.2 count 5 detail Request for seq 1, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 3.688 ms Local transmit time: 2021-08-27 09:57:16 IST 335.527 ms Remote receive time: 2021-08-27 09:57:16 IST 339.215 ms Request for seq 2, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 3.540 ms Local transmit time: 2021-08-27 09:57:17 IST 335.246 ms Remote receive time: 2021-08-27 09:57:17 IST 338.786 ms Request for seq 3, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 3.483 ms Local transmit time: 2021-08-27 09:57:18 IST 335.663 ms Remote receive time: 2021-08-27 09:57:18 IST 339.146 ms Request for seq 4, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 3.599 ms Local transmit time: 2021-08-27 09:57:19 IST 334.567 ms Remote receive time: 2021-08-27 09:57:19 IST 338.166 ms Request for seq 5, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 3.694 ms Local transmit time: 2021-08-27 09:57:20 IST 335.143 ms Remote receive time: 2021-08-27 09:57:20 IST 338.837 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
Request for seq 1, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 1, return code: Egress-ok, time: 3.688 ms Local transmit time: 2021-08-27 09:57:16 IST 335.527 ms Remote receive time: 2021-08-27 09:57:16 IST 339.215 ms Request for seq 2, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 2, return code: Egress-ok, time: 3.540 ms Local transmit time: 2021-08-27 09:57:17 IST 335.246 ms Remote receive time: 2021-08-27 09:57:17 IST 338.786 ms Request for seq 3, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 3, return code: Egress-ok, time: 3.483 ms Local transmit time: 2021-08-27 09:57:18 IST 335.663 ms Remote receive time: 2021-08-27 09:57:18 IST 339.146 ms Request for seq 4, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 4, return code: Egress-ok, time: 3.599 ms Local transmit time: 2021-08-27 09:57:19 IST 334.567 ms Remote receive time: 2021-08-27 09:57:19 IST 338.166 ms Request for seq 5, to interface 1003, labels <1001111, 154>, packet size 88 Reply for seq 5, return code: Egress-ok, time: 3.694 ms Local transmit time: 2021-08-27 09:57:20 IST 335.143 ms Remote receive time: 2021-08-27 09:57:20 IST 338.837 ms
deactivate protocols ldp interface lo0.0 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static incoming-label 1001000 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static outgoing-label 1001111 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 static set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 virtual-circuit-id 400100 set protocols l2circuit neighbor 10.0.255.2 interface et-1/2/2.0 control-word
deactivate protocols ldp interface lo0.0 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static incoming-label 1001111 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static outgoing-label 1001000 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 static set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 virtual-circuit-id 400100 set protocols l2circuit neighbor 10.0.255.1 interface et-1/2/3.0 control-word {MASTER} User@PTX10008_1-re0-re0> show configuration protocols l2circuit neighbor 10.0.255.2 { interface et-0/0/0.0 { static { incoming-label 1001000; outgoing-label 1001111; } virtual-circuit-id 400100; control-word; } } {MASTER} User@PTX10008_1-re0-re0> show configuration protocols ldp ## ## inactive: protocols ldp ## interface lo0.0;
On MX platforms that run Junos OS, a "Router Alert Label 1" is not pushed by MPLS ping on both LDP and static-based L2 circuits.
MX480 Running Junos OS / LDP-Based l2circuit
user@mx480-re0> ping mpls l2circuit virtual-circuit 400100 neighbor 10.0.255.2 count 5 detail Request for seq 1, to interface 339, label 17, packet size 88 Reply for seq 1, return code: Egress-ok, time: 0.510 ms Local transmit time: 2021-09-02 14:35:43 IST 568.660 ms Remote receive time: 2021-09-02 14:35:43 IST 569.170 ms Request for seq 2, to interface 339, label 17, packet size 88 Reply for seq 2, return code: Egress-ok, time: 0.483 ms Local transmit time: 2021-09-02 14:35:44 IST 568.658 ms Remote receive time: 2021-09-02 14:35:44 IST 569.141 ms Request for seq 3, to interface 339, label 17, packet size 88 Reply for seq 3, return code: Egress-ok, time: 1.055 ms Local transmit time: 2021-09-02 14:35:45 IST 568.659 ms Remote receive time: 2021-09-02 14:35:45 IST 569.714 ms Request for seq 4, to interface 339, label 17, packet size 88 Reply for seq 4, return code: Egress-ok, time: 0.492 ms Local transmit time: 2021-09-02 14:35:46 IST 568.663 ms Remote receive time: 2021-09-02 14:35:46 IST 569.155 ms Request for seq 5, to interface 339, label 17, packet size 88 Reply for seq 5, return code: Egress-ok, time: 2.266 ms Local transmit time: 2021-09-02 14:35:47 IST 568.668 ms Remote receive time: 2021-09-02 14:35:47 IST 570.934 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
Request for seq 1, to interface 339, label 17, packet size 88 Reply for seq 1, return code: Egress-ok, time: 0.510 ms Local transmit time: 2021-09-02 14:35:43 IST 568.660 ms Remote receive time: 2021-09-02 14:35:43 IST 569.170 ms Request for seq 2, to interface 339, label 17, packet size 88 Reply for seq 2, return code: Egress-ok, time: 0.483 ms Local transmit time: 2021-09-02 14:35:44 IST 568.658 ms Remote receive time: 2021-09-02 14:35:44 IST 569.141 ms Request for seq 3, to interface 339, label 17, packet size 88 Reply for seq 3, return code: Egress-ok, time: 1.055 ms Local transmit time: 2021-09-02 14:35:45 IST 568.659 ms Remote receive time: 2021-09-02 14:35:45 IST 569.714 ms Request for seq 4, to interface 339, label 17, packet size 88 Reply for seq 4, return code: Egress-ok, time: 0.492 ms Local transmit time: 2021-09-02 14:35:46 IST 568.663 ms Remote receive time: 2021-09-02 14:35:46 IST 569.155 ms Request for seq 5, to interface 339, label 17, packet size 88 Reply for seq 5, return code: Egress-ok, time: 2.266 ms Local transmit time: 2021-09-02 14:35:47 IST 568.668 ms Remote receive time: 2021-09-02 14:35:47 IST 570.934 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
MX480 Running Junos OS / Static-Based l2circuit
User@mx480-re0> ping mpls l2circuit virtual-circuit 400100 neighbor 10.0.255.2 count 5 detail Request for seq 1, to interface 339, label 1001111, packet size 88 Reply for seq 1, return code: Egress-ok, time: 0.528 ms Local transmit time: 2021-09-02 14:34:40 IST 38.917 ms Remote receive time: 2021-09-02 14:34:40 IST 39.445 ms Request for seq 2, to interface 339, label 1001111, packet size 88 Reply for seq 2, return code: Egress-ok, time: 0.453 ms Local transmit time: 2021-09-02 14:34:41 IST 36.829 ms Remote receive time: 2021-09-02 14:34:41 IST 37.282 ms Request for seq 3, to interface 339, label 1001111, packet size 88 Reply for seq 3, return code: Egress-ok, time: 0.488 ms Local transmit time: 2021-09-02 14:34:42 IST 45.927 ms Remote receive time: 2021-09-02 14:34:42 IST 46.415 ms Request for seq 4, to interface 339, label 1001111, packet size 88 Reply for seq 4, return code: Egress-ok, time: 0.450 ms Local transmit time: 2021-09-02 14:34:43 IST 36.851 ms Remote receive time: 2021-09-02 14:34:43 IST 37.301 ms Request for seq 5, to interface 339, label 1001111, packet size 88 Reply for seq 5, return code: Egress-ok, time: 0.487 ms Local transmit time: 2021-09-02 14:34:44 IST 38.659 ms Remote receive time: 2021-09-02 14:34:44 IST 39.146 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
Request for seq 1, to interface 339, label 1001111, packet size 88 Reply for seq 1, return code: Egress-ok, time: 0.528 ms Local transmit time: 2021-09-02 14:34:40 IST 38.917 ms Remote receive time: 2021-09-02 14:34:40 IST 39.445 ms Request for seq 2, to interface 339, label 1001111, packet size 88 Reply for seq 2, return code: Egress-ok, time: 0.453 ms Local transmit time: 2021-09-02 14:34:41 IST 36.829 ms Remote receive time: 2021-09-02 14:34:41 IST 37.282 ms Request for seq 3, to interface 339, label 1001111, packet size 88 Reply for seq 3, return code: Egress-ok, time: 0.488 ms Local transmit time: 2021-09-02 14:34:42 IST 45.927 ms Remote receive time: 2021-09-02 14:34:42 IST 46.415 ms Request for seq 4, to interface 339, label 1001111, packet size 88 Reply for seq 4, return code: Egress-ok, time: 0.450 ms Local transmit time: 2021-09-02 14:34:43 IST 36.851 ms Remote receive time: 2021-09-02 14:34:43 IST 37.301 ms Request for seq 5, to interface 339, label 1001111, packet size 88 Reply for seq 5, return code: Egress-ok, time: 0.487 ms Local transmit time: 2021-09-02 14:34:44 IST 38.659 ms Remote receive time: 2021-09-02 14:34:44 IST 39.146 ms --- lsping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss
The "Router Alert Label 1" is pushed by an MPLS ping on LDP-based L2 circuits. This behavior/implementation is specific to PTX10008 EVO.
The current usage of a Router Alert Label 1 is for LSP Ping/Traceroute, according to RFC standards.
Refer to RFC6178 - Requirements for Label Edge Router Forwarding of IPv4 Option Packets.
5.2. Router Alert Label Imposition [RFC3032] defines a Router Alert Label (label value of 1), which is analogous to the Router Alert IPv4 header option (option value of 148). The MPLS Router Alert Label (when exposed and processed only) indicates to downstream LSRs to examine these MPLS packets more closely. MPLS packets with the MPLS Router Alert Label are also handled as an exception by LSRs and, again, in a less efficient manner. At the time of this writing, the only legitimate use of the Router Alert Label is for LSP ping/trace [RFC4379]. Since there is also no formal standard for Router Alert Label imposition at ingress LERs.
5.2. Router Alert Label Imposition
[RFC3032] defines a Router Alert Label (label value of 1), which is analogous to the Router Alert IPv4 header option (option value of 148). The MPLS Router Alert Label (when exposed and processed only) indicates to downstream LSRs to examine these MPLS packets more closely. MPLS packets with the MPLS Router Alert Label are also handled as an exception by LSRs and, again, in a less efficient manner. At the time of this writing, the only legitimate use of the Router Alert Label is for LSP ping/trace [RFC4379]. Since there is also no formal standard for Router Alert Label imposition at ingress LERs.
Refer to RFC4379 - Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures.
4.3. Sending an MPLS Echo Request If the echo request is labeled, one MAY (depending on what is being pinged) set the TTL of the innermost label to 1, to prevent the ping request going farther than it should. Examples of where this SHOULD be done include pinging a VPN IPv4 or IPv6 prefix, an L2 VPN endpoint or a pseudowire. Preventing the ping request from going too far can also be accomplished by inserting a Router Alert label above this label; however, this may lead to the undesired side effect that MPLS echo requests take a different data path than actual data.
4.3. Sending an MPLS Echo Request
If the echo request is labeled, one MAY (depending on what is being pinged) set the TTL of the innermost label to 1, to prevent the ping request going farther than it should. Examples of where this SHOULD be done include pinging a VPN IPv4 or IPv6 prefix, an L2 VPN endpoint or a pseudowire. Preventing the ping request from going too far can also be accomplished by inserting a Router Alert label above this label; however, this may lead to the undesired side effect that MPLS echo requests take a different data path than actual data.