Description

This article explains the steps to apply hashing when ECMP is configured either with AE or the multi-path that is available for forwarding.

Symptoms


 

Solution

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.

Modification History

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."