# ECMP Labels for MPLS Overview

MPLS supports equal-cost multipath (ECMP) labels. A maximum of 16 MPLS paths is supported; 4 paths are available by default. On LERs, MPLS ECMP next hops can be used in the IP routing table for non-VPN and VPN routes. On LSRs, an incoming label can point to either an MPLS ECMP next hop or an IP ECMP.

The signaling protocol determines whether ECMP next hops are used. For example, LDP can learn multiple labels for a route from different downstream peers (or one label from a downstream peer that has parallel connections to the router). LDP then creates an MPLS ECMP next hop that can be used in the IP routing table. If LDP also advertises a label, then a forwarding entry is added to the MPLS forwarding table with the ECMP next hop.

## MPLS Connectivity and ECMP

When an MPLS ECMP is part of the tunnel being explored by an MPLS echo request, the request packet takes one of the available ECMP paths. Probing FECs with different label stacks can yield different ECMP paths. However, you cannot guarantee complete coverage of all the ECMP paths.

You can use MPLS trace to determine which paths are present on an MPLS LSR. When the TTL expires on an MPLS LSR, the echo reply that is returned includes a downstream mapping TLV. This TLV contains all the downstream mappings of the LSR on which the TTL expired, if that feature is supported by the LSR. You can use the detail version of the trace mpls commands to display these downstream mappings.

## Supported TLVs

Table 51 lists the TLVs supported by the MPLS LSP ping feature. Table 52 lists the sub-TLVs supported for the Target FEC Stack TLV.

Table 51: TLVs Supported by MPLS LSP ping

Type Number | Value | Comments
--- | --- | ---
1 | Target FEC Stack | Multiple FEC stack sub-TLVs are not supported. A single LSP ping message cannot have more than one target FEC stack TLV.
2 | Downstream Mapping | Only the IPv4 (numbered or unnumbered) downstream address type is supported. Flag I for the Interface and Label Stack object is supported. Flag N, to treat the packet as a non-IP packet, is not supported. An MPLS LSP trace echo request includes this TLV. This TLV contains the downstream address all-routers-multicast; that is the well-known IP address 224.0.0.2. Validation of the downstream address is not performed. Verification of the downstream address is not performed on receipt of an MPLS echo request that contains this TLV. In an MPLS echo reply, multipath information is not supported in this TLV; the multipath type is always set to 0 in the reply. However, the reply includes one downstream mapping TLV for each downstream path.
3 | Pad | This TLV is included in the MPLS echo request packet. The TLV can specify either “ Do not reply” or “ Reply via an IPv4/IPv6 UDP packet.”
7 | Interface and Label Stack | This TLV is generated if requested by the received downstream mapping TLV.
9 | Errored TLVs | This TLV is generated if an error is encountered while parsing one of the received TLVs.
10 | Reply TOS Byte | –
11 | P2MP Responder Identifier | This TLV is included in the MPLS echo request packet to validate whether the IP address specified in the TLV is an IP address of one of the interfaces in the router. Four sub-TLVs are defined for inclusion in the P2MP Responder Identifier TLV in the echo request message.
12 | Echo Jitter | This TLV is included in the LSP ping message (echo request) to enable the egress node of a point-to-multipoint LSP to delay the transmission of the response by a time interval that is limited by the value specified in this TLV. In JunosE Software, the delay is set to a maximum of 30 seconds.

Table 52: Sub-TLVs Supported for the Target FEC Stack TLV

Subtype Number | Value | Comments
--- | --- | ---
1 | LDP IPv4 prefix | –
2 | LDP IPv6 prefix | –
3 | RSVP IPv4 LSP | –
6 | VPN IPv4 prefix | –
7 | VPN IPv6 prefix | –
8 | L2 VPN endpoint | For VPLS and VPWS
10 | FEC 128 pseudowire | For Martini encapsulation
17 | RSVP P2MP IPv4 Session | For identification of the point-to-multipoint LSP for which you want to verify the data plane

#### Related Documentation

- MPLS Label Switching and Packet Forwarding Overview