
OPERATIONAL DEFECT DATABASE
...

...
Under certain networking conditions and environments, the default algorithm may default to using a single interface.Examples:When the source MAC address is the same (aka when using a router), the MAC will always be the same and the port that is used for transmissions will always be the same.Also, under special circumstances, different MACs may also result in the same value. For example, if MACs always end in an even number (0,2,4,6,8,A,C, or E) and there are two ports in the LACP trunk or bond, calculation of the hash will direct traffic through the same port every time as well.LACP trunks or bonds are showing traffic is not balanced, using a single interface instead of all interfaces evenly.This can be confirmed on the production network (by the Network Switch SysAdmins), or by looking at the graphical network display in Unisphere under SYSTEM > Performance. NOTE: This can also be seen in 'netstat -i' output in the service shell.
LACP on the Unity uses layer2 as its default "xmit_hash_policy."Using Layer2+3 as the "xmit_hash_policy" is intended to provide a more balanced distribution of traffic than layer2 alone, especially in environments where a layer3 gateway device is required to reach most destinations.Reference: https://www.kernel.org/doc/Documentation/networking/bonding.txt Layer2 uses XOR of hardware MAC addresses and packet type ID field to generate the hash.The formula is hash = source MAC XOR destination MAC XOR packet type ID slave number = hash modulo slave count. Layer2+3 uses a combination of layer2 and layer3 protocol information to generate the hash.The hash is generated using a combination of the XOR of the hardware MAC addresses and the IP addresses.The formula is hash = source MAC XOR destination MAC XOR packet type ID hash = hash XOR source IP XOR destination IP hash = hash XOR (hash RSHIFT 16) hash = hash XOR (hash RSHIFT 8) And then hash is reduced modulo slave count. Both Layer2 and Layer2+3 are 802.3ad compliant.
For Unity OE Code 4.3 and above:Change the xmit_hash_policy with the svc_network_bond command.Dell Unity™ Family Version 4.3: Service Commands Technical Notes - page 74.Usage: svc_network_bond [-h|--help] -d <device> {-s -o <option> -v <value>} {-g [-o <option>]} The syntax would be similar to the below example: service@(none) spb:~> svc_network_bond -s -d bond23 -o xmit_hash_policy -v 2 The acceptable values for xmit_hash_policy are: 0 or layer2 Default settingThis parameter uses the XOR of hardware MAC addresses to generate the hash.1 or layer3+4 Uses upper layer protocol information (when available) to generate the hash.This allows for traffic to a particular network peer to span multiple slaves, although a single connection will not span multiple slaves.2 or layer2+3 Uses a combination of layer2 and layer3 protocol information to generate the hash - Mode 2 or Layer2+3 algorithm is 802.3ad compliant. For Unity OE Code 4.2.3.9670635 and older:Contact Dell Customer Service, and reference this KBA number.For Unity OE Code 5.3.x or higherMaking the change does not require the service shell and no reboot is required.Here is an example setting the Unity Array in our lab's xmit_hash_policy.This Unity Array is configured with an LACP trunk known as bond22.SSH in to the Unity array using the service account.First, check what its xmit_hash_policy is set to. # svc_network_bond --get --device bond22 -o xmit_hash_policy INFO: Selected device: bond22 INFO: Option to show: xmit_hash_policy INFO: Execution code: 0 xmit_hash_policy=0 # Next, set the xmit_hash_policy to 2 # svc_network_bond --set --device bond22 -o xmit_hash_policy -v 2 INFO: Selected device: bond22 INFO: Option to modify: xmit_hash_policy INFO: Requested value: 2 WARNING: Do you want to proceed? [yes/no]: yes <<<<<< sometimes y works and sometimes it fails on the first attempts. Retry then. INFO: Execution code: 0 INFO: Option 'xmit_hash_policy' has been successfully changed. # Check, if xmit_hash_policy was configured to 2 # svc_network_bond --get --device bond22 -o xmit_hash_policy INFO: Selected device: bond22 INFO: Option to show: xmit_hash_policy INFO: Execution code: 0 xmit_hash_policy=2 #
Click on a version to see all relevant bugs
Dell Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.