ECMP over MPLS LSPs implements packet spraying across multiple RSVP-TE or SR-TE LSPs within the same ECMP set.
ECMP RSVP-TE or SR-TE packet spraying consists of hashing the relevant fields in the header of a labeled packet and selecting the next-hop tunnel based on the modulo operation of the output of the hash and the number of ECMP tunnels. The maximum number of ECMP tunnels selected from the Tunnel Table Manager (TTM) matches the value of the user-configured ecmp command. Only LSPs with the same lowest LSP metric can be part of the ECMP set. If the number of these LSPs is higher than the value configured with the ecmp command, the LSPs with the lowest tunnel IDs are selected first.
The ecmp command context for setting the number of routes that are used on a service is as follows:
for VPRN auto-bind weighted ECMP: config>service>vprn>auto-bind-tunnel>ecmp max-ecmp-routes
for OSPF PE-CE weighted ECMP: config>service>vprn>ecmp max-ecmp-routes
for VPN route-reflector forwarding with next-hop-self: config>router>ecmp max-ecmp-routes
for weighted ECMP for SDPs: the number of LSPs specified in the command config>service>sdp>lsp lspx lspy lspz or config>service>sdp>sr-te-lsp lspx lspy lspz
for EVPN auto-bind weighted ECMP: config>service>epipe>bgp-evpn>mpls>auto-bind-tunnel>ecmp max-ecmp-routes or config>service>vpls>bgp-evpn>mpls>auto-bind-tunnel>ecmp max-ecmp-routes
With the weighted ECMP functionality, the load-balancing weight of the LSP is normalized by the system and then used to bias the amount of traffic forwarded over each LSP.
Weighted ECMP is supported on the following services:
VPRN with auto-bind tunnels
EVPN-VPWS and EVPN-VPLS with auto-bind tunnels
IES and VPRN Layer 3 spoke-SDP terminated interfaces
Epipe services with spoke SDPs
Ipipe services with spoke SDPs
VPLS services with spoke or mesh SDPs
VPRN OSPF PE-CE interfaces
The weight of the LSP is configured using the config>router>mpls>lsp>load-balancing-weight weight and config>router>mpls>lsp-template>load-balancing-weight weight commands.