aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking
diff options
context:
space:
mode:
authorJay Vosburgh <fubar@us.ibm.com>2007-12-07 02:40:34 -0500
committerJeff Garzik <jeff@garzik.org>2007-12-07 15:00:32 -0500
commit6f6652be183c8c7cb99c646dd7494ab45e4833ba (patch)
tree8ab3acaa0f7887aad46d0a1dd10f800312d657fa /Documentation/networking
parentb63bb739a1d24f395c09f88ff43c54c736a60453 (diff)
bonding: Add new layer2+3 hash for xor/802.3ad modes
Add new hash for balance-xor and 802.3ad modes. Originally submitted by "Glenn Griffin" <ggriffin.kernel@gmail.com>; modified by Jay Vosburgh to move setting of hash policy out of line, tweak the documentation update and add version update to 3.2.2. Glenn's original comment follows: Included is a patch for a new xmit_hash_policy for the bonding driver that selects slaves based on MAC and IP information. This is a middle ground between what currently exists in the layer2 only policy and the layer3+4 policy. This policy strives to be fully 802.3ad compliant by transmitting every packet of any particular flow over the same link. As documented the layer3+4 policy is not fully compliant for extreme cases such as ip fragmentation, so this policy is a nice compromise for environments that require full compliance but desire more than the layer2 only policy. Signed-off-by: "Glenn Griffin" <ggriffin.kernel@gmail.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/bonding.txt29
1 files changed, 27 insertions, 2 deletions
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 11340625e363..6cc30e0d5795 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -554,6 +554,30 @@ xmit_hash_policy
554 554
555 This algorithm is 802.3ad compliant. 555 This algorithm is 802.3ad compliant.
556 556
557 layer2+3
558
559 This policy uses a combination of layer2 and layer3
560 protocol information to generate the hash.
561
562 Uses XOR of hardware MAC addresses and IP addresses to
563 generate the hash. The formula is
564
565 (((source IP XOR dest IP) AND 0xffff) XOR
566 ( source MAC XOR destination MAC ))
567 modulo slave count
568
569 This algorithm will place all traffic to a particular
570 network peer on the same slave. For non-IP traffic,
571 the formula is the same as for the layer2 transmit
572 hash policy.
573
574 This policy is intended to provide a more balanced
575 distribution of traffic than layer2 alone, especially
576 in environments where a layer3 gateway device is
577 required to reach most destinations.
578
579 This algorithm is 802.3ad complient.
580
557 layer3+4 581 layer3+4
558 582
559 This policy uses upper layer protocol information, 583 This policy uses upper layer protocol information,
@@ -589,8 +613,9 @@ xmit_hash_policy
589 or may not tolerate this noncompliance. 613 or may not tolerate this noncompliance.
590 614
591 The default value is layer2. This option was added in bonding 615 The default value is layer2. This option was added in bonding
592version 2.6.3. In earlier versions of bonding, this parameter does 616 version 2.6.3. In earlier versions of bonding, this parameter
593not exist, and the layer2 policy is the only policy. 617 does not exist, and the layer2 policy is the only policy. The
618 layer2+3 value was added for bonding version 3.2.2.
594 619
595 620
5963. Configuring Bonding Devices 6213. Configuring Bonding Devices