This article explains the steps to apply hashing when ECMP is configured either with AE or the multi-path that is available for forwarding.
ACX Series routers can load-balance on a per-packet basis with AE, multi-path links, and also in MPLS environments.
To enable load-balancing, you need to configure the load-balancing policy as shown below:
set policy-options policy-statement pplb then load-balance per-packet
Apply this policy to routing-options:
set routing-options forwarding-table export pplb
You must apply an applicable hashing option for better and optimal results of the load-balancing feature.
set forwarding-options hash-key family inet layer-3 set forwarding-options hash-key family inet layer-4 set forwarding-options hash-key family mpls all-labels set forwarding-options hash-key family mpls payload ether-pseudowire set forwarding-options hash-key family mpls payload ip layer-3-only set forwarding-options hash-key family multiservice source-mac set forwarding-options hash-key family multiservice destination-mac
When the required options are configured, you can verify the hashing options enabled on packet-forwarding in the hardware. In the following command, look for enabled/disable feature in accordance to the CLI configuration.
user@host> request pfe execute command "show evo-pfemand hashkey" target fpc0 SENT: Ukern command: show evo-pfemand hashkey Multiservice: ------------- _hashL2Fields:0x10fc0000 srcMac:enabled dstMac:enabled Inet: ------ _hashInetFields:0x10000f70 isLayer3:enabled isLayer4:enabled Inet6: ------ _hashInet6Fields:0x0 isLayer3:disabled isLayer4:disabled
Mpls: ----- _hashMplsFields:0x90000f10 isLabel:enabled isIpPayload:enabled isEtherPayload:enabled isZeroCW:disabled labroot@host>
Note
There is no default hashing. If the configurations are not added via CLI, then the traffic will take one of the links.
It is recommended that you enable the hashing option for all the families that can be encapsulated in the packet. Even if both the ingress and egress interfaces are Layer 2 interfaces but the traffic that is being flowing in the L2 encapsulated frames is IP (or inet) traffic, then ACX will do better hashing if the hash-key is configured for “family inet layer-3”. ACX does evaluate the inner headers if present.
So, while configuring the hashing, one should always consider the type of traffic that will be forwarded on the links to get optimized hashing result.
version 0.1x
2024-09-25: Added a note about "there being no default hashing. If the configurations are not added via CLI, then the traffic will take one of the links."