aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking/bonding.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/networking/bonding.txt')
-rw-r--r--Documentation/networking/bonding.txt30
1 files changed, 25 insertions, 5 deletions
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 6b1c7110534e..10a015c384b8 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -752,12 +752,22 @@ xmit_hash_policy
752 protocol information to generate the hash. 752 protocol information to generate the hash.
753 753
754 Uses XOR of hardware MAC addresses and IP addresses to 754 Uses XOR of hardware MAC addresses and IP addresses to
755 generate the hash. The formula is 755 generate the hash. The IPv4 formula is
756 756
757 (((source IP XOR dest IP) AND 0xffff) XOR 757 (((source IP XOR dest IP) AND 0xffff) XOR
758 ( source MAC XOR destination MAC )) 758 ( source MAC XOR destination MAC ))
759 modulo slave count 759 modulo slave count
760 760
761 The IPv6 formula is
762
763 hash = (source ip quad 2 XOR dest IP quad 2) XOR
764 (source ip quad 3 XOR dest IP quad 3) XOR
765 (source ip quad 4 XOR dest IP quad 4)
766
767 (((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash)
768 XOR (source MAC XOR destination MAC))
769 modulo slave count
770
761 This algorithm will place all traffic to a particular 771 This algorithm will place all traffic to a particular
762 network peer on the same slave. For non-IP traffic, 772 network peer on the same slave. For non-IP traffic,
763 the formula is the same as for the layer2 transmit 773 the formula is the same as for the layer2 transmit
@@ -778,19 +788,29 @@ xmit_hash_policy
778 slaves, although a single connection will not span 788 slaves, although a single connection will not span
779 multiple slaves. 789 multiple slaves.
780 790
781 The formula for unfragmented TCP and UDP packets is 791 The formula for unfragmented IPv4 TCP and UDP packets is
782 792
783 ((source port XOR dest port) XOR 793 ((source port XOR dest port) XOR
784 ((source IP XOR dest IP) AND 0xffff) 794 ((source IP XOR dest IP) AND 0xffff)
785 modulo slave count 795 modulo slave count
786 796
787 For fragmented TCP or UDP packets and all other IP 797 The formula for unfragmented IPv6 TCP and UDP packets is
788 protocol traffic, the source and destination port 798
799 hash = (source port XOR dest port) XOR
800 ((source ip quad 2 XOR dest IP quad 2) XOR
801 (source ip quad 3 XOR dest IP quad 3) XOR
802 (source ip quad 4 XOR dest IP quad 4))
803
804 ((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash)
805 modulo slave count
806
807 For fragmented TCP or UDP packets and all other IPv4 and
808 IPv6 protocol traffic, the source and destination port
789 information is omitted. For non-IP traffic, the 809 information is omitted. For non-IP traffic, the
790 formula is the same as for the layer2 transmit hash 810 formula is the same as for the layer2 transmit hash
791 policy. 811 policy.
792 812
793 This policy is intended to mimic the behavior of 813 The IPv4 policy is intended to mimic the behavior of
794 certain switches, notably Cisco switches with PFC2 as 814 certain switches, notably Cisco switches with PFC2 as
795 well as some Foundry and IBM products. 815 well as some Foundry and IBM products.
796 816