ECMP Flow-Based Forwarding on ACX Series Routers
An equal-cost multipath (ECMP) set is formed when the routing table contains multiple next-hop addresses for the same destination with equal cost. (Routes of equal cost have the same preference and metric values.) If there is an ECMP set for the active route, Junos OS uses a hash algorithm to choose one of the next-hop addresses in the ECMP set to install in the forwarding table.
You can configure Junos OS so that multiple next-hop entries in an ECMP set are installed in the forwarding table. On ACX Series routers, per-flow load balancing can be performed to spread traffic across multiple paths between routing devices. ECMP flow-based forwarding is supported for IPv4, IPv6, and MPLS packets on aggregated Ethernet (ae) interfaces.
Load balancing is used to evenly distribute traffic when there are multiple equal-cost next
hops over different interfaces or a single next hop over an aggregated interface.
In
order to enable
hashing,
configure the hash-key
statement at the the [edit
forwarding-options]
hierarchy level.
If a next-hop address is no longer part of the ECMP set or if it is removed from the routing table because of a route change, a flow that uses the next hop is rerouted and the session is not affected. Rerouting of the flow also occurs if there is a configuration change that takes away the next-hop address or if an administrator takes down the next-hop interface without deleting it. If a next-hop address is removed from the routing table because the interface is deleted or the session is intentionally cleared, the session is killed without being rerouted.
To select which packet header data to use for per-flow load balancing, include the
hash-key
statement at the [edit forwarding-options]
hierarchy level. To load-balance
IPv4 traffic by using the port data into the hash key, include the
familyinet
statement at the [edit forwarding-options hash-key]
hierarchy level. You can
incorporate either the Layer 3 IP port data, or the Layer 4 TCP or UDP port data into the hash
key. To load-balance based on MPLS label information, configure the
family
mpls
statement at the [edit forwarding-options hash-key]
hierarchy
level.
Forwarding of MPLS traffic by using penultimate-hop popping (PHP) and label-switched routing (LSR) is not supported on ACX Series routers. For ECMP flow-based forwarding over pseudowires, MPLS flows are assigned to one of the ECMP routes by using the hashing algorithm based on user-to-network interface (UNI) index.
To configure ECMP flow-based forwarding on ACX Series routers, first define a load-balancing
routing policy by including one or more policy-statement configuration statements at the
[edit policy-options]
hierarchy level, with the action load-balance
per-packet
. Then apply the routing policy to routes exported from the routing table
to the forwarding table. To do this, include the forwarding-table and export configuration
statements at the [edit routing-options]
hierarchy level.
To view the details of the ECMP next hops and to obtain information for debugging any
problem with the ECMP functionality, issue the show route
or the show
route summary
command.
See hash-key (Forwarding Options) to understand the list of hash-key statements that are not supported on the ACX 7000 Series of routers.
Platform-Specific ECMP Load Balancing Behavior
Use Feature Explorer to confirm platform and release support for specific features.
Platform |
Difference |
---|---|
ACX Series |
ACX7000 Series of routers do not support ECMP load balancing for unknown unicast traffic. |