Network OS Administration Guide

Supporting Network OS 6.0.1a

Part Number: 53-1003768-04

Configuring fabric ECMP load balancing

Traffic towards ECMP paths are load-balanced using the following eight fields as the Key; VlanID, MAC DA/SA, L3_ULP, L3 DA/SA, L4 Dst/Src. For some pattern of streams, most of the traffic falls into one ECMP path, and rest of the ECMP paths are underutilized. This results in loss of data traffic, even though more ECMP paths are available to offload the traffic. You can configure the ECMP path selection method within the fabric by using the fabric ecmp load-balance command in RBridge ID configuration mode. The operands for this command are listed and described in the following table.

Table 18 ECMP load-balancing operands

Operand

Description

dst-mac-vid

Destination MAC address and VID-based load balancing

src-dst-ip

Source and Destination IP address-based load balancing

src-dst-ip-mac-vid

Source and Destination IP and MAC address and VID-based load balancing

src-dst-ip-mac-vid-port

Source and Destination IP, MAC address, VID and TCP/UDP port based load balancing

src-dst-ip-port

Source and Destination IP and TCP/UDP port-based load balancing

src-dst-mac-vid

Source and Destination MAC address and VID-based load balancing

src-mac-vid

Source MAC address and VID-based load balancing

Additionally, you can choose to swap adjacent bits of the hash key using the fabric ecmp load-balance-hash-swap command. This is useful in cases where a choice of any of the hash key combinations causes the distribution of traffic to not be uniform.

The fabric ecmp load-balance-hash-swap command is used to configure the swapping of the input fields before feeding them to the hash function. The integer is interpreted as a bitwise control of the 212-bit key. Each bit controls whether the two adjacent bits of the key are to be swapped. This 32-bit control value is written to all four hash swap control registers. This value is replicated in 32-bit block to form a 106-bit value. A value of 0x0 does not swap any input fields while a value of 0xffffffff swaps all 106 input bit-pairs.

NOTE
The fabric ecmp load-balance-hash-swap command is supported on the Brocade VDX 8770.

To configure the ECMP load-balancing feature, perform the following steps in global configuration mode.

  1. Enter RBridge ID configuration mode.
    switch(config)# rbridge-id 2
    switch(config-rbridge-id-2)# 
  2. Execute the fabric ecmp load-balance command for the stream you want to favor.

    This example uses the Destination MAC address and VID-based load balancing flavor.

    switch(config-rbridge-id-2)# fabric ecmp load-balance dst-mac-vid
  3. Optional: Use the fabric ecmp load-balance-hash-swap command to swap the input fields before feeding them to the hash function.
    switch(config-rbridge-id-2)# fabric ecmp load-balance-hash-swap 0x4
  4. Use the show fabric ecmp load-balance command to display the current configuration of hash field selection and hash swap.
    switch# show fabric ecmp load-balance
    Fabric Ecmp Load Balance Information
    ------------------------------------
    Rbridge-Id         : 2
    Ecmp-Load-Balance Flavor  : Destination MAC address and VID based load balancing
    Ecmp-Load-Balance HashSwap : 0x4