diff options
Diffstat (limited to 'Documentation/networking/bonding.txt')
-rw-r--r-- | Documentation/networking/bonding.txt | 30 |
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 | ||