diff options
author | Jay Vosburgh <fubar@us.ibm.com> | 2007-12-07 02:40:34 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-12-07 15:00:32 -0500 |
commit | 6f6652be183c8c7cb99c646dd7494ab45e4833ba (patch) | |
tree | 8ab3acaa0f7887aad46d0a1dd10f800312d657fa /include/linux | |
parent | b63bb739a1d24f395c09f88ff43c54c736a60453 (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 'include/linux')
-rw-r--r-- | include/linux/if_bonding.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/if_bonding.h b/include/linux/if_bonding.h index 84598fa2e9de..65c2d247068b 100644 --- a/include/linux/if_bonding.h +++ b/include/linux/if_bonding.h | |||
@@ -85,7 +85,8 @@ | |||
85 | 85 | ||
86 | /* hashing types */ | 86 | /* hashing types */ |
87 | #define BOND_XMIT_POLICY_LAYER2 0 /* layer 2 (MAC only), default */ | 87 | #define BOND_XMIT_POLICY_LAYER2 0 /* layer 2 (MAC only), default */ |
88 | #define BOND_XMIT_POLICY_LAYER34 1 /* layer 3+4 (IP ^ MAC) */ | 88 | #define BOND_XMIT_POLICY_LAYER34 1 /* layer 3+4 (IP ^ (TCP || UDP)) */ |
89 | #define BOND_XMIT_POLICY_LAYER23 2 /* layer 2+3 (IP ^ MAC) */ | ||
89 | 90 | ||
90 | typedef struct ifbond { | 91 | typedef struct ifbond { |
91 | __s32 bond_mode; | 92 | __s32 bond_mode; |