configure iproute sharing hash-method custom

configure iproute sharing hash-method custom {hash-algorithm [xor | crc-16 | crc-32 [lower | upper]]}


This command configures the new “custom” hash method, and optionally, to set the hash algorithm for IPv4 and IPv6 ECMP.

For information about configuring the "default" hash method, see the command configure iproute sharing hash-algorithm crc.

Syntax Description

hash-method Configures hardware forwarding hash method used to select among ECMP gateways for an IPv4 or IPv6 destination.
custom Alternate method for ECMP hardware hash calculation, which may improve distribution.
hash-algorithm Configures custom hardware forwarding hash algorithm used to select among ECMP gateways for an IPv4 or IPv6 destination.
xor Use exclusive-OR for ECMP hash computation.
crc-16 Use CRC-16 for ECMP hash computation.
crc-32 Use CRC-32 for ECMP hash computation (default for custom hash-method).
lower Lower bits of CRC32 hash calculation (default for custom hash-method).
upper Upper bits of CRC32 hash calculation.


If the “custom” hash-method is specified without a hash-algorithm, the default hash-algorithm is crc32 lower.

Usage Guidelines

The “custom” hash method already supported for address-based port load sharing can now be used to distribute IP packets among multiple equal-cost IP gateways. The custom hash algorithm for ECMP can be configured independently from the hash algorithm for port load sharing (“link aggregation” or “LAG”).

The configured custom hash algorithm for IP ECMP is independent from the custom hash algorithm for port load sharing. This prevents undesirable hash polarization when the custom hash method is used concurrently for both ECMP and port load sharing. With separate hash algorithm controls, a given packet can choose 1 out of 'N' active ECMP gateways, and independently choose a different 1 out of 'N' active links in a port load share group used to reach the selected ECMP gateway.

To control whether Layer 4 port numbers, as well as source and/or destination IP address, are part of the hash calculation for both ECMP and port load sharing, use the following command: configure sharing address-based custom ipv4 [L3-and-L4 | source-only | destination-only | source-and-destination]

IPv6 ECMP hash field criteria for “custom” is always L3-and-L4. With the custom hash method, the IPv6 Flow Label value in IPv6 packets is included in the hash calculation. The default hash method is incapable of including the IPv6 Flow Label value.


The following example sets the custom hash method to use exclusive-OR for ECMP hash computation:

# configure iproute sharing hash-method custom hash-algorithm xor


This command was first available in ExtremeXOS 22.1.

Platform Availability

This command is available on ExtremeSwitching X450-G2, X460-G2, X670-G2,X465, X870 series switches as standalone or in stacks.