Users Guide

Packet Header parameters for the rst portion of the RTAG7 hash can be controlled. By default, all the listed parameters from
the Packet header are considered for hash computation. Few parameters [on demand] can be removed using the given CLIs.
Dell(conf)#load-balance ?
flexhash Enable flexhash based on IP Protocol
ingress-port Option to Source Port Id for ECMP/LAG hashing
ip-selection Set the IPV4 key fields to use in hash computation(default =
source-ip dest-ip vlan protocol L4-source-port L4-dest-port)
ipv6-selection Set the IPV6 key fields to use in hash computation(default =
source-ipv6 dest-ipv6 vlan protocol L4-source-port L4-dest-port)
mac Set the mac key fields to use in hash computation(default =
source-mac dest-mac vlan ethertype)
tcp-udp Option to use TCP/UDP ports in packet for ECMP/LAG hashing
tunnel Set the tunnel key fields to use in hash computation(default =
Hash-computation based on Inner Header)]
The second portion comes from static physical conguration such as ingress and egress port numbers.
RTAG7 hashing also provides options to select between multiple hash algorithms that would result in balanced trac distribution
for various trac patterns.
Dell(conf)#hash-algorithm ecmp ?
crc16 CRC16_BISYNC - 16 bit CRC16-bisync polynomial
crc16cc CRC16_CCITT - 16 bit CRC16 using CRC16-CCITT polynomial
crc32LSB CRC32_LOWER - LSB 16 bits of computed CRC32
crc32MSB CRC32_UPPER - MSB 16 bits of computed CRC32(default)
crc-upper Use Upper 32 bits of key for hash computation
flow-based-hashing Enable flow based hashing
dest-ip Use Destination IP for ECMP hashing
lsb Always return the LSB of the key as the hash
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
bits of xor4
xor8 CRC16_BISYNC_AND_XOR8 - Upper 8 bits of CRC16-BISYNC and lower 8
bits of xor8
xor16 CR16 - 16 bit XOR]
Flow-based Hashing for ECMP
Flow-based hashing is one of RTAG7 hashing techniques to cater to ECMP routing in multi-tier networks. It addresses trac
polarization issues by ensuring proper ow distribution between ECMP members in the higher layers of a multi-tier network. It
facilitates a dynamic hash function selection across dierent nodes in the network on a macro ow basis, by reducing route
starvation and the unfair distribution of bandwidth between members.
Polarization
Multipath routing is a method that is often used to address data forwarding issues during network failures so that the network trac
reaches its desired destination. Multipath routing in IP networks is typically implemented using Equal-Cost Multipath (ECMP)
routing, which employs load balancing algorithms to distribute the trac over multiple paths towards its destination. In a multi-tier
network where load balancing is performed at each tier, static hash algorithms polarize the trac where load balancing is ineective
in the higher tiers. The polarization eect is exaggerated if all the nodes in the network have to choose from the same set of ECMP
paths. Trac polarization results in packet reordering and route apping. The following gure explains the trac polarization eect.
Router B performs the same hash as router A and all the trac goes through the same path to router D, while no trac is redirected
to router E. The following gure explains the trac polarization eect:
Equal Cost Multi-Path (ECMP)
301