Round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.
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.
XOR policy: Transmit based on the selected transmit hash policy. The default policy is a simple [(source MAC address XOR'd with destination MAC address) modulo slave count]. Alternate transmit policies may be selected via the xmit_hash_policy option, described below. This mode provides load balancing and fault tolerance.
Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.
IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification.
Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
Adaptive load balancing: includes balance-tlb plus receive load balancing (rlb) for IPV4 traffic, and does not require any special switch support. The receive load balancing is achieved by ARP negotiation. The bonding driver intercepts the ARP Replies sent by the local system on their way out and overwrites the source hardware address with the unique hardware address of one of the slaves in the bond such that different peers use different hardware addresses for the server.
alias bond0 bonding options bonding mode=1 miimon=100
DEVICE=bond0 NETMASK=255.255.255.0 GATEWAY=192.168.19.1 BOOTPROTO=static IPADDR=192.168.19.64 HOSTNAME=goldfinger.example.net ONBOOT=yes
DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.19.64 netmask 255.255.255.0 gateway 192.168.19.1
# The loopback network interface auto lo iface lo inet loopback auto bond0 iface bond0 inet static address 192.168.19.64 netmask 255.255.255.0 gateway 192.168.19.1 slaves eth0 eth1
$ sudo ifconfig bond0 Link encap:Ethernet HWaddr 00:0c:29:28:13:3b inet addr:192.168.19.64 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe28:133b/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:38 errors:0 dropped:0 overruns:0 frame:0 TX packets:43 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:16644 (16.2 KB) TX bytes:3282 (3.2 KB) eth0 Link encap:Ethernet HWaddr 00:0c:29:28:13:3b UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:37 errors:0 dropped:0 overruns:0 frame:0 TX packets:43 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:16584 (16.1 KB) TX bytes:3282 (3.2 KB) Interrupt:17 Base address:0x1400 eth1 Link encap:Ethernet HWaddr 00:0c:29:28:13:3b UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:60 (60.0 B) TX bytes:0 (0.0 B) Interrupt:18 Base address:0x1480
Oct 04 16:43:28 goldfinger kernel: [ 2901.700054] eth0: link down Oct 04 16:43:29 goldfinger kernel: [ 2901.731190] bonding: bond0: link status definitely down for interface eth0, disabling it Oct 04 16:43:29 goldfinger kernel: [ 2901.731300] bonding: bond0: making interface eth1 the new active one.