<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=HOWTO_BONDING</id>
	<title>HOWTO BONDING - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/index.php?action=history&amp;feed=atom&amp;title=HOWTO_BONDING"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;action=history"/>
	<updated>2026-04-13T19:30:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=173343&amp;oldid=prev</id>
		<title>Bsd: added categories</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=173343&amp;oldid=prev"/>
		<updated>2015-05-31T14:17:17Z</updated>

		<summary type="html">&lt;p&gt;added categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:17, 31 May 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l240&quot;&gt;Line 240:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 240:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Trizt|Trizt]] 13:57, 16 August 2009 (EDT)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Trizt|Trizt]] 13:57, 16 August 2009 (EDT)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Docs]][[Category:HowTo]][[Category:Devices]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Bsd</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=3506&amp;oldid=prev</id>
		<title>Jinzishuai at 20:36, 23 February 2011</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=3506&amp;oldid=prev"/>
		<updated>2011-02-23T20:36:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:36, 23 February 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l223&quot;&gt;Line 223:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 223:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This isn&amp;#039;t something you are meant to do within your KVM guests, but on the host, you can assign the bridge to the bond instead of the traditional eth0, this way you will have HA, HT or HA/HT setup.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This isn&amp;#039;t something you are meant to do within your KVM guests, but on the host, you can assign the bridge to the bond instead of the traditional eth0, this way you will have HA, HT or HA/HT setup.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==== Problem with Bridge + Bonding ====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There is a known  ARP problem for bridge on a bonded interface.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ref:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://bugzilla.redhat.com/show_bug.cgi?id=584872&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* https://lists.linux-foundation.org/pipermail/bridge/2007-April/005376.html&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Please [mailto:jinzishuai@gmail.com let me know] if you know a solution.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Read more ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Read more ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kvmwiki-kvmwiki_:diff::1.12:old-2532:rev-3506 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jinzishuai</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=2532&amp;oldid=prev</id>
		<title>Trizt: Initial description how to setup bonded network (centos example)</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=HOWTO_BONDING&amp;diff=2532&amp;oldid=prev"/>
		<updated>2009-08-16T17:57:30Z</updated>

		<summary type="html">&lt;p&gt;Initial description how to setup bonded network (centos example)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== NIC Bonding ==&lt;br /&gt;
&lt;br /&gt;
Sometimes this is called &amp;#039;&amp;#039;port trunking&amp;#039;&amp;#039; and may be called for something else too, but we will use bonding. But what is bonding? It&amp;#039;s shortly making X number of  NICs to work as one, with the purse of increasing the throughput (HT), increase the network availability (HA) or a combination of both.&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s possible to use different brands and models of NICs, in a HA setup you can have different speeds (the bond will adapt to the slowest). Even if a NIC supports jumbo frames, it may not always work well in a bond together with jumbo frames.&lt;br /&gt;
&lt;br /&gt;
Before you begin with setting up your bond, check that all of the components used in your bond are working properly, for broken hardware and bad cables will be slightly more difficult to detect when you are setting up your bond for the first time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
This example will include 3 servers, all using 3 NICs for their bond (The servers could have more NICs or/and bonds) and they have a RedHat like Linux which uses network-scripts to configure network settings.&lt;br /&gt;
&lt;br /&gt;
[[Image:bonding_example.png]]&lt;br /&gt;
&lt;br /&gt;
 - Server 1: NFS server (ip: 10.0.0.1)&lt;br /&gt;
 - Server 2: NFS client (ip: 10.0.0.2)&lt;br /&gt;
 - Server 3: NFS client (ip: 10.0.0.3)&lt;br /&gt;
&lt;br /&gt;
You have to decide if we want to use mii or arp monitoring of the &amp;quot;ports&amp;quot;, mii is done locally and won&amp;#039;t detect if something stopped to work remotely. Arp has the disadvantage that not all NIC drivers supports features needed for this to work.&lt;br /&gt;
&lt;br /&gt;
You also need to pick a mode how your bond should work, mode 0 - 3 should work with most switches, while mode 4 will require features you won&amp;#039;t find in home switches and mode 5 - 6 will require that your NICs driver has ethtool support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the &amp;#039;&amp;#039;&amp;#039;/etc/modprobe.conf&amp;#039;&amp;#039;&amp;#039; file add the following (mii):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias bond0 bonding&lt;br /&gt;
options bond0 miimon=80 mode=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the &amp;#039;&amp;#039;&amp;#039;/etc/modprobe.conf&amp;#039;&amp;#039;&amp;#039; file add the following (arp, server 1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias bond0 bonding&lt;br /&gt;
options bond0 arp_interval=80 arp_ip_target=10.0.0.2,10.0.0.3 mode=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; You must specify between 1 and 16 ip-numbers, the more ip-numbers listed in the &amp;#039;&amp;#039;&amp;#039;arp_ip_target&amp;#039;&amp;#039;&amp;#039; the less risk that the &amp;quot;port&amp;quot; will be taken down when the remote machine reboots, all addresses is separated with a comma.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create the &amp;#039;&amp;#039;&amp;#039;/etc/sysconfig/network-scripts/ifcfg-bond0&amp;#039;&amp;#039;&amp;#039; (server 1):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEVICE=bond0&lt;br /&gt;
IPADDR=10.0.0.1&lt;br /&gt;
NETMASK=255.255.255.0&lt;br /&gt;
NETWORK=10.0.0.0&lt;br /&gt;
BROADCAST=10.0.0.255&lt;br /&gt;
GATEWAY=&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=none&lt;br /&gt;
USERCTL=no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;The ifcfg-bond0 don&amp;#039;t really differ from a traditional ifcfg-eth0, and it may have gateway specified&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Change the &amp;#039;&amp;#039;&amp;#039;/etc/sysconfig/network-scripts/ifcfg-eth1&amp;#039;&amp;#039;&amp;#039; to (all servers):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEVICE=eth1&lt;br /&gt;
HWADDR=c6:73:4b:1b:ba:45&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
BOOTPROTO=none&lt;br /&gt;
USERCTL=no&lt;br /&gt;
MASTER=bond0&lt;br /&gt;
SLAVE=yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Do always specify the hardware address, or else you will never know which NIC is eth0, eht1 and so on and will cause you problems if you have more than one bond or you have an NIC not part of the bond. Do a similar modification for the eth2 and eth3&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Now you can restart the &amp;#039;&amp;#039;&amp;#039;network service&amp;#039;&amp;#039;&amp;#039; and you will have a new entry when you run ifconfig, the bond0, it will have the same MAC adress as eth1 and that applies also to eth2 and eth3. If you want to change the mode used, you need to unload the bonding module and change the setting and then load the module again, this can cause some problems if you do it remotely.&lt;br /&gt;
&lt;br /&gt;
If you decide to remove a NIC from the bond, either you take it down manually with ifconfig, or stop the network change the ifcfg-ethX file so that the NIC ain&amp;#039;t part of the bond and then start the network again, if you change the file and then restart the network, you will still have the NIC as part of the bond.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Modes ===&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s possible to assign the mode number or the mode name when selecting the mode  in the kernel module option.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;0&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;balance-rr&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                Round-robin policy: Transmit packets in sequential&lt;br /&gt;
                order from the first available slave through the&lt;br /&gt;
                last.  This mode provides load balancing and fault&lt;br /&gt;
                tolerance. (This is the default mode if no mode specified)&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;1&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;active-backup&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                Active-backup policy: Only one slave in the bond is&lt;br /&gt;
                active.  A different slave becomes active if, and only&lt;br /&gt;
                if, the active slave fails.  The bond&amp;#039;s MAC address is&lt;br /&gt;
                externally visible on only one port (network adapter)&lt;br /&gt;
                to avoid confusing the switch.&lt;br /&gt;
&lt;br /&gt;
                In bonding version 2.6.2 or later, when a failover&lt;br /&gt;
                occurs in active-backup mode, bonding will issue one&lt;br /&gt;
                or more gratuitous ARPs on the newly active slave.&lt;br /&gt;
                One gratutious ARP is issued for the bonding master&lt;br /&gt;
                interface and each VLAN interfaces configured above&lt;br /&gt;
                it, provided that the interface has at least one IP&lt;br /&gt;
                address configured.  Gratuitous ARPs issued for VLAN&lt;br /&gt;
                interfaces are tagged with the appropriate VLAN id.&lt;br /&gt;
&lt;br /&gt;
                This mode provides fault tolerance.  The primary&lt;br /&gt;
                option, documented below, affects the behavior of this&lt;br /&gt;
                mode.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;2&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;balance-xor&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
                XOR policy: Transmit based on the selected transmit&lt;br /&gt;
                hash policy.  The default policy is a simple [(source&lt;br /&gt;
                MAC address XOR&amp;#039;d with destination MAC address) modulo&lt;br /&gt;
                slave count].  Alternate transmit policies may be&lt;br /&gt;
                selected via the xmit_hash_policy option, described&lt;br /&gt;
                below.&lt;br /&gt;
&lt;br /&gt;
                This mode provides load balancing and fault tolerance.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;3&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;broadcast&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                Broadcast policy: transmits everything on all slave&lt;br /&gt;
                interfaces.  This mode provides fault tolerance.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;4&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;802.3ad&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                IEEE 802.3ad Dynamic link aggregation.  Creates&lt;br /&gt;
                aggregation groups that share the same speed and&lt;br /&gt;
                duplex settings.  Utilizes all slaves in the active&lt;br /&gt;
                aggregator according to the 802.3ad specification.&lt;br /&gt;
&lt;br /&gt;
                Slave selection for outgoing traffic is done according&lt;br /&gt;
                to the transmit hash policy, which may be changed from&lt;br /&gt;
                the default simple XOR policy via the xmit_hash_policy&lt;br /&gt;
                option, documented below.  Note that not all transmit&lt;br /&gt;
                policies may be 802.3ad compliant, particularly in&lt;br /&gt;
                regards to the packet mis-ordering requirements of&lt;br /&gt;
                section 43.2.4 of the 802.3ad standard.  Differing&lt;br /&gt;
                peer implementations will have varying tolerances for&lt;br /&gt;
                noncompliance.&lt;br /&gt;
&lt;br /&gt;
                Prerequisites:&lt;br /&gt;
&lt;br /&gt;
                1. Ethtool support in the base drivers for retrieving&lt;br /&gt;
                the speed and duplex of each slave.&lt;br /&gt;
&lt;br /&gt;
                2. A switch that supports IEEE 802.3ad Dynamic link&lt;br /&gt;
                aggregation.&lt;br /&gt;
&lt;br /&gt;
                Most switches will require some type of configuration&lt;br /&gt;
                to enable 802.3ad mode.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;5&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;balance-tlb&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                Adaptive transmit load balancing: channel bonding that&lt;br /&gt;
                does not require any special switch support.  The&lt;br /&gt;
                outgoing traffic is distributed according to the&lt;br /&gt;
                current load (computed relative to the speed) on each&lt;br /&gt;
                slave.  Incoming traffic is received by the current&lt;br /&gt;
                slave.  If the receiving slave fails, another slave&lt;br /&gt;
                takes over the MAC address of the failed receiving&lt;br /&gt;
                slave.&lt;br /&gt;
&lt;br /&gt;
                Prerequisite:&lt;br /&gt;
&lt;br /&gt;
                Ethtool support in the base drivers for retrieving the&lt;br /&gt;
                speed of each slave.&lt;br /&gt;
&lt;br /&gt;
        &amp;#039;&amp;#039;&amp;#039;6&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;balance-alb&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
                Adaptive load balancing: includes balance-tlb plus&lt;br /&gt;
                receive load balancing (rlb) for IPV4 traffic, and&lt;br /&gt;
                does not require any special switch support.  The&lt;br /&gt;
                receive load balancing is achieved by ARP negotiation.&lt;br /&gt;
                The bonding driver intercepts the ARP Replies sent by&lt;br /&gt;
                the local system on their way out and overwrites the&lt;br /&gt;
                source hardware address with the unique hardware&lt;br /&gt;
                address of one of the slaves in the bond such that&lt;br /&gt;
                different peers use different hardware addresses for&lt;br /&gt;
                the server.&lt;br /&gt;
&lt;br /&gt;
                Receive traffic from connections created by the server&lt;br /&gt;
                is also balanced.  When the local system sends an ARP&lt;br /&gt;
                Request the bonding driver copies and saves the peer&amp;#039;s&lt;br /&gt;
                IP information from the ARP packet.  When the ARP&lt;br /&gt;
                Reply arrives from the peer, its hardware address is&lt;br /&gt;
                retrieved and the bonding driver initiates an ARP&lt;br /&gt;
                reply to this peer assigning it to one of the slaves&lt;br /&gt;
                in the bond.  A problematic outcome of using ARP&lt;br /&gt;
                negotiation for balancing is that each time that an&lt;br /&gt;
                ARP request is broadcast it uses the hardware address&lt;br /&gt;
                of the bond.  Hence, peers learn the hardware address&lt;br /&gt;
                of the bond and the balancing of receive traffic&lt;br /&gt;
                collapses to the current slave.  This is handled by&lt;br /&gt;
                sending updates (ARP Replies) to all the peers with&lt;br /&gt;
                their individually assigned hardware address such that&lt;br /&gt;
                the traffic is redistributed.  Receive traffic is also&lt;br /&gt;
                redistributed when a new slave is added to the bond&lt;br /&gt;
                and when an inactive slave is re-activated.  The&lt;br /&gt;
                receive load is distributed sequentially (round robin)&lt;br /&gt;
                among the group of highest speed slaves in the bond.&lt;br /&gt;
&lt;br /&gt;
                When a link is reconnected or a new slave joins the&lt;br /&gt;
                bond the receive traffic is redistributed among all&lt;br /&gt;
                active slaves in the bond by initiating ARP Replies&lt;br /&gt;
                with the selected mac address to each of the&lt;br /&gt;
                clients. The updelay parameter (detailed below) must&lt;br /&gt;
                be set to a value equal or greater than the switch&amp;#039;s&lt;br /&gt;
                forwarding delay so that the ARP Replies sent to the&lt;br /&gt;
                peers will not be blocked by the switch.&lt;br /&gt;
&lt;br /&gt;
                Prerequisites:&lt;br /&gt;
&lt;br /&gt;
                1. Ethtool support in the base drivers for retrieving&lt;br /&gt;
                the speed of each slave.&lt;br /&gt;
&lt;br /&gt;
                2. Base driver support for setting the hardware&lt;br /&gt;
                address of a device while it is open.  This is&lt;br /&gt;
                required so that there will always be one slave in the&lt;br /&gt;
                team using the bond hardware address (the&lt;br /&gt;
                curr_active_slave) while having a unique hardware&lt;br /&gt;
                address for each slave in the bond.  If the&lt;br /&gt;
                curr_active_slave fails its hardware address is&lt;br /&gt;
                swapped with the new curr_active_slave that was&lt;br /&gt;
                chosen.&lt;br /&gt;
&lt;br /&gt;
=== Use together with KVM ===&lt;br /&gt;
&lt;br /&gt;
This isn&amp;#039;t something you are meant to do within your KVM guests, but on the host, you can assign the bridge to the bond instead of the traditional eth0, this way you will have HA, HT or HA/HT setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Read more ===&lt;br /&gt;
&lt;br /&gt;
Here are some useful external links how to setup your bond for other Linux distributions and of course the more in detail &amp;#039;&amp;#039;Linux Ethernet Bonding Driver HOWTO&amp;#039;&amp;#039;, where you can read a bit of different examples of how to build your network with one switch (single point of failure).&lt;br /&gt;
&lt;br /&gt;
 - [http://www.cyberciti.biz/howto/question/static/linux-ethernet-bonding-driver-howto.php Linux Ethernet Bonding Driver HOWTO]&lt;br /&gt;
 - [http://www.gentoo-wiki.info/HOWTO_Setup_Bonded_ethernet_adapters Gentoo bonding HOWTO]&lt;br /&gt;
 - [http://www.howtoforge.com/network_bonding_ubuntu_6.10 Ubuntu 6 Bonding]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Trizt|Trizt]] 13:57, 16 August 2009 (EDT)&lt;/div&gt;</summary>
		<author><name>Trizt</name></author>
	</entry>
</feed>