[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
howtos:misc:network_interace_bonding [2018/03/08 09:43 (UTC)] – created lamerix | howtos:misc:network_interace_bonding [2018/03/08 18:15 (UTC)] (current) – small fixes lamerix | ||
---|---|---|---|
Line 37: | Line 37: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ====== Bonding modes ====== | ||
+ | |||
+ | * **mode 0 / balance-rr** - Round-robin policy: Transmit packets in sequential order from the first available slave through the, | ||
+ | * **mode 1 / active-backup** - Active-backup policy: Only one slave in the bond is active.,A different slave becomes active if, and only if, the active slave fails., The bond's MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. | ||
+ | * **mode 2 / balance-xor** - XOR policy: Transmit based on the selected transmit, | ||
+ | * **mode 3 / broadcast** - Broadcast policy: transmits everything on all slave, | ||
+ | * **mode 4 / 802.3ad** - IEEE 802.3ad Dynamic link aggregation., | ||
+ | * **mode 5 / balance-tlb** - Adaptive transmit load balancing: channel bonding that,does not require any special switch support.In tlb_dynamic_lb=1 mode; the outgoing traffic is, | ||
+ | * **mode 6 / balance-alb** - Adaptive load balancing: includes balance-tlb plus, | ||
+ | |||
+ | < | ||
+ | **mode 4 / 802.3ad** and **mode 5 / balance-tlb** have some prerequisites. Check kernel docs for more information | ||
+ | </ | ||
+ | |||
+ | ====== Balancing algorithm modes ====== | ||
+ | |||
+ | **xmit_hash_policy** option sets the balancing algorithm used. | ||
+ | |||
+ | //The default value is layer2.// | ||
+ | |||
+ | |||
+ | * **layer2** - Uses XOR of hardware MAC addresses to generate the hash. This algorithm will place all traffic to a particular network peer on the same slave. | ||
+ | * **layer2+3** - Uses XOR of hardware MAC addresses and IP addresses to generate the hash. This algorithm will place all traffic to a particular network peer on the same slave. | ||
+ | * **layer3+4** - This policy uses upper layer protocol information, | ||
+ | * **encap2+3** - This policy uses the same formula as layer2+3 but it relies on skb_flow_dissect to obtain the header fields which might result in the use of inner headers if an encapsulation protocol is used. | ||
+ | * **encap3+4** - This policy uses the same formula as layer3+4 but it relies on skb_flow_dissect to obtain the header fields which might result in the use of inner headers if an encapsulation protocol is used. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====== Alternative methods ====== | ||
+ | |||
+ | libteam provides an alternative to bonding driver. The main difference is that Team driver kernel part contains only essential code and the rest of the code (link validation, LACP implementation, | ||
+ | |||
+ | More information can be found at: [[http:// | ||
====== Sources ====== | ====== Sources ====== |