It is noted that setting network bonding mode to balance-alb will set the xmit_hash_policy to 2.
Setting network bonding mode to 802.3ad will set the xmit_hash_policy to 1.
Customer need explanation on why the above xmit_hash_policy is set for the above bonding modes, and whether it is possible to change them.
As per the modinfo of the bonding kernel module,
parm: xmit_hash_policy:balance-xor and 802.3ad hashing method; 0 for layer 2 (default), 1 for layer 3+4, 2 for layer 2+3 (charp)
802.3ad is actually using layer 3+4 algorithm for its xmit_hash_policy.
Basically, the algorithm uses the XOR of source and destination ports and IP addresses, to decide which ethernet adapter in the bonding to be used for the network transmission.
This means that multiple streams between one single client/multiple clients IP and DR can be spread across multiple ethernet adapters in the bonding.
Note: If a single stream is used, the maximum network speed will be the maximum network speed of one single network adapter.
Please read the following Redhat KB for a detailed explanation for all xmit_hash_policy.
For balance-alb, xmit_hash_policy does not matter and will not take effect.
It is not possible to change the xmit_hash_policy from either the DR web interface or DR CLI. It will be set when the bonding mode is chosen.
The xmit_hash_policy as explained above is what we believe to be optimal for load balancing multiple clients/streams across the network adapters.