Equal-Cost Multipath Protocol (ECMP) support for LDP performs load balancing for services that use LDP-based LSPs as transport tunnels, by having multiple equal-cost outgoing next hops for an IP prefix.
ECMP for LDP load-balances traffic across all equal-cost links based on the output of the hashing algorithm using the allowed inputs, based on the service type. For additional information, see ‟LAG and ECMP Hashing” in the 7705 SAR Interface Configuration Guide.
There is only one next-hop peer for a network link. To offer protection from a network link or next-hop peer failure, multiple network links can be configured to connect to different next-hop peers, or multiple links to the same peer. For example, an MLPPP link and an Ethernet link can be connected to two peers, or two Ethernet links can be connected to the same peer. ECMP occurs when the cost of each link reaching a target IP prefix is equal.
The 7705 SAR uses a liberal label retention mode, which retains all labels for an IP prefix from all next-hop peers. A 7705 SAR acting as an LSR load-balances the MPLS traffic over multiple links using a hashing algorithm.
The 7705 SAR supports the following optional fields as hash inputs and supports profiles for various combinations:
hashing algorithms
label-only option: hashing is done on the MPLS label stack, up to a maximum of 10 labels (default)
label-IP option: hashing is done on the MPLS label stack and the IPv4 source and destination IP address if an IPv4 header is present after the MPLS labels
Layer 4 header (source or destination UDP or TCP port number) and TEID: hashing is done on the MPLS label stack, the IPv4 source and destination IP address (if present), then on the Layer 4 source and destination UDP or TCP port fields (if present) and the TEID in the GTP header (if present)
label stack profile options on significance of the bottom-of-stack label (VC label)
profile 1: favors better load balancing for pseudowires when the VC label distribution is contiguous (default)
profile 2: similar to profile 1 where the VC labels are contiguous, but provides an alternate distribution
profile 3: all labels have equal influence in hash key generation
ingress LAG port at the LSR (default is disabled)
The use-ingress-port option, when enabled, specifies that the ingress port is used by the hashing algorithm at the LSR. This option should be enabled for ingress LAG ports because packets with the same label stack can arrive on all ports of a LAG interface. In this case, using the ingress port in the hashing algorithm results in better egress load balancing, especially for pseudowires.
The option should be disabled for LDP ECMP so that the ingress port is not used by the hashing algorithm. For ingress LDP ECMP, if the ingress port is used by the hashing algorithm, the hash distribution could be biased, especially for pseudowires.
system IP address – hashing on the system IP address is enabled and disabled at the system level only
All of the above options can be configured with the lsr-load-balancing command, with the exception of the system IP address, which is configured with the system-ip-load-balancing command.
The global IF index is no longer a hash input for LSR ECMP load balancing. It has been replaced with the use-ingress-port configurable option in the lsr-load-balancing command. As well, the default treatment of the MPLS label stack has changed to focus on the bottom-of-stack label (VC label). In previous releases, all labels had equal influence.
LSR load balancing can be configured at the system level or interface level. Configuration at the interface level overrides the system-level settings for the specific interface. Configuration must be done on the ingress network interface (that is, the interface on the LDP LSR node that the packet is received on).
Configuration of load balancing at the interface level provides some control to the user; for example, the label-IP option can be disabled on a specific interface if labeled packets received on the interface include non-IP packets that can be confused by the hash routine for IP packets. Disabling the label-IP option can be used in cases where the first nibble of a non-IP packet is a 4, which would result in the packet being hashed incorrectly if the label-IP option was enabled.
If ECMP is not enabled, the label from only one of the next-hop peers is selected and installed in the forwarding plane. In this case, the algorithm used to distribute the traffic flow looks up the route information, and selects the network link with the lowest IP address. If the selected network link or next-hop peer fails, another next-hop peer is selected, and LDP reprograms the forwarding plane to use the label sent by the newly selected peer.
ECMP is supported on all Ethernet ports in network mode, and is also supported on the 4-port OC3/STM1 Clear Channel Adapter card when it is configured for POS (ppp-auto) encapsulation and network mode.
For information about configuring the 7705 SAR for LSR ECMP, see the lsr-load-balancing and system-ip-load-balancing commands in the 7705 SAR Basic System Configuration Guide, ‟System Information and General Commands” and the lsr-load-balancing command in the 7705 SAR Router Configuration Guide, ‟Router Interface Commands”.
For information about LDP treetrace commands for tracing ECMP paths, see the 7705 SAR OAM and Diagnostics Guide.
LDP treetrace works best with label-IP hashing (lbl-ip) enabled, instead of label-only (lbl-only) hashing. These options are set with the lsr-load-balancing command.
Because of the built-in timeout to dynamic ARP, the MAC address of the remote peer needs to be renewed periodically. The flow of IP traffic resets the timers back to their maximum values. In the case of LDP ECMP, one link could be used for transporting user MPLS (pseudowire) traffic but the LDP session could possibly be using a different equal-cost link. For LDPs using ECMP and for static LSPs, it is important to ensure that the remote MAC address is learned and does not expire. Configuring static ARP entries or running continuous IP traffic ensures that the remote MAC address is always known. Running BFD for fast detection of Layer 2 faults or running any OAM tools with SAA ensures that the learned MAC addresses do not expire.
ARP entries are refreshed by static ARP and BFD, SAA, OSPF, IS-IS, or BGP.
For information about configuring static ARP and running BFD, see the 7705 SAR Router Configuration Guide.