Install Guide

Table Of Contents
Figure 37. Before Polarization Effect
Router B performs the same hash as router A and all the traffic goes through the same path to router D, while no traffic is
redirected to router E.
Some of the anti-polarization techniques used generally to mitigate unequal traffic distribution in LAG/ECMP as follows:
1. Configuring different hash-seed values at each node - Hash seed is the primary parameter in hash computations that
determine distribution of traffic among the ECMP paths. The ECMP path can be configured different in each of the nodes
hash-algorithm seed-value would result in better traffic distribution for a given flow, by reducing Polarization effect.
2. Configuring Ingress port as an additional load-balancing parameters [using load-balance ingress-port enable] would reduce
the polarization effect.
3. Configuring different load-balancing parameters at each tier. In Router A, the hash fields for load balancing could be
source-ip, dest-ip, vlan, protocol, L4-source-port and L4-dest-port, whereas on Router B, the hash fields use only source-ip,
dest-ip, and protocol
4. Configuring different hash algorithms at different tiers. For example, Router A could use crc16 as the hash algorithm while
router B can use XOR16 as the hash algorithm.
Configuration and Benefits
The preceding anti-polarization techniques require some coordinated configuration of network nodes to solve the problem and
these techniques are not scalable when the number of tiers in the network is high. Flow based hashing specifically addresses
this using Macro flow-based Hash function. It facilitates a dynamic hash function selection across different nodes in a network
on a macro flow basis, thus reducing unfair distribution of bandwidth between members and starvation.
Selection of Algorithms is available under flow-based-hashing enabling another level of randomness in hash selection. CLI to
enable flow-based hashing is shown in the given example:
Dell_GW1(conf)#hash-algorithm ecmp flow-based-hashing ?
crc16 CRC16_BISYNC - 16 bit CRC16-bisync polynomial(default)
crc16cc CRC16_CCITT - 16 bit CRC16 using CRC16-CCITT polynomial
crc32MSB CRC32_UPPER - MSB 16 bits of computed CRC32
crc32LSB CRC32_LOWER - LSB 16 bits of computed CRC32
xor1 CRC16_BISYNC_AND_XOR1 - Upper 8 bits of CRC16-BISYNC and lower 8
bits of xor1
xor2 CRC16_BISYNC_AND_XOR2 - Upper 8 bits of CRC16-BISYNC and lower 8
bits of xor2
xor4 CRC16_BISYNC_AND_XOR4 - Upper 8 bits of CRC16-BISYNC and lower 8
318
Equal Cost Multi-Path (ECMP)