configure forwarding fabric hash

configure forwarding fabric hash [default | source-port | packet {algorithm [crc |xor] | dynamic-mode [spray | eligibility | none]}] {slot slot-number}


A 40Gb port must use multiple 20Gb HGd links to carry its traffic. In the degenerate case, a particular HGd link is always the target of the hash result. With a 40Gb link hashing into a 20Gb link, half the traffic is lost. Extreme will attempt to configure the packet hash algorithm to accommodate most common situations; however, some customers may have uncommon situations and may wish to adjust the hash. For this reason, the user will be able to specify values for some of the hash parameters in normal packet hash mode:
  • Source port hash (cannot be used when 40Gb ports are in use).

  • Packet field hash calculation algorithm (CRC or XOR).

The packet hash is configurable. A Dynamic Load Balance (DLB) algorithm allows distribution of flows to the links in the switch fabric trunk that are currently carrying the least load. DLB uses the packet field hash, but does not use the hash code that is reduced to a number modulo the number of links in the group. Instead the number used is 15 bits for a total of 32K possible hash codes. This 15-bit hash code indexes into a 32K-entry “flow table”. Each time an unused entry is allocated to one or more “micro-flows” (i.e., to flows that generate the same 15-bit hash value), a load calculation is performed and the link with the most available bandwidth is assigned to the flow table entry. DLB offers two modes:
  • Spray mode causes the link assignment to occur on every packet transmission. This is similar to a “round-robin” hash. Every packet goes to the link with the least load but ordering within flows is not guaranteed. This mode is useful for Bandwidth Management Testing (BMT).

  • Eligibility mode keeps the link fixed to the flow entry until a 32ms inactivity timeout occurs. Ordering within flows is guaranteed.

For blades that provide 10Gb ports only (and for 40Gb blades that are entirely configured for 10Gb operation), source port hashing will be used by default. While source port hashing can be used for non-blocking operation, such operation depends on the switch fabric distribution. . For example, suppose three 10Gb ports on one BDXA-10G48X card hash to the same switch fabric "channel". Also suppose that the three 10Gb ports' traffic is aggregated into the same 40Gb port on a different I/O blade. Since each switch fabric channel can only provide 20Gb of bandwidth to a single 40Gb port, then the switch fabric channel will try to send 30Gbps of Ethernet packets to the same 20Gb switch fabric link, causing congestion in the channel on the FM blade.

To avoid this situation, the user can configure DLB Eligibility mode which will cause per 10Gb Ethernet port traffic to be distributed to all switch fabric channels instead of being sent to the same channel. Use the following command: configure forwarding fabric hash [default |source-port |packet {algorithm [crc |xor] | dynamic-mode [spray | eligibility | none]}] {slot slot-number}

Syntax Description

default Resets the hashing algorithm to the default value on the specified slot or slots.
source-port Indicates that the system should distribute traffic based on the ingress port (the system controls the mapping between the ingress port and the switch fabric ingress port).
packet Indicates that packet fields are to be used to calculate a hash value that will be used to select the switch fabric port that will carry the packet. Use algorithm to select from crc or xor. Each of these is a 16-bit result. If algorithm is not specified, packet hashing occurs and is set to a default value.
dynamic-mode Dynamic Load Balancing (DLB) allows flow distribution to links within the switch fabric trunk based on the current load on the individual trunk links. DLB is configurable in one of three modes: spray, eligib ility, and none (direct packet hash without considering the load).
slot-number Selects the I/O slot to which the command is applied.


The default option resets the hashing algorithm to the default value on the specified slot or slots.

Usage Guidelines



Modify the hash algorithm only with the guidance of Extreme Networks technical personnel.

For the packet hash, the following fields are used depending on packet type:
  • IPv4 packets – IP source, IP destination, VLAN ID, source and destination L4 ports, and L3 protocol ID.

  • IPv6 packets – Collapsed IP source and destination addresses, VLAN ID, source and destination L4 ports, and L3 protocol ID. (Collapsed source and destination addresses are the 32-bit result of the exclusive OR of the bits IP[127-96], IP[95-64], IP[63-32], and IP[31-0].)

  • L2 packets – MAC source, MAC destination, Ethertype, and VLAN ID.

  • L2 MPLS – Payload MAC source, payload MAC destination, payload Ethertype, and payload outer VLAN ID.

  • L3 MPLS – Payload source and destination IPv4 or collapsed IPv6 addresses, tunnel VLAN ID, source and destination L4 ports, and L3 protocol field.

  • Non-terminated MPLS (label swapped or L2 switched on outer-most header) – RPID, labels 1, 2, and 3, and payload source and destination IPv4 or collapsed IPv6 addresses.

  • MAC-in-MAC with tunnel termination – L2 payload MAC DA, L2 payload MAC SA, L2 payload Ethertype, and L2 payload outer VLAN ID.

  • MAC-in-MAC without termination – RPID, tunnel MAC DA, tunnel MAC SA, and ISID.

  • FiberChannel over Ethernet – RPID, source ID, destination ID, originator exchange ID, responder exchange ID, fabric ID, and VLAN ID.

  • TRILL – Egress RBridge nickname, Ingress RBridge nickname, payload MAC destination (low 32-bits), payload MAC source (low 32-bits), payload Ethertype, and payload VLAN ID.


Example output not yet available and will be provided in a future release.


This command was first available in ExtremeXOS 15.1.

Platform Availability

This command variant is available only on the BlackDiamond X8 switch.